Skip to content

cmpadden/pi-diff-review

Repository files navigation

pi-diff-review

pi-diff-review

Embedded code reviews and AI summaries directly within pi.

pi-diff-review-screenshot

Install

Install from npm:

pi install npm:pi-diff-review

Or install directly from GitHub:

pi install https://github.com/cmpadden/pi-diff-review

For local development, clone the repository and install from the local path:

git clone https://github.com/cmpadden/pi-diff-review
pi install ./pi-diff-review

Usage

Start a review with /diff. By default, this reviews your current unstaged changes:

/diff

Review staged changes with --cached:

/diff --cached

Review a branch or commit range by passing any git diff arguments after /diff:

/diff main...HEAD

/diff <git-diff-args> is passed through to git diff, so these examples are equivalent to running git diff, git diff --cached, and git diff main...HEAD locally before opening the review UI.

Staged vs. unstaged changes

  • /diff shows unstaged working-tree changes only.
  • /diff --cached shows staged changes only.
  • If you have both staged and unstaged edits, run both commands separately to review each set.
  • To review everything relative to a base branch, use a range such as /diff main...HEAD.

Features

  • /diff reviews the current unstaged git diff
  • /diff --cached reviews staged changes
  • /diff main...HEAD reviews changes on the current branch relative to main
  • /diff <git-diff-args> passes arguments through to git diff
  • j/k or arrow keys to move
  • g/G to jump to the top or bottom of the diff
  • ctrl-u / ctrl-d to move up/down by half a page
  • t toggles inline comments/explanations
  • v toggles the diff between unified and side-by-side split rendering
  • ? toggles an AI-generated explanation for the current hunk
  • / searches diff lines; n/N moves between matches while a search is active
  • J/K to extend a highlighted selection into a comment range
  • esc clears the active selection, or exits review when no selection is active
  • n/p to jump hunks
  • c to add or edit a comment for the current line or selected range
  • C to add or edit an overall diff comment
  • x to delete a comment for the current line or selected range
  • Enter to submit comments back to pi
  • Comments are cached per session and restored when reopening the same diff
  • q to exit

Contributing

See CONTRIBUTING.md for development and release instructions.