--- description: Learn the how to correctly structure GitLab documentation. --- # Documentation structure For consistency throughout the documentation, it's important to maintain the same structure among the docs. Before getting started, read through the following docs: - [Contributing to GitLab documentation](index.md#contributing-to-docs) - [Merge requests for GitLab documentation](index.md#merge-requests-for-gitlab-documentation) - [Branch naming for docs-only changes](index.md#branch-naming) - [Documentation directory structure](index.md#documentation-directory-structure) - [Documentation style guidelines](styleguide.md) - [Documentation workflow](workflow.md) ## Documentation blurb Every document should include the following content in the following sequence: - **Feature name**: defines an intuitive name for the feature that clearly states what it is and is consistent with any relevant UI text. - **Feature overview** and description: describe what it is, what it does, and in what context it should be used. - **Use cases**: describes real use case scenarios for that feature. - **Requirements**: describes what software and/or configuration is required to be able to use the feature and, if applicable, prerequisite knowledge for being able to follow/implement the tutorial. For example, familiarity with GitLab CI/CD, an account on a third-party service, dependencies installed, etc. Link each one to its most relevant resource; i.e., where the reader can go to begin to fullfil that requirement. (Another doc page, a third party application's site, etc.) - **Instructions**: clearly describes the steps to use the feature, leaving no gaps. - **Troubleshooting** guide (recommended but not required): if you know beforehand what issues one might have when setting it up, or when something is changed, or on upgrading, it's important to describe those too. Think of things that may go wrong and include them in the docs. This is important to minimize requests for support, and to avoid doc comments with questions that you know someone might ask. Answering them beforehand only makes your document better and more approachable. For additional details, see the subsections below, as well as the [Documentation template for new docs](#Documentation-template-for-new-docs). ### Feature overview and use cases Every major feature (regardless if present in GitLab Community or Enterprise editions) should present, at the beginning of the document, two main sections: **overview** and **use cases**. Every GitLab EE-only feature should also contain these sections. **Overview**: as the name suggests, the goal here is to provide an overview of the feature. Describe what is it, what it does, why it is important/cool/nice-to-have, what problem it solves, and what you can do with this feature that you couldn't do before. **Use cases**: provide at least two, ideally three, use cases for every major feature. You should answer this question: what can you do with this feature/change? Use cases are examples of how this feature or change can be used in real life. Examples: - CE and EE: [Issues](../user/project/issues/index.md#use-cases) - CE and EE: [Merge Requests](../user/project/merge_requests/index.md#overview) - EE-only: [Geo](https://docs.gitlab.com/ee/gitlab-geo/README.html#overview) - EE-only: [Jenkins integration](https://docs.gitlab.com/ee/integration/jenkins.md#overview) Note that if you don't have anything to add between the doc title (`