Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

317 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: AGPL-3.0 npm

Recap

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:3000

A docs site generated and published with Recap

A docs site generated with Recap and published to docs.respeak.io — searchable, multi-language, three-column layout.

Generate docs from your codebase (AI-first)

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:3000

generate chains three steps you can also run on their own — handy for reviewing the plan before it records anything:

  1. analyze — scans the codebase (Next.js-aware, with a generic fallback), asks Gemini to identify user-facing features, and writes an editable plan.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.

  2. 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
  3. produce — generates TTS narration, merges audio + video with ffmpeg, 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.

Or generate from a video

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 ./docs
Usage: 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.

Publish as a docs site

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

A generated article page on the published docs site

What readers get: numbered steps, screenshots auto-captured from your app, an on-page table of contents, full-text search, and a language switcher.

Drive it from your repo with a coding agent

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 CLI

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

Example Output

Some things only have YouTube videos for docs. Recap fixes that:

More examples

Comparison

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

Full Platform

Recap also includes a full web platform with a rich text editor, published docs site, and more.

Features

  • 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

Tech Stack

Layer Technology
Framework Next.js (App Router), TypeScript
UI shadcn/ui, Tailwind CSS
Editor Tiptap
Database Supabase (PostgreSQL + RLS)
AI Google Gemini

Setup

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 dev

See the full setup guide in the repo.

License

AGPL-3.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages