Skip to content

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.

ResourceURLWhen to fetch
Site index/llms.txtFirst contact. Every page in llms.txt format with one-line summaries.
Whole-site dump/llms-full.txtOne-shot context loading. ~400 KB. Drop into your window for cross-topic tasks.
Compact dump/llms-small.txtSmaller one-shot context when /llms-full.txt is too big. Custom subsets live at /_llms-txt/<slug>.txt.
Per-page raw markdown/<slug>.mdReading one specific page. No HTML, no chrome.
Stable anchors/<slug>#<id>Deep-linking to a section. Every H2/H3 has a Starlight-derived id.

Every page is also served as raw markdown at the same slug with a .md extension. Examples:

The .md response is the source markdown with a small ---\ntitle: ...\n--- envelope and no other transformation. Fetch from any origin:

Terminal window
curl https://docs.ggui.ai/protocol/envelopes.md
const 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.

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.

You want → Fetch
─────────────────────────────────────────── ──────────────────────────────────
Orient quickly, plan a session /llms.txt
Drop everything into context (one-shot) /llms-full.txt
Read one specific page /<slug>.md
Deep-link to a section in conversation /<slug>/#<anchor>

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:

The same anchors work on the .md companions: /protocol/envelopes.md#actionenvelope — markdown clients with anchor-scroll support honor them.

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:

For machine-parseable types, install the npm package:

Terminal window
npm install @ggui-ai/protocol

Things to know if you’re writing code against these docs:

  • ggui = the open protocol. Self-host with ggui serve; a hosted endpoint at mcp.ggui.ai is coming soon. Open source at github.com/ggui-ai/ggui. Documented on this site.
  • guuey = a separate SaaS platform at guuey.com. Different surface, different docs. Don’t conflate the two.
  • gadget = renderer-side capability — a wrapped 3rd-party library (Leaflet, Stripe, …). Formerly called clientLibraries.
  • tool = agent-side action (an MCP tool the agent invokes).
  • blueprint = cached UI recipe (matched at ggui_handshake by intent + contract similarity).

These three nouns are not interchangeable; mixing them in generated code will confuse readers.

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.

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.

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.