A branch, staged in chapters

revue

Narrative code review in your terminal.

revue turns a branch’s diff into ordered, narrated chapters — a prologue, the acts, and the judgment calls that need a human — rendered entirely in your terminal. No server, no browser, no database.

Get started GitHub ↗
The revue terminal reviewer: a sidebar listing six chapters, a narrated chapter about GitHub permalinks, and a diff with two review threads — a human question and an agent's reply
revue show — reviewing one of revue’s own commits, chapter by chapter

The programme

Four commands, in order. Each one reads the last one’s output — a review is a pipeline, not a session.

Act I

revue prep — freeze the scope

Prep pins your Git changes into an immutable run: the patch, both snapshots, the numbered hunks. Nothing shifts underneath the review — not even a rebase.

Act II

revue-chapters — the agent writes the programme

The bundled skill has your coding agent read the run’s hunks, cluster them into narrated chapters, write the prologue, and flag the judgment calls only a human can make.

Act III

revue show — take your seat

The interactive reviewer: chapters in order, threads anchored to exact lines, copy path:line or a GitHub permalink, an optional semantic view — all from the keyboard.

Act IV

revue export — leave with a record

The reviewed run renders as deterministic Markdown — narrative, threads, and progress — ready for a PR description or an agent’s next pass.

Stage directions

Keyboard-first

Vim/less conventions throughout: ]c between chapters, tab between files, y to copy a selection, ? for the full map.

Threads agents can read

Review threads anchor to exact lines and round-trip through a public JSON interface, so your agent addresses feedback against the same pinned scope.

Two ways to read a diff

Pierre-powered patch view with side-aware highlights, plus an optional read-only Difftastic semantic view for structural changes.

Every colour from one theme

Contrast-aware palettes derived from bundled editor themes — switch with t, previewed live.

One directory of files

A run is a folder you can inspect, diff, and delete. State and threads are plain JSON beside the pinned patch.

Local by design

Runs never leave your machine. The only network access is the GitHub permalink you choose to copy.

Interval — try it

Requires Bun ≥ 1.3.

# clone and install
git clone https://github.com/mtford90/revue && cd revue
bun install

# tour the bundled sample run — no repository needed
bun run revue show examples/sample-run

# then stage your own branch
RUN=$(bun run revue prep)
bun run revue skill install   # give your agent the chapters skill
bun run revue show "$RUN"

Credits

revue combines ideas from MIT projects without taking on their application shells.

Stage
The brain — the chapter model and the clustering skill.
Pierre
The parser — diff parsing and syntax highlighting.
Hunk
The surfaces — bounded terminal rendering concepts.