---
title: For LLM agents
description: Machine-readable resources for LLMs and coding-assistant devtools reading ggui docs programmatically — aggregated dumps, per-page .md companions, stable anchors, wire schemas.
---

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

| Resource              | URL                                | When to fetch                                                                                 |
| --------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------- |
| Site index            | [`/llms.txt`](/llms.txt)           | First contact. Every page in [llms.txt format](https://llmstxt.org/) with one-line summaries. |
| Whole-site dump       | [`/llms-full.txt`](/llms-full.txt) | One-shot context loading. ~400 KB. Drop into your window for cross-topic tasks.               |
| Compact dump          | [`/llms-small.txt`](/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

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

- [`/how-it-works.md`](/how-it-works.md) — the narrative walk-through
- [`/api/mcp-protocol.md`](/api/mcp-protocol.md) — the wire reference
- [`/protocol/envelopes.md`](/protocol/envelopes.md) — live-channel envelope shapes
- [`/glossary.md`](/glossary.md) — terminology lookup
- [`/cli/serve.md`](/cli/serve.md) — `ggui serve` command reference

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

```bash
curl https://docs.ggui.ai/protocol/envelopes.md
```

```ts
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.

## 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](/api/mcp-docs/) for the tool catalog and connection details.

## When to use which

```
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>
```

## 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`](/glossary/#gguisession-a-render) — definition of the GguiSession (the "render")
- [`/protocol/envelopes/#actionenvelope`](/protocol/envelopes/#actionenvelope) — inbound live-channel envelope
- [`/api/mcp-protocol/#ggui_render`](/api/mcp-protocol/#ggui_render) — the `ggui_render` MCP method

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

## 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/`](/protocol/envelopes/) — envelope shapes, fields, validation rules
- [`/api/mcp-protocol/`](/api/mcp-protocol/) — MCP methods, request/response shapes
- [`/api/websocket-protocol/`](/api/websocket-protocol/) — live-channel framing

For machine-parseable types, install the npm package:

```bash
npm install @ggui-ai/protocol
```

## Site conventions

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.

## 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

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

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`](https://github.com/ggui-ai/ggui/issues) tagged `docs/llm-readability`.