Matter documentation lives here:
See CONTRIBUTING.md for general information on contributing to this project.
Place all documentation contributions in the appropriate location in the
/docs directory. Most contributions should go into the
/docs/guides subdirectory, which covers conceptual and usage content.
Current documentation structure:
|Custom GitHub actions|
|Conceptual or usage content that doesn't fit within a subdirectory, and high-level tutorials|
|All images included in guide content|
|Content describing or illustrating use of Matter profiles|
|Content related to testing Matter|
|Content describing or illustrating use of Matter tools|
|Matter Primer content|
|PDF presentations on Matter features|
|PDFs of Matter specifications|
|Top-level Matter images, such as logos|
If you are unsure of the best location for your contribution, create an Issue and ask, or let us know in your Pull Request.
Style to come
For consistency, all document links should point to the content on GitHub.
The text of a link should be descriptive, so it's clear what the link is for:
For more information, see the Matter Style Guide.
Use standard Markdown when authoring Matter documentation. While HTML may be used for more complex content such as tables, use Markdown as much as possible.
Note: Edit this file to see the Markdown behind the examples.
The document title should be an h1 header (#) and in title case (all words are capitalized). All section headers should be h2 (##) or lower and in sentence case (only the first word and proper nouns are capitalized).
The best practice for document clarity is to not go lower than h3, but h4 is fine on occasion. Try to avoid using h4 often, or going lower than h4. If this happens, the document should be reorganized or broken up to ensure it stays at h3 with the occasional h4.
Feel free to use either
% to preface command line examples, but be consistent within the same doc or set of docs:
$ git clone https://github.com/project-chip/connectedhomeip.git % git clone https://github.com/project-chip/connectedhomeip.git
If you need to use a full terminal prompt with username and hostname, use the format of
For example, when logged into a Docker container, you might have a prompt like this:
All example commands and output should be in code blocks with backticks:
code in backticks
...unless the code is within a step list. In a step list, indent the code blocks:
When writing procedures that feature code blocks, indent the content for the code blocks:
$ git clone https://github.com/project-chip/connectedhomeip.git $ cd connectedhomeip
Step two, do something else:
For clarity in instructions, avoid putting additional step commands after a code sample within a step item. Instead rewrite the instruction so this is not necessary.
For example, avoid this:
Step three, do this now:
And then you will see that thing.
Instead, do this:
Step three, do this now, and you will see that thing:
Use backticks for
inline code. This includes file paths and file or binary names.
CHIP in comments, as it is an acronym.