feat(docs): publish llms.txt for AI agent consumption #102

Merged
rootiest merged 1 commits from feat-docs-llms-txt into main 2026-08-14 19:58:12 +00:00
Owner

Summary

  • Adds the starlight-llms-txt plugin to the docs site build, so astro build now emits llms.txt, llms-full.txt, and llms-small.txt alongside the regular pages at fish.rootiest.fyi. This makes the manual queryable by MCP-compatible agents / LLM tooling without depending on a third-party indexing service (no build-time network calls, nothing leaves the server).
  • Bumps js-yaml, nanoid, and sharp in docs/site to clear three high-severity npm audit findings surfaced while touching the same lockfile:
    • js-yaml 4.3.0 → 4.3.1 (quadratic CPU consumption in !!omap resolution, GHSA-5p4m-2wfm-xmqj)
    • nanoid 3.3.16 → 3.3.18 (custom generators can loop indefinitely when size is zero, GHSA-2v37-7h3g-55p8)
    • sharp 0.34.5 → 0.35.3 (inherited libvips CVEs, GHSA-f88m-g3jw-g9cj). This is sharp's only semver-major-flagged bump; its one relevant breaking change is dropping Node 18 support (now requires Node ≥ 20.9.0) — the Gitea Actions workflow already runs Node 24, so no impact.
  • Updates README.md and docs/site/README.md to document the new llms.txt output.

npm audit reports 0 vulnerabilities after this change (was 3 high).

Manual Verification Checklist

  • cd docs/site && npm ci && npm run build completes cleanly
  • dist/llms.txt, dist/llms-full.txt, and dist/llms-small.txt exist after the build and contain the expected doc content
  • The built site still renders correctly (spot-check a few pages, logo/favicon present)
  • npm audit reports 0 vulnerabilities in docs/site
  • python3 docs/verify-manual.py passes
## Summary - Adds the `starlight-llms-txt` plugin to the docs site build, so `astro build` now emits `llms.txt`, `llms-full.txt`, and `llms-small.txt` alongside the regular pages at `fish.rootiest.fyi`. This makes the manual queryable by MCP-compatible agents / LLM tooling without depending on a third-party indexing service (no build-time network calls, nothing leaves the server). - Bumps `js-yaml`, `nanoid`, and `sharp` in `docs/site` to clear three high-severity `npm audit` findings surfaced while touching the same lockfile: - `js-yaml` 4.3.0 → 4.3.1 (quadratic CPU consumption in `!!omap` resolution, GHSA-5p4m-2wfm-xmqj) - `nanoid` 3.3.16 → 3.3.18 (custom generators can loop indefinitely when size is zero, GHSA-2v37-7h3g-55p8) - `sharp` 0.34.5 → 0.35.3 (inherited libvips CVEs, GHSA-f88m-g3jw-g9cj). This is `sharp`'s only semver-major-flagged bump; its one relevant breaking change is dropping Node 18 support (now requires Node ≥ 20.9.0) — the Gitea Actions workflow already runs Node 24, so no impact. - Updates `README.md` and `docs/site/README.md` to document the new `llms.txt` output. `npm audit` reports 0 vulnerabilities after this change (was 3 high). ## Manual Verification Checklist - [x] `cd docs/site && npm ci && npm run build` completes cleanly - [x] `dist/llms.txt`, `dist/llms-full.txt`, and `dist/llms-small.txt` exist after the build and contain the expected doc content - [x] The built site still renders correctly (spot-check a few pages, logo/favicon present) - [x] `npm audit` reports 0 vulnerabilities in `docs/site` - [x] `python3 docs/verify-manual.py` passes
rootiest added 1 commit 2026-08-14 19:50:42 +00:00
Add the starlight-llms-txt plugin so the docs build emits llms.txt,
llms-full.txt, and llms-small.txt alongside the regular pages, making
the manual queryable by MCP-compatible agents without depending on a
third-party indexing service.

Also bump js-yaml, nanoid, and sharp in docs/site to clear three
high-severity advisories (quadratic YAML omap parsing, a zero-size
nanoid loop, and inherited libvips CVEs) flagged by npm audit while
touching the same lockfile.
rootiest merged commit 9e037f2a08 into main 2026-08-14 19:58:12 +00:00
rootiest deleted branch feat-docs-llms-txt 2026-08-14 19:58:12 +00:00
Sign in to join this conversation.