About this project

Reel is an open-source tool for creating demos-as-code for web apps and command-line interfaces. A small YAML spec drives the real application — either in a Chromium browser via Playwright or in a real terminal — and records what actually happens. The recorded footage is then rendered into always-current GIFs, MP4s, WebM files, PNG storyboards, and interactive HTML compositions powered by HyperFrames. The workflow centers on a spec file: write or capture it, run `reel check` to verify every step still works, then `reel shoot` to produce footage. `reel compose` scaffolds a HyperFrames project, and authors fill in scene descriptions before rendering. Key features: - **Capture mode**: drive your app manually and let Reel write the spec automatically, including stable accessibility-based selectors. - **Scene grammar**: title cards, callouts, highlights, transitions, diagrams (Mermaid), zooms, scrolls, and drag gestures structured into directed sequences rather than raw recordings. - **Delivery presets**: optimized outputs for READMEs, social media, docs, and high-fidelity sharing. - **Audio**: optional narration via ElevenLabs or OpenAI, synthesized sound effects, background music with ducking, and picture-wait-for-voice sync. - **Subtitles & localization**: sidecar SRT/VTT files with LLM-translated variants per language. - **Auth handling**: sign in once off-camera with a saved Playwright session; demos replay authenticated without exposing passwords in specs. - **Determinism**: freezes clocks, disables animations, pins locale/timezone for reproducible renders. - **Claude Code plugin**: build and polish demos through natural language using `/reel` and `/reel-polish` skills. - **Studio UI**: a local Next.js interface for spec editing, recording with live preview, AI authoring, and drift-checking. - **CI integration**: `reel check` acts as a smoke test that fails the pipeline when demo flows break. - **Editor support**: YAML schema auto-completion for VS Code, JetBrains, and Neovim. Everything runs locally — 100% MIT licensed, no SaaS, no hosting required. Requires Node.js 22+ and TypeScript.