reslop

Review diff and plan changes

reslop

Prepare specs for the agent. Leave feedback, add todos. Generate a plan the agent executes.

AI code review review for AI-generated code

npm i -g reslop
GitHub Usage
reslop: acme/ lib/auth.js unstaged 1/3
function verify(token, users) {
if (!token) return null;
- const user = users.find(u => u.token == token)
+ const user = users.find((u) => u.token === token);
- if (!user) throw "unauthorized"
+ if (!user) {
+ throw new Error('unauthorized');
+ }
return user;
}
FEEDBACK
[ ]use strict equality - lib/auth.js:12:14:0
click or focus, then type

Same keys as the terminal. m cycles layout. l files. f / t notes. ← β†’ walk files.

Two directions. One loop.

You

Review AI-generated code

Walk the uncommitted diff or a commit. Intra-line highlighting paints the words that actually differ β€” even a close edit inside one word. Stage, unstage, revert, or skip each block.

Agent

AI reviews, then executes

Feedback and todos land in a dated markdown file. Finish as ready. The agent works through the checkboxes, marks partial until every item is [x].

What it does

+Intra-line highlighting

Stronger red and green on the tokens that differ. A one-character edit does not paint the whole word.

+Block actions

Each contiguous hunk can be added, unstaged, reverted to HEAD, skipped, or stepped with next and prev. Commit review is read-only.

+Three layouts

m cycles unified, mixed, and side-by-side. Syntax colors sit on top of the diff paint.

+Plan generation

Notes go in .review/YYYY-MM-DD-NN.md. A heading names the file. Todos are checkboxes. Feedback carries path:old:new:block.

+Agent contract

Resume editing. Finish marks ready. The agent executes ready and partial, never editing or done. .review/ is omitted from the diff list.

+Terminal native

Clickable footer, drag-to-copy (OSC 52, then wl-copy / xclip / xsel). Node.js 18+, git, no runtime dependencies.

How it works

Open the diff

No arguments lists files. A path opens that file. A revision that is not also a path opens that commit’s patch.

Mark the work

f feedback on a block. t a todo for the file. Autosave while you type. ⌫ removes a todo.

Finish as ready

q then f marks the review ready for the agent. c keeps it editing for next time. -n always starts a new file.

The plan the agent reads

One file. Frontmatter status. Checkboxes the agent ticks as it goes.

  • editing Still writing the review in reslop
  • ready Ready for AI to work through the checkboxes
  • partial AI started; some items remain
  • done All items marked [x]
---
status: ready
---

# reslop review 2026-09-08-00

## Agent instructions
Execute reviews with `status: ready` or `status: partial`.
Do not start `editing` or `done` review files.
Work through unchecked items. After finishing one, mark it `[x]`.

## lib/auth.js

- [ ] reject missing Bearer tokens
- [ ] use strict equality - lib/auth.js:12:14:0

## lib/session.js

- [ ] do not keep week-long cookies
- [x] session maxAge is 15 minutes - lib/session.js:28:28:0

Install

# Node.js 18+
npm i -g reslop

# working tree, or a commit, or a path
reslop
reslop -n
reslop path/to/file
reslop 7ac260c
reslop HEAD~1 path/to/file
reslop --help

From a clone: npm run enable links ~/.local/bin/reslop. npm run disable removes it.

Keys and buttons

KeyAction
aStage this block (git add)
uUnstage this block (keep worktree)
rRestore this block to the last commit
sSkip (leave unstaged, drop from review)
← pPrevious remaining block
β†’ nNext remaining block
lFile list (git status of this scope)
mCycle unified / mixed / side-by-side
fFeedback on this diff block
tNew todo for this file
⌫ DelRemove the selected todo
⏎Open the selected file
qQuit β€” f finish as ready, c keep editing
?Help