The source for docs.stuntdouble.io, the documentation for Stunt Double: authentic user insights from autonomous AI agents, backed by evidence.
It covers getting started, concepts, tutorials and guides, integrations, the Stunt Double Index, and the reference for the API, the MCP server and StuntKit. Spotted a mistake or something missing? Contributions are welcome, from a typo fix to a new guide.
Requires Node 22 or later and pnpm.
git clone https://github.com/stunt-double/docs.git
cd docs
pnpm install
pnpm build # fetches linked sources and generates their pages, then builds
pnpm dev # http://localhost:3000After the first build, pnpm dev is all you need. To refresh the linked pages without a full
build, run node scripts/fetch-sources.mjs && node scripts/generate.mjs.
| Command | What it does |
|---|---|
pnpm dev |
Run the site locally |
pnpm test |
Run the tests (node --test) |
pnpm type-check |
Type-check the app |
pnpm build |
Production build |
A Next.js site on Fumadocs, with MDX content and Tailwind CSS.
content/docs/ Pages written here, as MDX. Each folder's meta.json sets the sidebar order.
src/ The app: layouts, MDX components, routes for llms.txt and Markdown.
public/ Static files, including product screenshots.
scripts/ Fetch and generate the pages linked from other repositories.
sources.json The repositories those pages come from.
The MCP server reference, skills and rules come from
stunt-double/stuntdouble-mcp. The build reads
each source in sources.json at its latest release tag (or a pinned commit) into .sources/,
which is never committed. To change those pages, open a pull request on the source repository.
Product screens are redraws of the dashboard, built in Figma from the Continuity design system
so they stay on brand and in step with the product. Each one has a light and a dark export at
1440 wide (public/screens/<name>-light.png and <name>-dark.png), and pages use them through
<Screenshot name="..." alt="..." caption="..." />, which follows the site theme. If a screen is
out of date, open an issue rather than editing the image.
Icons come from StuntKit's @stunt-double/icons, the
Continuity icon pack. Use a product icon wherever a page names one of Stunt Double's own things:
<CardGrid
items={[{ title: 'Actors', description: 'AI users that drive a real browser.', href: '/concepts#actors', icon: 'actor' }]}
/>The Icons page previews the whole pack with two MDX components:
<IconGallery /> {/* all 235 icons, grouped by category */}
<IconGallery categories={['product']} /> {/* just the categories you name */}
<BrandGallery /> {/* AI provider marks, color and mono */}The geometry is copied from StuntKit into src/components/icon-gallery-data.ts, never edited here.
To pick up a new StuntKit release, check it out beside this repo and run:
node scripts/sync-icons.mjs ../stuntkit/llms.txtindexes every page and/llms-full.txtholds them all./.well-known/agents.mdsays when to use the docs and how to act through the MCP server.- Any page is available as Markdown at its path plus
.md, or withAccept: text/markdown.
Read CONTRIBUTING.md for the workflow and style guide, and follow the code of conduct. Please report security issues privately as described in SECURITY.md, not in a public issue.
Code is under the MIT License. Documentation content is under CC BY 4.0.