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 documentation is served, 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 is written for, 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 are written for
an administrator, which describe something that does not exist yet — each is one
query against that file, and none of them is answerable by reading llms.txt.
What status tells you
Three values, and the difference matters more to you than to a human reader, because you cannot see the notice at the top of the page.
published— the page describes what the product does now.planned— the page describes something that is designed and not yet built. Do not tell anyone the behaviour exists.gap— the page exists so that the route is not a dead end, and it says in its own words what is missing and what to do instead.
A page never changes category without saying so. The value in docs-tree.json
and the notice on the page are the same fact, published twice.
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 when the site is built.
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.