# Introduction

What rapid is, what it makes, and how its parts fit together.

rapid is a local video studio that Claude Code drives. A brief goes in; agents storyboard it, build each scene as an HTML page, review the frames, and render the scenes in parallel; an MP4 comes out. Everything runs on one Mac. Nothing is hosted.

## How it works

- **Deterministic scenes.** A scene is HTML, CSS, and pinned libraries under a virtual-time runtime that owns every clock the page can read. Frame `k` draws the same pixels in any order, so a scene renders in parallel chunks. See [scenes](/docs/scenes).
- **Linked styles.** A scene links its style (`rapid:style`) instead of copying it: palette, faces, type scale, margins, motion, a sound map, a stylesheet for [the kit](/docs/styles-and-formats#the-kit), and `taste.md`, the rules reviewers judge by. A format is the deliverable: frame, rate, guides, the phone copy's size cap. See [styles and formats](/docs/styles-and-formats).
- **A job graph.** A video is a job: nodes (storyboard, key frames, builds, renders, checks, reviews, approvals, join, mix, mux, phone copy) run like a build system, with fingerprints and staleness, queued through [lanes](/docs/lanes). See [the job graph](/docs/the-job-graph).
- **Two-pass review.** Code checks every frame first (crops, the readable band, keep-outs, the safe area, text size, fonts, script errors, dead time, layout). A reviewer agent then reads a contact sheet against the style's taste and writes marks. A person's notes are the same marks. See [review](/docs/review).

## The parts

| Part | Is |
|---|---|
| `rapid` CLI and daemon | the daemon on `127.0.0.1:4317`: the job graph, the lanes, the SQLite event log, the screening page. `rapid setup` makes the command; `rapid daemon ensure` starts the daemon. Job commands talk to it; render, style, and format commands run without it |
| engine | the renderer: HTML and canvas scenes in headless Chrome, ffmpeg, the code checks, the sound mix |
| Claude Code plugin | the pane, the `/rapid` command, the MCP server (`rapid mcp`), and the agents and skills the daemon's sessions load |
| styles and formats | data packages pinned per project in `rapid.lock`; `bubble`, `conspiracy`, `launch`, `poster`, `swiss`, `terminal`, `reel`, `square`, and `wide` are built in |
| styles repository | the `styles/` folder of rapid's GitHub repository: `rapid style add <name>` installs from it, a pull request adds to it |

Scene code, frames, contact sheets, and WAVs stay in the project. Agent sessions talk to Claude; GitHub is contacted only to fetch a style. A look lives in a style and a cast in a project; neither lives in code.

Next: [install](/docs/install), then [your first video](/docs/first-video).
