a1knowhow/demo-maker

🎬 Demo videos as code — configure once, re-run forever. YAML + Playwright → polished, consistent product feature videos.

TypeScript

3

33 commits

updated Sep 19, 2026

See the code

See what people are saying (1)

SourceMessageScoreDate

Made a small CLI that turns YAML walkthroughs into consistent demo videos (Playwright) (r/SideProject)

I build side projects and keep needing demo / walkthrough videos. First few I recorded by hand. Fine once. Then the UI changed and I had to do it again. That got old fast. So I extracted a small CLI from my main project: you describe the walkthrough in YAML (locators + actions), Playwright runs it,…

1

Sep 22, 2026

README

demo-maker

🎬 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.

Why?

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.

Requirements

  • Node.js 20+
  • Playwright Chromium (npx playwright install chromium)
  • ffmpeg on PATH (MP4 re-encode, cut_video splice, background audio)

Install

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.

Quick start

npx demo-maker run examples/smoke.yaml --headless --fast

Step-by-step (install → first MP4 → record → fragments): Getting started · docs on GitHub

Example walkthrough

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

View logs

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)

Documentation

Site: https://a1knowhow.github.io/demo-maker/

Typed schema: src/types.ts.

Commands

CommandPurpose
demo-maker run <scenario.yaml>Execute scenario (optional video)
demo-maker check <scenario.yaml>run with --fail-fast --fast
demo-maker recordLive-record actions to YAML
demo-maker importConvert DevTools / recorder JSON → YAML
demo-maker export-chaptersTiming JSON → YouTube chapter lines

Security

Report vulnerabilities privately — see SECURITY.md. Do not open public issues for security bugs.

License

Apache License 2.0 — see LICENSE.

About A1KnowHow

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.

automation
cli
demo
devtools
playwright
screen-recording
video
yaml

Contributors

masgari

25 commits

a1knowhow/demo-maker

🎬 Demo videos as code — configure once, re-run forever. YAML + Playwright → polished, consistent product feature videos.

TypeScript

3

33 commits

updated Sep 19, 2026

See the code

See what people are saying (1)

SourceMessageScoreDate

Made a small CLI that turns YAML walkthroughs into consistent demo videos (Playwright) (r/SideProject)

I build side projects and keep needing demo / walkthrough videos. First few I recorded by hand. Fine once. Then the UI changed and I had to do it again. That got old fast. So I extracted a small CLI from my main project: you describe the walkthrough in YAML (locators + actions), Playwright runs it,…

1

Sep 22, 2026

README

demo-maker

🎬 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.

Why?

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.

Requirements

  • Node.js 20+
  • Playwright Chromium (npx playwright install chromium)
  • ffmpeg on PATH (MP4 re-encode, cut_video splice, background audio)

Install

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.

Quick start

npx demo-maker run examples/smoke.yaml --headless --fast

Step-by-step (install → first MP4 → record → fragments): Getting started · docs on GitHub

Example walkthrough

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

View logs

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)

Documentation

Site: https://a1knowhow.github.io/demo-maker/

Typed schema: src/types.ts.

Commands

CommandPurpose
demo-maker run <scenario.yaml>Execute scenario (optional video)
demo-maker check <scenario.yaml>run with --fail-fast --fast
demo-maker recordLive-record actions to YAML
demo-maker importConvert DevTools / recorder JSON → YAML
demo-maker export-chaptersTiming JSON → YouTube chapter lines

Security

Report vulnerabilities privately — see SECURITY.md. Do not open public issues for security bugs.

License

Apache License 2.0 — see LICENSE.

About A1KnowHow

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.

automation
cli
demo
devtools
playwright
screen-recording
video
yaml

Contributors

masgari

25 commits

Languages

TypeScript

99.8%