pi-diff-review
Local diff review TUI extension for pi
Package details
Install pi-diff-review from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-diff-review- Package
pi-diff-review- Version
0.1.25- Published
- Jun 16, 2026
- Downloads
- 2,302/mo · 1,454/wk
- Author
- colton.padden
- License
- MIT
- Types
- extension
- Size
- 137.1 KB
- Dependencies
- 1 dependency · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"image": "https://github.com/user-attachments/assets/3fd00163-5d19-489b-94ed-3d4816c6cad3"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-diff-review
Embedded code reviews and AI summaries directly within pi.
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
Review a single file by using a git pathspec after --. Pi path autocomplete works here too:
/diff -- @src/index.ts
/diff --cached -- @src/index.ts
/diff main...HEAD -- @src/index.ts
/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.
Open one or more files or folders with /view:
/view src/index.ts src/review
/view expands folders into text files, renders them in the same review UI, and lets you annotate actual code lines instead of diff hunks.
Staged vs. unstaged changes
/diffshows unstaged working-tree changes only./diff --cachedshows 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
/diffreviews the current unstagedgit diff/view <files-or-folders>reviews source files directly/diff --cachedreviews staged changes/diff main...HEADreviews changes on the current branch relative tomain/diff <git-diff-args>passes arguments through togit diffhtoggles the command help modalj/kor arrow keys to moveg/Gto jump to the top or bottom of the diff[/]to jump to the previous or next filefto focus the current file, or clear file focusttoggles the left file sidebarctrl-u/ctrl-dto move up/down by half a pagestoggles inline comments/explanationsvtoggles the diff between unified and side-by-side split renderingwtoggles line wrap for long diff lines?toggles an AI-generated explanation for the current hunk/searches visible diff text, highlights matches, andn/Nmoves between them while a search is activeJ/Kto extend a highlighted selection into a comment rangeescclears the active selection, or exits review when no selection is active- File headers break the review into per-file sections with change counts
- Optional left sidebar lists files with
+/-counts and tracks the current file n/pto jump hunkscto add or edit a comment for the current line or selected rangeCto add or edit an overall diff commentxto delete a comment for the current line or selected rangeEnterto submit comments back to pi- Comments are cached per session and restored when reopening the same diff or view
- File comments are also persisted in a repo-local workspace store and shown again in
/viewor on matching lines in/diff - The UI indicates persisted comments that are hidden in the current files, elsewhere in the workspace, stale, or orphaned
qto exit
Contributing
See CONTRIBUTING.md for development and release instructions.