Turn your product into documentation. Point Recap at a codebase or a video, and it generates structured Markdown docs — then publishes them as a polished, multi-language docs site.
npx @respeak/recap generate --codebase . --app http://localhost:3000A docs site generated with Recap and published to docs.respeak.io — searchable, multi-language, three-column layout.
Point Recap at your repo and your running app. It discovers the features, drives a real browser through each one, narrates the walkthrough, and produces narrated videos + Markdown docs with screenshots — no manual capture.
export GEMINI_API_KEY=your-key-from-https://ai.google.dev
npx @respeak/recap generate --codebase . --app http://localhost:3000generate chains three steps you can also run on their own — handy for reviewing the plan before it records anything:
-
analyze— scans the codebase (Next.js-aware, with a generic fallback), asks Gemini to identify user-facing features, and writes an editableplan.yaml.npx @respeak/recap analyze --codebase . --app http://localhost:3000 --hints "focus on settings + billing"
Open
plan.yaml, fill in app auth (login credentials), tweak the feature list and narration, choose output languages and a TTS voice. -
record— drives a real browser (Playwright) through every feature in the plan, capturing video and step-by-step screenshots.npx @respeak/recap record --plan plan.yaml
-
produce— generates TTS narration, merges audio + video withffmpeg, translates into your configured languages, and writes Markdown docs with the captured screenshots.npx @respeak/recap produce --plan plan.yaml
Output lands in ./generated/videos and ./generated/docs by default. Requires a free Gemini API key; produce also needs ffmpeg installed.
Some things only have a YouTube video for docs. Point Recap at a URL or a local file and get structured Markdown back:
npx @respeak/recap https://youtube.com/watch?v=your-video -o ./docsUsage: recap [options] <source>
Arguments:
source Video file path or URL
Options:
-o, --output <dir> Output directory (default: "./docs")
-k, --api-key <key> Gemini API key (or set GEMINI_API_KEY env var)
-f, --format <format> Output format: markdown, mdx (default: "markdown")
Use --format mdx for Docusaurus, Mintlify, or other MDX-based doc sites — it adds YAML frontmatter with title and sidebar_position.
Keep docs in your product repo as a docs/ folder (Markdown + a sync.json manifest) and sync them to a Recap project — no copy-pasted scripts:
npx @respeak/recap diff ./docs --api-key rd_xxx # preview changes, writes nothing
npx @respeak/recap push ./docs --api-key rd_xxx # publish (declarative reconciliation)Get an org API key (rd_…) from the Recap dashboard under API Keys, or set RECAP_API_KEY. Always diff before push — push is declarative, so anything not in sync.json is removed on the server. Syncs run manually with npx — pin an exact version (e.g. @respeak/recap@0.4.0) for reproducible runs. See docs/sync-client/ for the manifest format and cross-link rewriting.
What readers get: numbered steps, screenshots auto-captured from your app, an on-page table of contents, full-text search, and a language switcher.
Recap is built to be run by a coding agent right inside your repo. Install the bundled skill and the agent picks up the workflow — the diff-before-push gate, the Markdown block syntax, and the cross-link rules:
npx @respeak/recap skill --update # writes .claude/skills/recap/SKILL.md
npx @respeak/recap skill --check # exit 1 if the local skill drifted from the installed CLIThe skill is generated from the installed CLI version (the single source of truth), so a version bump shows up as drift in --check. Paired with the generate pipeline above, an agent can author docs from your codebase and keep your live docs site in sync — without you copy-pasting commands.
Some things only have YouTube videos for docs. Recap fixes that:
- AusweisApp & Online ID — Germany's eID function, docs scattered across government PDFs
- Elektronische Patientenakte — Germany's digital health record, docs fragmented across dozens of sites
- ELSTER Tax Filing — Germany's tax portal, so confusing it spawned an entire paid-software industry
- FFmpeg — the most used multimedia tool in the world, famously impenetrable docs
- Respeak Expert Platform — our own platform, dogfooding Recap
More examples
- Langdock Workflows — building AI agent workflows, from a product tour
- n8n Workflow Automation — from a 2-min tutorial
- Supabase Overview — from the official product tour
| Recap | Scribe | Tango | Manual | |
|---|---|---|---|---|
| Open source | Yes | No | No | N/A |
| From a codebase | Yes | No | No | No |
| From video | Yes | No (screenshots) | No (screenshots) | No |
| Self-hosted | Yes | No | No | N/A |
| Markdown/MDX output | Yes | No | No | Yes |
| Free | Yes | Freemium | Freemium | Yes |
Recap also includes a full web platform with a rich text editor, published docs site, and more.
- Rich text editor — Tiptap-based with code blocks, tables, images, callouts, and video timestamp links
- Mintlify-style docs site — Three-column layout with sidebar navigation, search, and language switching
- Multi-language support — Generate in English, translate to 7+ languages
- Corporate identity — Custom logos, brand colors, fonts, and CSS overrides
- Analytics — Page views, top articles, language breakdowns, search query tracking
- llms.txt — Auto-generated machine-readable docs for AI coding tools
| Layer | Technology |
|---|---|
| Framework | Next.js (App Router), TypeScript |
| UI | shadcn/ui, Tailwind CSS |
| Editor | Tiptap |
| Database | Supabase (PostgreSQL + RLS) |
| AI | Google Gemini |
git clone https://github.com/respeak-io/recap.git
cd recap
pnpm install
cp .env.example .env.local
# Fill in your Supabase + Gemini keys
supabase db push
pnpm devSee the full setup guide in the repo.
AGPL-3.0

