Background
PR #1203 added an auto-generator for llms.txt that skips any page whose frontmatter has no description field. The build prints a warning listing these pages — there are 237 in total today, but the picture is concentrated:
| Count |
Section |
Action |
| 217 |
zkapps/o1js-reference/ |
Skip — auto-generated API reference. Doesn't belong in the discovery-layer index. The generator should be updated to globally exclude this subtree (cheap follow-up). |
| 9 |
node-developers/ |
Add descriptions — real content pages |
| 6 |
using-mina/ |
Add descriptions — end-user-facing |
| 4 |
participate/ |
Already excluded at top-level by the generator. No action. |
| 1 |
node-operators/block-producer-node/... |
Add description — operator-facing |
So the actionable audit is ~16 hand-written pages, not 219. Each gains one line of frontmatter.
Pages needing descriptions
node-developers/ (9 pages)
using-mina/ (6 pages)
node-operators/ (1 page)
Description quality bar
From the llmstxt.org spec and what the AI benchmark surfaced as useful: each description should answer "why would I fetch this URL?" — not just restate the title.
| Bad |
Good |
Documentation for graphql-api |
Mina daemon GraphQL endpoints, schema, common queries (account balance, block, mempool), authentication, port 3085 default |
Style guide for OCaml code |
OCaml coding conventions for the Mina node — naming, formatting, module structure, error handling patterns |
Target 10-30 words. Surface concrete things on the page — APIs, file paths, key numbers, prerequisites.
Generator follow-up (separate small PR)
Update scripts/generate-llms-index.mjs to skip the entire zkapps/o1js-reference/ subtree explicitly rather than relying on the missing-description filter. That removes 217 spurious warnings from every build and makes the remaining warnings actionable.
Why this matters
Tracks under #1195 (developer & AI discoverability). Each page added to llms.txt is one more entry that AI agents see when they fetch the docs index — directly improves the answer quality measured by the AI benchmark workflow (#1202). The current llms.txt index is at 123 pages; with these additions it'd be ~140 pages, with the gain concentrated on user-facing wallet/staking content (using-mina) and contributor-facing internal docs (node-developers).
Acceptance
🤖 Generated with Claude Code
Background
PR #1203 added an auto-generator for
llms.txtthat skips any page whose frontmatter has nodescriptionfield. The build prints a warning listing these pages — there are 237 in total today, but the picture is concentrated:zkapps/o1js-reference/node-developers/using-mina/participate/node-operators/block-producer-node/...So the actionable audit is ~16 hand-written pages, not 219. Each gains one line of frontmatter.
Pages needing descriptions
node-developers/(9 pages)node-developers/bip44.mdxnode-developers/code-review-guidelines.mdxnode-developers/codebase-overview.mdxnode-developers/contributing.mdxnode-developers/graphql-api.mdxnode-developers/index.mdxnode-developers/repository-structure.mdxnode-developers/sandbox-node.mdxnode-developers/style-guide.mdxusing-mina/(6 pages)using-mina/Protect-Your-MINA.mdxusing-mina/how-to-delegate.mdxusing-mina/how-to-send-and-receive.mdxusing-mina/how-to-use-zkapp.mdxusing-mina/install-a-wallet.mdxusing-mina/ledger-hardware-wallet.mdxnode-operators/(1 page)node-operators/block-producer-node/(build warning will name it on next regen)Description quality bar
From the llmstxt.org spec and what the AI benchmark surfaced as useful: each description should answer "why would I fetch this URL?" — not just restate the title.
Documentation for graphql-apiMina daemon GraphQL endpoints, schema, common queries (account balance, block, mempool), authentication, port 3085 defaultStyle guide for OCaml codeOCaml coding conventions for the Mina node — naming, formatting, module structure, error handling patternsTarget 10-30 words. Surface concrete things on the page — APIs, file paths, key numbers, prerequisites.
Generator follow-up (separate small PR)
Update
scripts/generate-llms-index.mjsto skip the entirezkapps/o1js-reference/subtree explicitly rather than relying on the missing-description filter. That removes 217 spurious warnings from every build and makes the remaining warnings actionable.Why this matters
Tracks under #1195 (developer & AI discoverability). Each page added to
llms.txtis one more entry that AI agents see when they fetch the docs index — directly improves the answer quality measured by the AI benchmark workflow (#1202). The currentllms.txtindex is at 123 pages; with these additions it'd be ~140 pages, with the gain concentrated on user-facing wallet/staking content (using-mina) and contributor-facing internal docs (node-developers).Acceptance
npm run check-llms-txtshows the new pages reflected in regeneratedstatic/llms.txtzkapps/o1js-reference/from the generator🤖 Generated with Claude Code