llms.txt
chartjs2img publishes two public discovery files at the docs site root, following the llmstxt.org convention. They are designed for LLM agents that land on the site without any prior chartjs2img knowledge.
| URL | Size | What it is |
|---|---|---|
/llms.txt | ~3 KB | Index: grouped links to every English docs page |
/llms-full.txt | ~135 KB | Full bundle: concatenated Markdown of every page + chartjs2img llm reference |
When to use which
llms.txt — index
Use when the agent wants to browse. It's a short Markdown document with:
- An H1 project title
- A blockquote summary
## User Guide,## Developer Guide,## AI Guide,## Gallerysections, each listing pages as bullet links- A final
## LLM reference (single bundle)pointer tollms-full.txt
Example usage from a shell:
curl -s https://chartjs2img.ideamans.com/llms.txt | head -20llms-full.txt — full bundle
Use when the agent wants everything in one payload. It contains the Markdown body of every English page, preceded by <!-- source: ... --> comments that name the origin file, separated by --- horizontal rules. At the end, chartjs2img llm's full ~1400-line Chart.js + plugin reference is appended.
This is "give my agent the whole manual and let it search in-context." Appropriate for:
- One-shot agents without retrieval tools (copy the whole thing into the system prompt)
- Extended context windows (Claude, Gemini, GPT-4o with their long context modes)
- Offline inspection / audit
curl -s https://chartjs2img.ideamans.com/llms-full.txt | wc -lHow the files are generated
docs/public/llms.txt and docs/public/llms-full.txt are not checked in. They are regenerated at site-build time by scripts/build-llms-txt.ts:
- Walk
docs/en/**/*.md, extract title + body. - Sort pages by route.
llms.txt→ group pages by top-level section, emit link list.llms-full.txt→ concatenate every body, appendgetLlmDocs()(the aggregated Chart.js + plugin reference).- Write both under
docs/public/— VitePress serves them from the site root.
Trigger manually:
bun run build-llms-txt
# output:
# wrote <N> chars → docs/public/llms.txt
# wrote <N> chars → docs/public/llms-full.txt (<N> docs concatenated)The same script runs inside docs:dev / docs:build / ai:regen.
Relationship to other AI channels
| Channel | Audience | Distribution |
|---|---|---|
| llms.txt | Any agent that can curl | Static file on the docs site |
| llms-full.txt | Same, when full-text is cheaper than search | Static file on the docs site |
| context7 | MCP-capable hosts | MCP server |
| Claude plugin | Claude Code | Marketplace |
| gh skill | Copilot / Cursor / Gemini / Codex | GitHub CLI |
chartjs2img llm | An agent running chartjs2img itself | CLI output (chartjs2img llm) |
llms.txt is the simplest, no-install channel. Even a zero-config shell script can fetch and use it.
What agents should do with llms-full.txt
A useful opening turn for an agent session:
SYSTEM: You are going to author Chart.js configuration JSON for
chartjs2img. The complete reference follows. It covers the
input format, every supported chart type, every bundled
plugin's options, error feedback, and canonical examples.
---
<paste full contents of https://chartjs2img.ideamans.com/llms-full.txt>
---
When you produce a Chart.js configuration:
1. Validate it via a subsequent `chartjs2img render` call.
2. If X-Chart-Messages (HTTP) or stderr (CLI) is non-empty,
fix the config and retry.
3. Report the final JSON plus the rendered image path.URL convention
Both files are served at fixed paths, guaranteed stable:
https://chartjs2img.ideamans.com/llms.txthttps://chartjs2img.ideamans.com/llms-full.txt
No redirects, no auth, no user-agent sniffing. They are intended to be curl-able from any environment.
See also
- llmstxt.org — the public standard.
- Anthropic's llms.txt, Vercel's, Next.js's — real-world reference implementations.
- context7 — parallel MCP retrieval for agents that prefer search over full-bundle.
- CLI reference — how
chartjs2img llmproduces the reference thatllms-full.txtappends.