@praveen-palanisamy/autodemo
v0.1.1
Published
Demos-as-code: one run produces video + interactive walkthrough + marketing stills, versioned in git, regenerated by CI, and operable by AI agents via MCP
Maintainers
Readme
AutoDemo
Demos as code. Turn any running web app into demo videos, interactive walkthroughs, and marketing captures — in one command. Regenerated by CI, so they can never go stale.
Product page · Quick start · GitHub Action · For AI agents · Recipes · Contributing
autodemo demo "Sign up and open the dashboard" --url http://localhost:3000That single command drives a real browser through your real app and produces:
| Artifact | What it's for |
| --- | --- |
| video.mp4 | launch posts, landing pages, PR descriptions — cursor, click rings, human-paced typing |
| index.html | static, embeddable interactive walkthrough (step screenshots + notes, keyboard navigable) |
| assets/*.png | named marketing captures of real UI regions, for homepages and decks |
| run.json | reproducible metadata — timings, steps, artifact contract for tooling |
The teaser below was generated by AutoDemo, about its own product page, in CI:
Why
Demos and screenshots rot the moment the UI changes. Re-recording them is manual, slow, and always last on the list. Interactive-demo SaaS tools fix freshness with $300–500/month plans, per-seat pricing, and a browser extension that captures snapshots into their cloud.
AutoDemo treats demos like the rest of your software:
- Versioned — scenarios are YAML in your repo, reviewed like code
- Reproducible — deterministic Playwright steps, or AI steps when you want speed
- Continuous — a 5-line GitHub Action regenerates everything on merge; a failing demo is a failing user flow
- Yours — runs on your machine and your CI; no cloud, no telemetry, MIT licensed
Quick start
One-line install (macOS / Linux / WSL — installs Bun, the CLI, and a browser):
curl -fsSL https://raw.githubusercontent.com/praveen-palanisamy/autodemo/main/install.sh | bashOr zero-install / per-project:
bunx @praveen-palanisamy/autodemo --help # Bun
npm add -D @praveen-palanisamy/autodemo # or as a dev dependency
bunx playwright install chromium1. The magic moment (AI-authored)
With any LLM key in your env (ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, GROQ_API_KEY — or a local OLLAMA_HOST, auto-detected):
autodemo demo "Sign up, create a project, open the dashboard" --url http://localhost:3000Watch the browser do it, then open the printed video.mp4 and walkthrough. Add --save to keep the scenario for replay.
2. Deterministic demos (no LLM needed)
autodemo init # writes a commented .autodemo.ymlscenarios:
signup:
description: "Signup with readable typing and click highlights"
steps:
- type: goto
url: /signup
- type: fill
selector: "[data-testid=email]"
value: "[email protected]"
typing: true
- type: click
selector: "[data-testid=submit]"
- type: waitFor
text: "Dashboard"
- type: screenshot
name: dashboard-hero
selector: "[data-testid=dashboard]"autodemo run signup --url http://localhost:3000 # one scenario
autodemo run --all --url http://localhost:3000 --headless # all of them (CI)3. Keep them fresh forever (CI)
- uses: praveen-palanisamy/autodemo@v0
with:
url: http://localhost:3000Full inputs and recipes: docs/GITHUB_ACTION.md.
For AI agents
AutoDemo is agent-native: coding agents use it to show their work — a demo video on every PR.
bunx @praveen-palanisamy/autodemo mcp --no-tui # MCP server over stdioOne-line registration for Cursor / Claude Code / Codex, JSON CLI contracts, and a drop-in rules snippet: docs/AGENTS.md.
Features
- Any LLM, or none — OpenAI, Anthropic, Google, Groq, Ollama/local, any OpenAI-compatible endpoint; deterministic scenarios need zero keys
- Authenticated flows — reusable browser storage state; login once, demo logged-in forever
- Marketing-grade output — dev overlays hidden, loading noise trimmed (
videoStartStep), named region captures, custom cursor & click highlights - Story tools — on-screen
narratebeats, per-step notes in walkthroughs - Interactive TUI — wizards for recording and running (
autodemo record --interactive) - CI-grade —
--jsonoutput, stable exit codes,trace.zipon failure, artifacts contract inrun.json
How it compares
| | AutoDemo | Demo SaaS (Supademo, Arcade, Storylane…) | Screen recorders | | --- | --- | --- | --- | | Price | Free, OSS | $300–500/mo for HTML capture, per-seat | $10–30/mo | | Freshness | Regenerated in CI | Manual re-capture | Manual re-record | | Output | Video + walkthrough + stills, one run | Usually one format | Video only | | In git / code review | ✅ | ❌ | ❌ | | Agent-operable (MCP) | ✅ | ❌ | ❌ |
The SaaS tools are great for no-code editing, analytics, and hosted demo hubs. AutoDemo is for teams who want demos to be build artifacts.
Docs
| | |
| --- | --- |
| CLI reference | commands, flags, exit codes |
| Configuration | .autodemo.yml, step types, LLM providers, auth state |
| GitHub Action | demos in CI |
| AI agents | MCP setup, JSON CLI, rules snippet |
| Recipes | copy-paste scenarios |
| Architecture | engines, runner, artifact pipeline |
| Testing · Local CI | development workflows |
Requirements
- Bun ≥ 1.3 (the installer sets it up)
- Playwright Chromium (one-time
bunx playwright install chromium) ffmpegfor MP4 export (optional — everything else works without it)
Contributing
The 15-minute setup, project tour, and good first issue list live in CONTRIBUTING.md. The lowest-friction contribution is a scenario recipe.
bun install && bun run playwright:install
bun test && bun run lint && bun run typecheckLicense
MIT © Praveen Palanisamy and AutoDemo contributors.

