For LLM agents
read as.md This page is for non-human readers — LLM agents, coding-assistant devtools (Claude Code, Cursor, Cline, Continue, Codeium), evaluators, and scrapers. Humans, the rest of the site is for you.
What’s available
Section titled “What’s available”| Resource | URL | When to fetch |
|---|---|---|
| Site index | /llms.txt | First contact. Every page in llms.txt format with one-line summaries. |
| Whole-site dump | /llms-full.txt | One-shot context loading. ~400 KB. Drop into your window for cross-topic tasks. |
| Compact dump | /llms-small.txt | Smaller one-shot context when /llms-full.txt is too big. Custom subsets live at /_llms-txt/<slug>.txt. |
| Per-page raw markdown | /<slug>.md | Reading one specific page. No HTML, no chrome. |
| Stable anchors | /<slug>#<id> | Deep-linking to a section. Every H2/H3 has a Starlight-derived id. |
Per-page .md companions
Section titled “Per-page .md companions”Every page is also served as raw markdown at the same slug with a .md extension. Examples:
/how-it-works.md— the narrative walk-through/api/mcp-protocol.md— the wire reference/protocol/envelopes.md— live-channel envelope shapes/glossary.md— terminology lookup/cli/serve.md—ggui servecommand reference
The .md response is the source markdown with a small ---\ntitle: ...\n--- envelope and no other transformation. Fetch from any origin:
curl https://docs.ggui.ai/protocol/envelopes.mdconst res = await fetch("https://docs.ggui.ai/protocol/envelopes.md");const body = await res.text();CORS is open (Access-Control-Allow-Origin: *); Cache-Control permits 5-minute CDN caching.
Search docs via MCP
Section titled “Search docs via MCP”Any LLM agent will be able to connect to mcp.ggui.ai/docs (coming soon) and search / read these docs programmatically — no auth required. See Docs MCP route for the tool catalog and connection details.
When to use which
Section titled “When to use which”You want → Fetch─────────────────────────────────────────── ──────────────────────────────────Orient quickly, plan a session /llms.txtDrop everything into context (one-shot) /llms-full.txtRead one specific page /<slug>.mdDeep-link to a section in conversation /<slug>/#<anchor>Stable anchors
Section titled “Stable anchors”Every H2 and H3 has a stable id derived by Starlight from its text. Anchors don’t change between releases unless the heading text changes. Examples:
/glossary/#gguisession-a-render— definition of the GguiSession (the “render”)/protocol/envelopes/#actionenvelope— inbound live-channel envelope/api/mcp-protocol/#ggui_render— theggui_renderMCP method
The same anchors work on the .md companions: /protocol/envelopes.md#actionenvelope — markdown clients with anchor-scroll support honor them.
Wire schemas (roadmap)
Section titled “Wire schemas (roadmap)”The wire envelopes (ActionEnvelope, StreamEnvelope) and the MCP method shapes (ggui_handshake, ggui_render, ggui_consume, …) live in TypeScript in @ggui-ai/protocol. Protocol version: see PROTOCOL_VERSION in @ggui-ai/protocol (currently draft-2026-06-12). Standalone JSON-Schema endpoints at /api/schemas/<envelope>.json are planned but not yet shipped.
Until then, the canonical wire shapes live at:
/protocol/envelopes/— envelope shapes, fields, validation rules/api/mcp-protocol/— MCP methods, request/response shapes/api/websocket-protocol/— live-channel framing
For machine-parseable types, install the npm package:
npm install @ggui-ai/protocolSite conventions
Section titled “Site conventions”Things to know if you’re writing code against these docs:
ggui= the open protocol. Self-host withggui serve; a hosted endpoint atmcp.ggui.aiis coming soon. Open source atgithub.com/ggui-ai/ggui. Documented on this site.guuey= a separate SaaS platform atguuey.com. Different surface, different docs. Don’t conflate the two.gadget= renderer-side capability — a wrapped 3rd-party library (Leaflet,Stripe, …). Formerly calledclientLibraries.tool= agent-side action (an MCP tool the agent invokes).blueprint= cached UI recipe (matched atggui_handshakeby intent + contract similarity).
These three nouns are not interchangeable; mixing them in generated code will confuse readers.
Page-level metadata
Section titled “Page-level metadata”Every page has frontmatter with at least title and description. Most also carry audience (one of agent-builder, host, operator, llm-agent, agentic-app-builder, all) and optionally prereqs. The .md companion re-emits title and description at the top of the response; other frontmatter fields (audience, prereqs) are only in the repo source.
Telemetry
Section titled “Telemetry”The site sends pageview events to PostHog and tags requests from known LLM-agent user-agents (claude-bot, gptbot, perplexitybot, cursor, cline, continue, codeium, …) with is_bot: true. No PII, no fingerprinting. Set a useful user-agent and you’ll show up in the bot-traffic dashboard — that helps us prioritize docs machine readers actually use.
Reporting issues
Section titled “Reporting issues”Found a page that’s hard for LLM consumption, or want a .md companion that’s missing something? Open an issue at github.com/ggui-ai/ggui/issues tagged docs/llm-readability.