docs: add llms.txt for LLM agents and web crawlers (#576)#707
Conversation
Add an llms.txt at the repository root following the llmstxt.org spec. It gives AI agents and web-crawling LLMs a concise table of contents: project summary, non-negotiable technical constraints, and curated links to agent instructions, high-level docs, all 13 ADRs, and feature specs. Update the GitHub Pages deploy workflow to copy llms.txt into the build output so it is served at the deployed root, avoiding cross-platform symlink issues. https://claude.ai/code/session_01GchD3PQ3zcQXV6MYvctCgj
There was a problem hiding this comment.
Pull request overview
Adds an llms.txt entrypoint for LLM agents/web crawlers and ensures it’s included in the GitHub Pages artifact so it can be fetched from the deployed site, with an accompanying AI changelog entry.
Changes:
- Add root-level
llms.txtfollowing llmstxt.org conventions, linking to key project docs/ADRs/specs and stating non-negotiable stack constraints. - Update GitHub Pages deploy workflow to copy
llms.txtinto the static build output (build/llms.txt). - Append an AI session entry to
CHANGELOG-AI.md.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
llms.txt |
Introduces an LLM-oriented table of contents for architecture/constraints and curated doc links. |
.github/workflows/deploy.yml |
Copies llms.txt into build/ so it’s published by the Pages deploy. |
CHANGELOG-AI.md |
Records the session and the documentation/deploy wiring change. |
| This file is an LLM-oriented table of contents (see [llmstxt.org](https://llmstxt.org/)). It helps AI agents and web crawlers understand the project's architecture and constraints, then fetch only the specific deep-dive documents they need rather than ingesting the entire `docs/` tree. | ||
|
|
There was a problem hiding this comment.
Good catch. Addressed in 9efca16 — added a note near the top of llms.txt stating that the links are relative to the repository root and, when the file is read from the deployed Pages site, must be resolved against the canonical repo (https://github.com/APTG/dedx_web, e.g. docs/03-architecture.md → .../blob/master/docs/03-architecture.md). Kept the links relative so IDE plugins scanning a checkout — the primary audience — can open the local files directly.
Generated by Claude Code
| - 2026-06-05 — **Docs**: Add `llms.txt` at the repository root following the [llmstxt.org](https://llmstxt.org/) spec (Issue #576). Provides an LLM-oriented table of contents — project summary, non-negotiable technical constraints (Svelte 5 runes only, TS strict, JSROOT, WASM wrapper), and curated links to agent instructions, high-level docs, all 13 ADRs, and feature specs. Updated `.github/workflows/deploy.yml` to `cp llms.txt build/llms.txt` so it is served at the GitHub Pages root, avoiding cross-platform symlink issues. (Claude Opus 4.8 via Claude Code) | ||
|
|
There was a problem hiding this comment.
Addressed in 9efca16 — added the session log at docs/ai-logs/2026-06-05-issue-576-llms-txt.md, linked it from the changelog entry via the required **Log:** line, and indexed it in docs/ai-logs/README.md.
Generated by Claude Code
- Add a note clarifying that the relative links resolve against the source repository (https://github.com/APTG/dedx_web), since the docs/ tree is not published to GitHub Pages and would otherwise 404 when the file is crawled from the deployed site. - Add the session log file required by the CHANGELOG-AI.md entry format and link it from the changelog entry; index it in docs/ai-logs/README. https://claude.ai/code/session_01GchD3PQ3zcQXV6MYvctCgj
Closes #576.
What
Adds an
llms.txtat the repository root following the llmstxt.org specification, and wires it into the GitHub Pages deployment so it is also served at the live root URL.Why
AI coding assistants and web-crawling LLMs benefit from a concise, standardized entry point into the project rather than ingesting the entire
docs/tree.llms.txtacts as an intelligent table of contents — it surfaces the high-level architecture and constraints inline, and links out to deep-dive markdown files that an agent can fetch only when needed.Changes
llms.txt(new, repo root):export let/stores/onMount), TS strict, Tailwind v4, shadcn-svelte + Bits UI, WASM only via the TS wrapper, Prettier/Conventional Commits.CLAUDE.md,AGENTS.md,CHANGELOG-AI.md.docs/03-architecture.md,docs/06-wasm-api-contract.md,docs/07-testing-strategy.md, and more, each with a one-line description.docs/decisions/..github/workflows/deploy.yml: theBuild SvelteKit appstep now runscp llms.txt build/llms.txtafterpnpm build, so the file is served athttps://aptg.github.io/web_dev/llms.txt. This copy-on-deploy approach avoids cross-platform symlink issues.CHANGELOG-AI.md: session entry.Acceptance criteria
llms.txtexists at the repository root and follows the markdown formatting spec.deploy.ymlupdated to copyllms.txtto the build output.pnpm format:checkpasses.https://claude.ai/code/session_01GchD3PQ3zcQXV6MYvctCgj
Generated by Claude Code