Reading these docs as an agent
The entry point for an agent reading this documentation: the complete route index, the Markdown twin of every page, and the tree as queryable data.
You are reading the page written for a program rather than a person. Everything here is a fact about how this site serves documentation, so that an agent fetching it does not have to guess.
| Path | Format | What it is |
|---|---|---|
/docs/llms.txt | Text | Every route, with its title and summary. Never cut |
/docs/<route>.md | Markdown | The same page as the HTML, shortcodes rendered |
/docs/docs-tree.json | JSON | The route tree with a field set per route |
/llms.txt | Text | The same file as /docs/llms.txt, at the root |
Start with the index, not with this page
/docs/llms.txt is the complete list of routes on this site, in the order the
navigation shows them, each with its title and its one-sentence summary. It is
never truncated. If a route exists, it is in that file, and if it is not in that
file, it does not exist.
Fetch the index before you follow any link from any page. A page tells you what it is about. Only the index tells you what else there is.
Every page has a Markdown twin
Append .md to any documentation route and you get the same page as flattened
Markdown, with the shortcodes already rendered to their text. The HTML at
/docs/concepts/agents-are-teammates and the Markdown at
/docs/concepts/agents-are-teammates.md carry the same words.
Every page also declares the twin in its <head>:
<link rel="alternate" type="text/markdown" href="/docs/…/index.md" />So you can discover the twin from the HTML rather than assuming the convention holds. It does hold, on every route, but a declared link survives a change of convention and an assumption does not.
The tree as data
/docs/docs-tree.json is the whole route tree as JSON. Each route carries its
doctype, its genre where it has one, the role the page addresses, its
status, its summary and the date a human last read it end to end.
Reach for it when you want one field across the whole tree rather than the prose
of one page. Which pages are reference rather than how-to, which address
an administrator, which record a pending human review — each is one
query against that file, and none of them is answerable by reading llms.txt.
Publication and review state
docs-tree.json lists published routes. The Markdown twin and index use the
same published set. Unpublished plans and gap records stay out of these files.
A published page can describe supported controls and explain unavailable variants. Read those limits before proposing a workflow.
The reviewed value is a human review date, or JSON null when human review
is pending. A null value does not mean that the site hides the page or that its
subject has no implementation. The Markdown header says pending human
review for that state. Automated checks do not create a human review date.
What is not here
There is no hosted search endpoint, no retrieval API and no documentation MCP server. The three files above are the whole machine-facing surface, and they are static: the same bytes for every reader, regenerated with each site build.
If you need to search rather than to fetch, the site’s own search page at
/docs/search/ runs entirely in the browser against an index built at deploy
time. There is no query API behind it.