My name is deff
deff is a Rust TUI: interactive, side-by-side file review for git diffs with per-file navigation, vertical and horizontal scrolling, syntax highlighting, and added/deleted line tinting.
Run the installer script from this repository:
curl -fsSL https://raw.githubusercontent.com/flamestro/deff/main/install.sh | bash
Installer source: https://github.com/flamestro/deff/blob/main/install.sh
The script checks for cargo, clones this project into a temporary directory, installs it, and removes the temporary checkout.
If you have local edits (including untracked files) and want to review them before committing, run:
deff --include-uncommitted
This opens the side-by-side review so you can check exactly what changed in your working tree.
upstream-ahead strategy (default) to compare local branch changes against its upstreamrange strategy for explicit --base / --head comparison--include-uncommitted mode to include working tree and untracked filesh/j/k/l, g/G, Ctrl+u/Ctrl+d)/ + Enter, then n / N to navigate matches)r) with local persistence under .gitSingle-line change view:
Multi-line change view:
deff deff --strategy upstream-ahead deff --strategy range --base origin/main --head HEAD deff --strategy range --base origin/main --include-uncommitted deff --theme dark
Show help:
deff --help
Prerequisites:
cargo)gitBuild locally:
cargo build --release --locked ./target/release/deff --help
Optionally install it to your local Cargo bin path:
cargo install --path . deff --help
Run it inside any git repository you want to review:
cd /path/to/your/repo
deff
deff --base origin/main --head HEAD
deff --base origin/main --include-uncommitted
If your branch has no upstream configured, use the explicit --base flow.
Theme selection:
deff prefers a dark syntax theme (better for black/dark terminals).--theme auto|dark|light to control rendering for your terminal.--theme takes precedence over DEFF_THEME=dark|light.Search and reviewed workflow:
/ to enter a search query for the current file (searches both panes).Enter to apply the query, then use n / N to jump matches.r to mark the current file reviewed/unreviewed..git/deff/reviewed/ and keyed by comparison scope + file content hash.This repo ships with .github/workflows/bump-version.yml.
v0.1.0Cargo.toml/Cargo.lock on the default branch using commit prefixes (feat: -> next minor, chore:/docs: -> next patch)See CONTRIBUTING.md for local setup, commit message conventions, and release/versioning rules.
For a module-level map and extension plan, see docs/architecture.md.