Overview

What diffing is, who it is for, and how the pieces fit together.

What it is

diffing replaces git diff when you want a review workspace instead of a patch dump:

  • Humans review changes in a local browser UI (or experimental native TUI), leave inline comments, and send rounds to an agent.
  • Agents discover the server via a per-repo lockfile, fetch comments, reply/resolve, submit plans for approval, and inspect diffs in bounded slices.
  • Nothing leaves the machine by default — bind is 127.0.0.1, storage is under ~/.diffing/.

What it is not

  • Not a hosted SaaS or cloud review product
  • Not a replacement for GitHub PR hosting (though it can mirror a PR for local review)
  • Not only a terminal pager — the TUI is opt-in/experimental; web is the supported production path

Surfaces

SurfaceCommandRole
Web review UIdiffing / --webFull review: comments, plans, search, themes
Native TUIdiffing --tui / mode tuiExperimental full review in terminal
Read-only viewerdiffing viewFast interactive diff browser
Terminal patchpipe / --terminalStandard unified diff on stdout
MCPdiffing mcpTool surface for AI coding agents
CLI agent cmdsawait-review, reply, plan …Port-agnostic handoff

Core loops

Code review

human opens diffing → comments on lines → Send to agent
  → agent replies / edits / resolves → human continues

Plan review

agent submits markdown plan → human comments + verdict
  → approved → implement
  → changes-requested → revise same plan id
  → rejected → stop

Design language

The product UI uses Gridline — a terminal-native design system shared by the web UI and Rust TUI. Flat surfaces, monospaced type, one-pixel rules, color for state not decoration. See Gridline.

Next