This document describes the structure & format rules for Markdown documents within this project.
Yes, this is a meta doc about docs — Yo Dawg.
- h1 reserved for doc title — every doc begins with a single
# Titleon line 1. No other h1s appear anywhere in the document. - Intro paragraph follows the h1 — a brief sentence or two describing what the document covers. No blank line between the h1 and the intro paragraph.
- Glossary note follows the intro — where applicable, add a blockquote after
the intro paragraph:
> Check the [Glossary] for key terms such as _X_, _Y_, et cetera. - Footer — every doc ends with:
- two blank lines
- a 72-dash hr
_End of <title>_where<title>is exactly the h1 text (except READMEs)
- h2s are the primary section headings; they are not numbered (no
1),2), etc.). - No explicit "Purpose" heading — fold purpose/intro text into the opening paragraph under the h1.
- No blank line under any heading — the first content line follows immediately.
- Use exactly 72 dashes:
------------------------------------------------------------------------ - Never use short
---rules. - hrs appear only in two places:
- Directly above an h2.
- In the footer (above
_End of ..._).
- No blank line between an hr and the heading or footer text below it.
- Use
*asterisks*for italics, not_underscores_. - Use
*for unordered list items, not-. - Backtick file names, paths, class names, method names, constants, and other
code references (e.g.,
EnvelopeMeta,services/state/,trace_id). - Trail directory references with
/(e.g.,services/,docs/). - Italicize defined Glossary terms on at least first/significant use in a document (e.g., Service, Resource, Tier).
- Use inline link syntax
[text](target). Unfortunately, Obsidian does not correctly navigate reference-style links to internal documents. - Use reference-style links for external references (e.g.
[text]inline, with an alphabetized collection of[text]: uri
- Generated documentation (e.g.
docs/glossary.md, managed bymake docs) should also adhere to these rules.
- Component-local README structure and content rules are defined in Component README Guide.
- Use that guide for all files named
README.mdunderservices/,resources/, andactors/.
- The primary Brain project
README.mdusesBrainas it's h1, which doesn't match the end-of-doc markerEnd of README - Individual Component READMEs use
End of <name> READMEas their end-of-doc marker.
End of Documentation Conventions