DreamLake

LLM-Readable Docs

These docs are built to be read by agents as easily as by people. Every page has a markdown twin, and the whole corpus is published in the formats LLM tooling already looks for — so you can point Claude (or any agent) at Lakeshore and have it answer accurately.

Fetch a single page

Append .md to any docs URL to get the raw markdown — no nav, no chrome:

bash
curl https://lakeshore.dreamlake.ai/get-started/quick-start.md

The path mirrors the HTML route exactly; the site root is /index.md. Every page also advertises its markdown twin in the HTML head:

html
<link rel="alternate" type="text/markdown" href="/get-started/quick-start.md" />

The whole site, two ways

  • /llms.txt — a short, linked index of every page, grouped by section, each with its one-line description (llmstxt.org standard). The entry point an agent reads first to decide what to fetch.
  • /llms-full.txt — every page concatenated into one markdown file, each preceded by a Source: line naming its canonical URL. Drop the entire product into a context window in a single request.

Import it as a skill

The docs are also packaged as an Agent Skill — a SKILL.md index plus one markdown reference file per page. Install it so your agent loads Lakeshore knowledge on demand:

bash
# Claude Code: drop it into your project (or ~/.claude) skills directory
curl -L https://lakeshore.dreamlake.ai/skills/lakeshore.zip -o lakeshore.zip
unzip lakeshore.zip -d .claude/skills/

The archive expands to lakeshore/SKILL.md plus lakeshore/reference/, so the command above lands it at .claude/skills/lakeshore/.

How the surfaces are generated

All four surfaces come from one script, docs/scripts/gen-llms.mjs, which reads docs/pages/**/+Page.mdx and nothing else. It runs during pnpm build, after the prerender and before the search index.

Two behaviours worth knowing when you read the output:

  • MDX is flattened to plain markdown. import lines are dropped, <Callout> becomes a > **Note:** / > **Warning:** blockquote, <Preview> is unwrapped to its children, and any other capitalized JSX tag is stripped. Code fences and tables pass through untouched.
  • Internal links are rewritten per target. In the .md pages and llms-full.txt a link to /get-started/queues becomes /get-started/queues.md; in the skill it becomes reference/get-started-queues.md. Anchors survive. Links to paths that are not published pages are left alone.

Pages marked noindex: true in their frontmatter are internal and are excluded from every artifact — the .md twin, both llms files, and the skill.

Always current. Every surface above is regenerated from the same source on each deploy, so none of them can drift from what you read on the site. pnpm --filter docs check:llms reports whether the committed skills/lakeshore/ tree is stale relative to the pages.