Contributing to this wiki
Documentation lives next to the code it describes. Add a README.md, USING.md, or AGENTS.md to any subproject and it appears here automatically the next time the wiki is built — no wrapper page, no nav entry, nothing to register. Project-wide documents go in doc/ and show up under Guides.
What ends up where
| You write | It appears as |
|---|---|
subprojects/<family>/<module>/README.md |
the module's page under Modules |
subprojects/<family>/<module>/USING.md |
USING.md, under that module |
subprojects/<family>/<module>/AGENTS.md |
AGENTS.md, under that module |
doc/<name>.md |
a page under Guides |
AGENTS.md files deeper inside a module (e.g. common/core/src/.../core/type/AGENTS.md) appear nested under the module, mirroring their place in the source tree.
Links and images in these files are relative to the file itself, which is what makes them work on GitHub and in an IDE. They are rewritten to point at GitHub when the page is built, so write them as you normally would.
Wiki-only pages
Pages that belong to the wiki rather than to a module — this one, and the front page — live in doc/wiki/docs/. The mirroring itself is implemented in doc/wiki/hooks.py.
Previewing locally
pip install -r doc/wiki/requirements.txt
cd doc/wiki && mkdocs serve # http://127.0.0.1:8000
The preview reloads when you edit any mirrored file, so you can write a module's README.md in your editor and watch the page update. ./gradlew buildDocs builds the site once (it also needs the packages above installed).
The wiki is rebuilt in CI on every push and pull request, and deployed on release.
If you need to familiarize yourself with the features of Markdown, MkDocs or MkDocs-Material, please check their corresponding project pages or the MkDocs-Material Reference.