feat: add llms.txt, llms-full.txt and per-page Markdown for AI readers - #8
Merged
Conversation
The site now follows the llms.txt convention (https://llmstxt.org) so any AI assistant can be pointed at it to walk someone through setup. - scripts/build-llms.mjs generates llms.txt (an index of every page with its description) and llms-full.txt (every page as plain Markdown) from docs.json and page frontmatter, with no dependencies; both are committed so they read from GitHub as well as the site - `npm run llms` regenerates them and `npm run check` fails when the committed copies are stale - `npm run build` writes both files, a .md twin of every page and any OpenAPI spec into dist/, so the deployed site serves /llms.txt, /llms-full.txt and <page>.md - the build now removes a stale dist/ and export.zip before `mint export`, which otherwise copied them into the next export and grew it from 13 MB to 310 MB on the second local build; .mintignore lists them too - README, CONTRIBUTING and the about page describe the AI-readable copies; llms-full.txt is marked linguist-generated so GitHub collapses it in diffs Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
docs-privacycommand | a4a6cc2 | Commit Preview URL Branch Preview URL |
Sep 05 2026, 12:47 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The site now follows the llms.txt convention so anyone can point their AI assistant at it and be walked through setup.
What changes
scripts/build-llms.mjsgeneratesllms.txt(an index of every page with its description) andllms-full.txt(every page converted to plain Markdown) fromdocs.jsonand page frontmatter, using only Node built-ins. Both are committed, so they read from GitHub as well as the site.npm run llmsregenerates them;npm run checknow fails when the committed copies are stale, so CI catches drift.npm run buildwrites both files, a.mdtwin of every page, and any OpenAPI spec intodist/, so the deployed site serves/llms.txt,/llms-full.txt, and any page URL with.mdappended.mint exportcopies a leftoverdist/andexport.zipfrom the previous run into the new export. A second localnpm run buildgrew the export from 13 MB to 310 MB, compounding each time. The build now removes both first, and.mintignorelists them.llms-full.txtis markedlinguist-generatedso GitHub collapses it in diffs.Verified
mint exporton its own emits none of these files, so generation has to live here.npm run buildsucceeds; two consecutive builds produce an identical 12.9 MB export.npm run checkpasses with and withoutdist/present.wrangler deploy --dry-runpicks up the new.mdand.txtassets.🤖 Generated with Claude Code