{
  "markdown": "# VibeMovie\n\n**Your vibe coding session, as a movie.**\n\nTransforms your AI-assisted coding activity into a cinematic, narrated video — complete with chapters, a storyline, dramatic music, and visual effects. Not a screen recording. A movie.\n\n## Demo\n\n[▶ Watch the launch video](branding/launch-video.mp4) — what if claude made a movie about your PR?\n\nhttps://github.com/pooriaarab/vibemovie/raw/main/branding/launch-video.mp4\n\n## Install\n\n```bash\nnpm i -g vibemovie\n# or run it directly\nnpx vibemovie --help\n```\n\n## Quick start\n\n```bash\n# render a session recap from a JSON events file (or stdin)\nvibemovie render session.json\n# → writes ./vibe-recap.html — open it in any browser\n\nvibemovie render session.json --ratio 9:16 --template speedrun --out recap.html\ncat session.json | vibemovie render\n\n# expose the render tool to your agent\nvibemovie mcp\n```\n\nThe default engine is **Hyperframes**: the recap is a self-contained animated\nHTML page rendered fully **offline** — **zero API keys**, no network, nothing\nleaves your machine. (Gen-video providers like Sora/Wavespeed slot into the\ncascade above it later; v0 ships the guaranteed floor.)\n\nInput is a JSON array of events (or `{ \"events\": [...] }`):\n\n```json\n[\n  { \"kind\": \"task-done\", \"ts\": 1769500000000, \"agent\": \"claude-code\", \"cwd\": \"/repo/demo\",\n    \"payload\": { \"label\": \"Refactor auth middleware\", \"durationMin\": 18 } },\n  { \"kind\": \"tests-pass\", \"ts\": 1769503600000, \"payload\": { \"passed\": 42 } },\n  { \"kind\": \"pr-merged\", \"ts\": 1769505100000, \"payload\": { \"pr\": 42, \"branch\": \"main\" } }\n]\n```\n\nLibrary usage:\n\n```ts\nimport { renderMovie } from 'vibemovie';\n\nconst { html, path } = await renderMovie(events, {\n  ratio: '16:9',            // '16:9' | '9:16' | '1:1'\n  template: 'documentary',  // 'documentary' | 'speedrun' | 'meme'\n  out: 'recap.html',        // optional — omit to just get the HTML string\n});\n```\n\n`buildScenes(events)` (events → scene list) and `renderHyperframes(scenes)` (scene list → HTML) are pure and exported for custom pipelines.\n\n## Why Build This\n\n- VibeReplay captures sessions — VibeMovie turns them into stories\n- \"I built a SaaS in 4 hours\" is interesting — a cinematic version of it is unforgettable\n- Content creators spend hours editing coding videos — this automates the entire pipeline\n- Every VibeMovie shared is a viral ad for the tool\n- Think: AI-generated documentary of your coding process\n\n## Features\n\n- **Story arc** — AI analyzes your session and creates a narrative: setup, struggle, breakthrough, deploy\n- **Cinematic editing** — Automatic cuts, zooms, transitions, and focus on the interesting parts\n- **AI narration** — Generated voiceover that explains the journey: \"At minute 23, everything broke...\"\n- **Dynamic soundtrack** — Music that matches the emotional arc (powered by VibeRadio engine)\n- **Code highlights** — Key code snippets rendered beautifully with syntax highlighting and annotations\n- **Stats overlay** — Lines of code, files changed, tokens used, time elapsed\n- **Chapters** — Auto-generated based on git commits and milestones\n- **Multiple formats** — YouTube (16:9), X/TikTok (9:16), LinkedIn (1:1), GIF summary\n- **Thumbnail generation** — AI-generated thumbnail optimized for clicks\n- **Templates** — Documentary, tutorial, speedrun, meme\n\n## Generation engine (cascade)\n\nVideo generation follows the shared `@vibe/core` cascade so it always works:\n\n1. **Your existing model** — if your agent's provider does video (e.g. Sora via your\n   OpenAI), use it.\n2. **A video-gen key you bring** — Wavespeed, Replicate, or similar.\n3. **Hyperframes fallback** — pure HTML/CSS/JS animated \"video\" (a rendered,\n   animated web page). No generative-video model, no key, no network — always\n   available. (The prototype below _is_ a working Hyperframes recap.)\n\nOptions across all tiers: **sync/live** (scenes build as the agent works) or\n**async** (rendered after a turn/session) — user-configurable per hook · **aspect\nratios** 16:9 / 9:16 / 1:1 / GIF · **sound on/off** (soundtrack via the VibeRadio\nengine + optional narration) · **subtitles/captions** · **transitions & templates**\n(documentary, tutorial, speedrun, meme) · **avatar narrator** — if you've set up a\npersonal likeness/voice (e.g. HeyGen, or an on-device avatar), the recap can be\nnarrated by your avatar instead of an abstract summary.\n\n## Distribution\n\n- **CLI** — `vibemovie render session.json` (today) · `--session <id>` / `--repo .` (planned)\n- **npm package** — `npm install -g vibemovie`\n- **MCP server** — `vibemovie mcp` exposes a `render` tool your agent can call\n- **Claude Code skill** — `/vibemovie` to render your last session\n- **skills.sh** — Listed on skills.sh marketplace\n- **Web app** — Upload a git repo, get a movie of its entire history\n\n## Tech Stack\n\n- Node.js + TypeScript\n- Remotion (video rendering)\n- Claude API (narrative generation, story arc)\n- ElevenLabs (voiceover)\n- Tone.js (soundtrack — shared with VibeRadio)\n- FFmpeg (post-processing)\n\n## Prototype\n\nInteractive, self-contained UX prototype (no build, no network): open\n[`docs/prototype.html`](docs/prototype.html) in a browser — it plays a real\nHyperframes recap with a working scrubber, the cascade selector, and an avatar\nnarrator toggle.\n\n## Local-first\n\nRuns on your own machine. The Hyperframes tier renders fully offline; nothing leaves\nyour machine unless you opt into a hosted video model. Enforced by the `@vibe/core`\nconsent model.\n\n## Vibe Suite\n\nPart of the **Vibe Suite** — companion tools for agentic coding CLIs (Claude Code,\nCodex, Cursor, Gemini, Grok, pi, Kimi, and other harnesses). Ships as **CLI + npm\npackage + MCP server**.\n\n## Relationship to VibeReplay\n\n- **VibeReplay** = raw capture + timelapse (quick, functional)\n- **VibeMovie** = cinematic, narrated, story-driven (polished, shareable)\n- VibeMovie can use VibeReplay recordings as input\n\n## Revenue Potential\n\n- Free tier: 1 movie/month, watermarked, 720p\n- Pro: unlimited, 4K, custom branding, all templates\n- Studio: team movies, custom narration voice, API access\n",
  "bytes": 6033,
  "sha": "8e77a1f41fc46b424b40a851cda93191dfa7d125c6a5331692e69f3898919c5b",
  "repo_slug": "pooriaarab/vibemovie",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_pooriaarab_vibemovie_216060bb/readme"
}