Agent-Friendly Documentation
The documentation site provides several features that make it easier for AI agents and LLMs to discover, index, and consume its content.
Discovery and access methods
llms.txt
The site publishes an llms.txt file at the root, following the llmstxt.org specification. This file is a Markdown-formatted index of all documentation pages, grouped by section, with links to each page’s markdown URL. It serves as the primary entry point for agents discovering the site.
llms-full.txt
The site also publishes llms-full.txt – a full content dump of all documentation pages in a single file. This is intended for LLMs with large context windows that want to ingest the entire site in a single request without crawling individual pages.
Pages whose rendered content exceeds a size threshold (currently 50,000 characters) are replaced with a placeholder that includes the page title, description, and a link to the individual page’s markdown URL for on-demand fetching. This keeps the file at a manageable size while ensuring no content is completely inaccessible.
Per-page markdown output
Every page on the site is available in clean markdown format by appending
/index.md to its URL. For example:
- HTML:
https://hummingbird-project.io/docs/contributing/quickstart/ - Markdown:
https://hummingbird-project.io/docs/contributing/quickstart/index.md
The markdown output resolves all shortcodes (such as file includes from other
repositories) while preserving the content as markdown rather than converting
to HTML. Each markdown page includes links to both llms.txt and
llms-full.txt so agents can discover the site-wide indexes from any page.
Content negotiation
A CloudFront distribution sits between DNS and the site’s page host. A
viewer-request CloudFront Function inspects the Accept header on every
request: when the header includes text/markdown, the function rewrites the
URI to serve the pre-built .md equivalent. Only HTML-like patterns (trailing
slash, .html, bare paths) are rewritten; all other URIs pass through
unchanged.
This means agents can use standard HTTP content negotiation on any page URL
without needing to know the /index.md convention:
GET /docs/contributing/quickstart/ HTTP/1.1
Accept: text/markdown
Stable link aliases (/l/)
Pages referenced from external sources have stable short URLs under the /l/
prefix (e.g., /l/adding-images). These return HTTP 301 to the canonical page
URL, so pages can move without breaking incoming links. The
Writing Documentation guide describes how to add aliases.
The CloudFront viewer-request function recognizes /l/ paths and normalizes
them before they reach the origin. Content negotiation (Accept header) is
skipped for /l/ paths — instead, the URL form determines the response:
/l/foo and /l/foo/ redirect to the HTML page, while /l/foo.md and
/l/foo/index.md redirect to the markdown file. If no matching alias exists,
the origin returns a 404.
Specifications and tools
The site aims to follow the emerging standards for agent-friendly documentation:
- llmstxt.org – the llms.txt specification
- Agent-Friendly Documentation Spec – broader specification for documentation sites that serve AI agents
- AFDocs – scoring tool that evaluates a site’s compliance with the Agent-Friendly Documentation Spec
Planned features
HTML llms-directive (HUM-6571)
A Docsy upgrade to v0.17.0 will embed a pointer to llms.txt inside the HTML
<body> of every page, so agents landing on any HTML page can discover the
LLMS index without prior knowledge of the site structure.
Documentation quality evaluation (HUM-6575)
A promptfoo-based evaluation harness will measure how accurately LLMs can answer questions about Hummingbird using the published documentation. This provides a feedback loop for identifying documentation pages that need improvement for agent consumption.