Agent definition · open source

demoagent

Turn any product repository into a browser-only demo — the product's real frontend, with the entire backend emulated client-side. No servers, no accounts, no real data.

An agent definition your coding agent runs.

Give Claude Code, Codex, Cursor, Gemini CLI (or any agent that reads AGENTS.md) the spec and an order from the product repo. It produces a self-contained demo/ that builds to static files.

~/code/my-product
# create the browser demo for this product
$ # agent: Follow path/to/demoagent/AGENTS.md: create the browser demo for this product in demo/.

# after the product changed — keep the demo in sync
$ # agent: Follow path/to/demoagent/AGENTS.md: update demo/ to match the current app.

# result: self-contained demo/ with README + route coverage table
demo/
demo/README.md
demo/API_COVERAGE.md

What the spec enforces.

The agent is not free to freestyle. Every demo has to meet the same bar — visually identical product UI, zero backend, no data leaks.

visually identical
Imports the product's real frontend (path dependency / workspace). Never a re-implementation — the demo tracks the product automatically.
zero backend
One seam cuts the frontend from its backend; a fake backend implements the API contract entirely in the browser.
browser database
Seeded, versioned state in localStorage / IndexedDB. Created records survive reloads; ?reset=1 reseeds.
no leaks
No real user data, no secrets, no server source. Server behavior is re-implemented from the API contract, never copied.
full feature surface
Every screen works, every CRUD completes. What can't be real client-side (payments, push, OAuth) is simulated, not hidden.
isolation
Everything lives in demo/. Touches outside it must be minimal, backwards-compatible, and documented.

Distilled from real demos.

Per-stack guides with the gotchas that cost real debugging time. If your stack has no recipe, the agent follows the general architecture and writes the missing recipe back into the repo.

recipes/flutter.md
Flutter app → Flutter web demo. Touch drag-scroll, flutter_secure_storage WebCrypto races, entry-file cache headers.
recipes/react.md
React / Vue / JS SPA → static demo build with injectable API client or network interception.
Living knowledge base. Recipes grow from production demos (Funquila, Fecha, Konecta…). Every hard-won fix belongs in the recipe, not in someone's head.

One file is the source of truth.

PathRole
AGENTS.mdAgent definition: mission, non-negotiables, architecture, phase-by-phase workflow, definition of done.
CLAUDE.mdClaude Code entrypoint (imports AGENTS.md).
recipes/Per-stack implementation guides distilled from real demos.
LICENSEMIT.