https://github.com/notfilippo/review
Review is a local code review UI for reviewing jj or git diffs in the browser via CLI
https://github.com/notfilippo/review
agent cli diff git jj review vcs
Last synced: about 4 hours ago
JSON representation
Review is a local code review UI for reviewing jj or git diffs in the browser via CLI
- Host: GitHub
- URL: https://github.com/notfilippo/review
- Owner: notfilippo
- Created: 2026-06-22T14:08:53.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2026-06-30T19:33:36.000Z (5 days ago)
- Last Synced: 2026-06-30T21:18:54.790Z (5 days ago)
- Topics: agent, cli, diff, git, jj, review, vcs
- Language: JavaScript
- Homepage:
- Size: 313 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Review
A local browser UI for reviewing [Jujutsu](https://jj-vcs.github.io/jj/latest/) (`jj`) revsets and Git diffs.
`review` renders one combined diff in your browser, lets you leave inline comments, and prints those comments as Markdown when you finish.

## ⚙️ Install
```sh
cargo install --locked --git ssh://git@github.com/notfilippo/review.git
```
## ▶️ Usage
Run `review` from a Jujutsu or Git repository.
```sh
review
```
The browser opens with the current changes. Click **Finish review** to print comments to stdout as Markdown.
By default, `review` compares the repository mainline (`trunk()` for jj, the default branch for Git) with your current working copy, including uncommitted changes.
In local-only repos without a discovered Git mainline, it uses an empty base to match jj's root-based `trunk()` behavior.
## 🤖 AI Agent Workflow
Two workflows work well with Codex, Claude, or another coding agent.
**Agent runs `review`**
Ask the agent to pick the right diff and wait for the browser review:
```text
Use the `review` CLI to let me review the full code change. Check `review --help`, choose the right diff options for this repository, wait for me to finish in the browser, then use the Markdown comments from stdout to fix the issues.
```
**You run `!review`**
Use this when you want to pick the diff yourself and drive the browser review:
```sh
!review
```
```text
Use the review comments above and fix them.
```
When the command exits, the Markdown comments are still in the conversation context.
### Backends
#### Jujutsu (`jj`)
```sh
# Review a revset as one combined diff.
review -r '@'
```
`-r` accepts a Jujutsu revset and is rendered like one `jj diff -r ` review.
#### Git
```sh
# Review a commit range.
review --from main --to HEAD
```
## UI
The browser UI uses Pierre's [@pierre/diffs](https://www.npmjs.com/package/@pierre/diffs) and [@pierre/trees](https://www.npmjs.com/package/@pierre/trees) packages, loaded as native ESM modules through esm.sh.