| name | code-review |
| description | Review code changes using Ringi — local-first structured review with web UI. Use when: "review", "code review", "/review", reviewing staged changes, branch diffs, or commit ranges. Ringi is the review tool; Pi is the workflow glue.
|
Code Review with Ringi
Ringi is the single source of truth for review state. Pi creates review sessions and opens the ringi web UI. Do not duplicate ringi's structured review in freeform LLM output.
Quick path
git add -A
/review
Or from the CLI directly:
ringi serve
ringi review create
ringi review resolve last --yes
ringi export last --output r.md
Review sources
| Source | Command | When to use |
|---|
| Staged changes | /review | Default. Safest explicit review source |
| Branch divergence | /review --branch main | Before pushing a feature branch |
| Specific commits | /review --commits a1b,c2d | Reviewing an agent's commit batch |
| GitHub PR | /review --pr <url> | Reviewing a pull request |
Preview before creating: ringi source diff staged --stat
What happens when you run /review
- Pi checks prerequisites (ringi CLI, git repo, staged changes)
- Pi ensures
ringi serve is running (starts it if needed)
- Pi calls
ringi review create --json to snapshot the diff
- Pi opens the ringi web UI in a cmux browser pane
- You review in the browser: inline comments, code suggestions, todos
- When done:
ringi review resolve last --yes to approve
What Pi should NOT do
- Do not perform freeform LLM code review — ringi structures that
- Do not generate review summaries — ringi exports handle that
- Do not create review findings in chat — use ringi's inline comments
- Do not track review state — ringi's SQLite database is the source of truth
When ringi is unavailable
If ringi is not installed, tell the user:
ringi not found. Install: pnpm install -g ringi
If no staged changes exist:
No staged changes. Stage files first: git add <files>
Useful follow-up commands
ringi review show last --comments --todos
ringi todo list
ringi review export last
ringi review resolve last --yes
Non-negotiables
- Ringi owns review state. Pi does not.
- Reviews are immutable snapshots. The diff is anchored at creation time.
- Always stage explicitly before reviewing. Do not auto-stage.
- The web UI is the review surface, not the terminal.