# Contributing to Consul See [our contributing guide](../.github/CONTRIBUTING.md) to get started. This directory contains documentation intended for anyone interested in understanding, and contributing changes to, the Consul codebase. ## Overview This documentation is organized into the following categories. Each category is either a significant architectural layer, or major functional area of Consul. These documents assume a basic understanding of Consul's feature set, which can found in the public [user documentation]. [user documentation]: https://www.consul.io/docs ![Overview](./overview.svg) [source](./overview.mmd) ## Contents 1. [Overview](./INTERNALS.md) 1. [Command-Line Interface (CLI)](./cli) 1. [HTTP API](./http-api) 1. [Agent Configuration](./config) 1. [RPC](./rpc) 1. [Cluster Persistence](./persistence) 1. [Client Agent](./client-agent) 1. [Service Discovery](./service-discovery) 1. [Service Mesh (Connect)](./service-mesh) 1. [Cluster Membership](./cluster-membership) 1. [Key/Value Store](./kv) 1. [ACL](./acl) 1. [Multi-Cluster Federation](./cluster-federation) Also see the [FAQ](./faq.md).