🎬 Demo videos as code — configure once, re-run forever. YAML + Playwright → polished, consistent product feature videos.
See the code🎬 Open-source product demo video maker for websites. Create consistent website demo videos from YAML configuration with Playwright — no manual clicking or re-recording.
Turn versioned scenario configs into consistent product feature videos — reconfigure, re-run, no manual re-recording.
Product UIs keep changing, so demo videos go stale. Re-recording by hand (or asking an agent to “just make a video”) is slow, costly, and still needs a human check.
With demo-maker you version the walkthrough as YAML: edit steps, re-run, get the same MP4. Fragments and imports make flows reusable; you or an agent can maintain the scripts like code.
Side effect: writing stable locators surfaces real UI gaps—missing labels, duplicate accessible names, hard-to-target list rows—so you often fix accessibility while building the demo.
npx playwright install chromium)PATH (MP4 re-encode, cut_video splice, background audio)Published on npm as @a1knowhow/demo-maker:
npm install -D @a1knowhow/demo-maker
npx playwright install chromium
Or from a clone:
npm install
npx playwright install chromium
The package ships TypeScript source and runs via tsx. Library imports (import … from "@a1knowhow/demo-maker") need a TypeScript-capable toolchain (tsx, Vitest, or a bundler). See Security for runtime capabilities.
npx demo-maker run examples/smoke.yaml --headless --fast
Step-by-step (install → first MP4 → record → fragments): Getting started · docs on GitHub
Intro tour: open this repo on GitHub and walk getting-started → actions → locators (imports, title cards, captions, pacing):
npx demo-maker run examples/demo1-introduction.yaml
Richer CI walkthrough (Actions → green run → test job):
npx demo-maker run examples/demo2-github-actions.yaml
(examples/demo1-introduction.yaml · examples/demo2-github-actions.yaml · examples/smoke.yaml for a minimal check)
Site: https://a1knowhow.github.io/demo-maker/
| Topic | Docs site | Source |
|---|---|---|
| Index | docs site | docs/index.md |
| Getting started | getting started | docs/getting-started.md |
| CLI | CLI | docs/cli.md |
| Actions | actions | docs/actions.md |
| Locators | locators | docs/locators.md |
| Video & pacing | video & pacing | docs/video-and-pacing.md |
| Recording | recording | docs/recording.md |
| Repair after UI changes | repairing | docs/repairing-scenarios.md |
Typed schema: src/types.ts.
| Command | Purpose |
|---|---|
demo-maker run <scenario.yaml> | Execute scenario (optional video) |
demo-maker check <scenario.yaml> | run with --fail-fast --fast |
demo-maker record | Live-record actions to YAML |
demo-maker import | Convert DevTools / recorder JSON → YAML |
demo-maker export-chapters | Timing JSON → YouTube chapter lines |
Report vulnerabilities privately — see SECURITY.md. Do not open public issues for security bugs.
Apache License 2.0 — see LICENSE.
demo-maker was created originally for building demo videos for A1KnowHow — AI workflows, document organisation, chat, search, and AI agents with skills and MCP tool integration.
TypeScript
99.8%
🎬 Demo videos as code — configure once, re-run forever. YAML + Playwright → polished, consistent product feature videos.
See the code🎬 Open-source product demo video maker for websites. Create consistent website demo videos from YAML configuration with Playwright — no manual clicking or re-recording.
Turn versioned scenario configs into consistent product feature videos — reconfigure, re-run, no manual re-recording.
Product UIs keep changing, so demo videos go stale. Re-recording by hand (or asking an agent to “just make a video”) is slow, costly, and still needs a human check.
With demo-maker you version the walkthrough as YAML: edit steps, re-run, get the same MP4. Fragments and imports make flows reusable; you or an agent can maintain the scripts like code.
Side effect: writing stable locators surfaces real UI gaps—missing labels, duplicate accessible names, hard-to-target list rows—so you often fix accessibility while building the demo.
npx playwright install chromium)PATH (MP4 re-encode, cut_video splice, background audio)Published on npm as @a1knowhow/demo-maker:
npm install -D @a1knowhow/demo-maker
npx playwright install chromium
Or from a clone:
npm install
npx playwright install chromium
The package ships TypeScript source and runs via tsx. Library imports (import … from "@a1knowhow/demo-maker") need a TypeScript-capable toolchain (tsx, Vitest, or a bundler). See Security for runtime capabilities.
npx demo-maker run examples/smoke.yaml --headless --fast
Step-by-step (install → first MP4 → record → fragments): Getting started · docs on GitHub
Intro tour: open this repo on GitHub and walk getting-started → actions → locators (imports, title cards, captions, pacing):
npx demo-maker run examples/demo1-introduction.yaml
Richer CI walkthrough (Actions → green run → test job):
npx demo-maker run examples/demo2-github-actions.yaml
(examples/demo1-introduction.yaml · examples/demo2-github-actions.yaml · examples/smoke.yaml for a minimal check)
Site: https://a1knowhow.github.io/demo-maker/
| Topic | Docs site | Source |
|---|---|---|
| Index | docs site | docs/index.md |
| Getting started | getting started | docs/getting-started.md |
| CLI | CLI | docs/cli.md |
| Actions | actions | docs/actions.md |
| Locators | locators | docs/locators.md |
| Video & pacing | video & pacing | docs/video-and-pacing.md |
| Recording | recording | docs/recording.md |
| Repair after UI changes | repairing | docs/repairing-scenarios.md |
Typed schema: src/types.ts.
| Command | Purpose |
|---|---|
demo-maker run <scenario.yaml> | Execute scenario (optional video) |
demo-maker check <scenario.yaml> | run with --fail-fast --fast |
demo-maker record | Live-record actions to YAML |
demo-maker import | Convert DevTools / recorder JSON → YAML |
demo-maker export-chapters | Timing JSON → YouTube chapter lines |
Report vulnerabilities privately — see SECURITY.md. Do not open public issues for security bugs.
Apache License 2.0 — see LICENSE.
demo-maker was created originally for building demo videos for A1KnowHow — AI workflows, document organisation, chat, search, and AI agents with skills and MCP tool integration.
TypeScript
99.8%