Nimbus serves documentation through endpoints that AI tools can read without parsing the HTML site.
What ships
- Alternate Markdown/MDX versions for every discoverable page —
/<slug>/index.mdcontains clean Markdown with components converted to text, while/<slug>/index.mdxretains imports, JSX, and directives. Nimbus resolves links and reusable snippets during the build. The.mdversion links to its.mdxsource. API reference pages have only the.mdversion. Hidden versions do not emit either file. - A site
llms.txtindex — names top-level pages and section indexes of the current docs. Each section index links its discoverable pages to their alternate Markdown versions. Older docs versions aren’t listed; each has its own index at/<version>/llms.txt. llms-full.txt— combines discoverable pages into one Markdown document, excluding non-current prose versions. AI tools and indexing systems can fetch the current site in one request. Nimbus generates it during the build so rebuilds are byte-identical.- Per-section indexes at
/<section>/llms.txt— each top-level group and collection (e.g. ablogor a docs version) gets its own index. - Version labels — on versioned sites, every alternate Markdown version’s frontmatter carries a
version:key (resolved from yourversionsmanifest) so agents can pin a version. Unversioned sites emit nothing. - JSON-LD in every page head — structured data so search and agent tools recognize what they’re looking at.
/robots.txtand a sitemap — wired automatically whensiteis set.
# Nimbus
A way to build documentation sites on top of Astro.
## Pages
- [Get started](https://nimbus-docs.com/get-started/index.md)
- [Installation](https://nimbus-docs.com/installation/index.md)How pages are indexed
Indexing is multi-collection by default and schema-tolerant — every prepared collection registered in src/content.config.ts (except partials and reserved names) is walked, reading title and description when present. There is no per-page opt-in; all discoverable pages are listed. Hidden versions are excluded, and /llms-full.txt omits non-current prose versions.
Alternate Markdown/MDX versions and llms.txt indexes use public agent-endpoint assets. Request-time authorization cannot make private material safe here. Keep private material outside public content collections. Nimbus omits excluded entries and fails the build when it cannot determine whether content is public.
To keep a page out of the llms.txt indexes, set draft: true (excluded entirely) or noindex: true. A page that should never be agent-readable belongs outside the content collection altogether.
Custom content loaders
Nimbus’s collection factories prepare Markdown automatically. If a custom loader retains Markdown bodies for alternate Markdown versions or llms-full.txt, wrap it with withNimbusMarkdown() from @cloudflare/nimbus-docs/content. See Other collections for a complete example.
Route setup
New projects include these routes. To add or update them in an existing project, follow Markdown and llms.txt endpoints.
AGENT.md
The scaffolder writes an AGENT.md at the project root — the same context a coding agent reads when working in your repo. It’s a real file you maintain; keep it in sync with your project’s conventions.
Why it matters
The cost of being a dead end on the agent web is real and growing. Because these files and metadata are defaults, a Nimbus site is legible to agents the day it ships — see Metadata and SEO for the human-search side.