diffing

local-first CLI for reviewing, navigating, and discussing git diffs with AI

Packages

Package details

extension

Install diffing from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:diffing
Package
diffing
Version
0.16.1
Published
Aug 11, 2026
Downloads
3,040/mo · 234/wk
Author
ahmedragab20
License
MIT
Types
extension
Size
56.7 MB
Dependencies
21 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/pi"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

diffing

Local-first CLI for reviewing git diffs with humans and AI agents.

Open your changes in a GitHub-like web UI (or an experimental native TUI), leave inline comments, hand them to your coding agent over CLI/MCP, and review implementation plans the same way before any code is written. Everything binds to loopback by default — no account, no cloud.

npm: npmjs.com/package/diffing · Docs: ahmedragab20.github.io/diffing · Agents: llms.txt


Quick start

Requirements: Node.js 20+, git on your PATH.

npm install -g diffing
# or: pnpm add -g diffing

diffing setup          # first-time wizard (skills, MCP, doctor)
cd your-repo
diffing                # preferred interactive UI (web by default)

Useful variants:

diffing --staged
diffing main..feature
diffing view           # read-only native diff browser
diffing --tui          # full native review TUI (experimental)
diffing mode tui       # make TUI the interactive default
diffing update

TTY opens the interactive UI. Pipe or redirect prints a unified patch like git diff.


What you get

Area Highlights
Review UI Split/unified diffs, inline comments + severity, suggestions, image diffs, themes (52), search
Agents await-review, reply/resolve, progress, MCP (37 tools), skills via npx skills add ahmedragab20/diffing
Plan review Submit markdown → human verdict → approved / changes-requested / rejected
GitHub PR Local PR sessions (--gh-pr), bounded inspect, optional authorized publish
Sessions Concurrent web/TUI/PR reviews; diffing sessions task manager
Local-first 127.0.0.1, random free port, state under ~/.diffing/

TUI is experimental. Web is the supported production path. See docs.


Agent one-liners

diffing                          # human reviews in browser
diffing url                      # share link; async park by default
diffing await-review             # only when human is reviewing now
diffing comments --open
diffing reply <id> --body "…" --model "your-model"
diffing resolve <id>
diffing plan submit PLAN.md --model "your-model"
diffing mcp

Full agent protocol, exit codes, and MCP catalog: Documentation · in-repo AGENTS.md.


Documentation

Getting started https://ahmedragab20.github.io/diffing/docs/getting-started/
Agent handoff https://ahmedragab20.github.io/diffing/docs/guides/agent-handoff/
Plan review https://ahmedragab20.github.io/diffing/docs/guides/plan-review/
CLI reference https://ahmedragab20.github.io/diffing/docs/reference/cli/
MCP tools https://ahmedragab20.github.io/diffing/docs/reference/mcp/
Keyboard https://ahmedragab20.github.io/diffing/docs/reference/keyboard/
Design (Gridline) https://ahmedragab20.github.io/diffing/docs/design/gridline/
llms.txt https://ahmedragab20.github.io/diffing/llms.txt

Local site preview (contributors):

pnpm --dir site install --ignore-workspace
pnpm docs:dev

Links

License

MIT · github.com/ahmedragab20/diffing