Catch up with what your coding agents committed, and answer back.
debrief is a terminal tool for reading what coding agents committed in git or jj. It shows which commits are new since you last looked, shows each one as a single diff, takes comments on diff lines, and hands them back to the agent as one markdown review.
- It knows what you haven't read. The log marks new commits
●, and jj commits rewritten since you saw them◐. It opens on the oldest one you haven't seen. Uncommitted work shows as a row of its own. - A commit is one diff. Every file in one highlighted stream, with a
file list beside it.
Tswitches between hunks and whole files,tbetween unified and side by side. - Comments go back to the agent.
cccomments on a line,v…con a range, and Tab marks a comment as an issue, suggestion, question or nit.<leader>rrsends the batch as one markdown review: to the mu agent working in that repo withdebrief-send, to any command, or to the clipboard. - It shares the review with ramble. Comment on the plan in ramble and on the commit that implemented it in debrief, then send both at once.
- You can pick up where you stopped.
<leader>sssaves a commit's comments and view; reopening the commit restores them, and quitting with unsaved work asks first. - It never writes to your repo. No checkout, amend or index refresh,
and reviews live outside it: the comment batch and seen marks in your
cache dir, saved sessions in your state dir. The one exception is jj's
working-copy snapshot, which ordinary jj commands take too;
--no-snapshotturns it off. - Your fingers already know it. Vim motions, search and visual mode;
g?lists every key, andC-h/j/k/lmove between panes and on into tmux or rex.
- A git client. No staging, committing or rebasing.
- A forge or PR review tool. It reviews local commits and hands the review to whoever made them.
- An editor.
<leader>oopens$EDITORat the line;<leader>Oopens it in a tmux or rex split and the diff follows its cursor. - A markdown reader.
.mdfiles open in ramble.
cargo install debriefPrebuilt binaries for macOS (Apple silicon) and Linux (x86_64, aarch64)
are on the releases page, or with
mise: mise use -g github:martintrojer/debrief. From a
checkout: cargo install --path crates/debrief.
You need git or jj on PATH. The log's session marker is a Nerd Font
glyph.
debrief # the repo holding the working directory
debrief path/to/repo # any path inside a repo
debrief --revset 'main..' # jj revset or git revision rangeNo config needed. debrief --init-config writes every option, commented
out.
- Guide: the log, the commit view, keys, comments, sessions, sending, tmux and rex
- Default config: every option, with its default
- Design: how it works and why
Young and moving fast. MIT licensed.
