The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.


Documentation should be as important to a developer as all other facets of development. Or as Atlassian states it: Documentation should be your best friend. Therefore it is recommended to embrace this attitute going forward.

This document should help you with the basics and guidelines of documentation for this project. For the developer documentation please check out the section about the devdocs.


You may always consider using online guides like or (besides GitHub Flavored Markdown for the latter which only works on of course).


All Markdown files MUST have .md file extension.

All Markdown files MUST use the Unix LF (linefeed) line ending only.

All Markdown files SHOULD end with a non-blank line, terminated with a single LF.

All Markdown files SHOULD be linted. (See Linting)

All Markdown files SHOULD contain a table of contents. (For auto generation check out the editing recommendations.)


See the general rules of markdownlint. Custom rules are applied using a config file with the name .markdownlint.json.

Using Docker

Use scripts/lint-markdown.

Editor Extensions

Please see the related to markdownlint section.