Review and refine Git diffs before you push
Go to file
Tommy Guo 0478c03f04
Merge pull request #11 from oug-t/feat/difi.nvim
feat: add difi.nvim support
2026-01-31 14:01:43 -05:00
.github/workflows chore: prepare for release 2026-01-30 17:35:56 -05:00
cmd/difi feat: brew version support 2026-01-30 23:01:06 -05:00
internal feat: add difi.nvim support 2026-01-31 14:01:19 -05:00
.goreleaser.yaml chore: add goreleaser config 2026-01-30 22:43:17 -05:00
go.mod feat: config yaml support 2026-01-30 12:46:02 -05:00
go.sum feat: config yaml support 2026-01-30 12:46:02 -05:00
LICENSE Initial commit 2026-01-28 11:12:31 -05:00
README.md Fix HTML entities in README.md 2026-01-31 00:28:45 -05:00

difi

Review and refine Git diffs before you push

image

Why difi?

  • Instant startup — Built in Go, no background daemon.
  • 🎨 Structured review — Tree view + side-by-side diffs.
  • 🧠 Editor-aware — Jump to the exact line in nvim / vim.
  • ⌨️ Keyboard-first — Designed for h j k l, no mouse.

Why not git diff?

  • git diff is powerful, but its optimized for output — not review.
  • difi is designed for the moment before you push or open a PR:

Installation

Homebrew (macOS & Linux)

brew tap oug-t/difi
brew install difi

Go Install

go install github.com/oug-t/difi/cmd/difi@latest

Manual (Linux / Windows)

  • Download the binary from Releases and add it to your $PATH.

Workflow

  • Run difi in any Git repository.
  • By default, it compares your current branch against main.
cd my-project
difi

Controls

Key Action
Tab Toggle focus between File Tree and Diff View
j / k Move cursor down / up
h / l Focus Left (Tree) / Focus Right (Diff)
e / Enter Edit file (opens editor at selected line)
? Toggle help drawer
q Quit

(back to top)

Contributing

git clone https://github.com/oug-t/difi
cd difi
go run cmd/difi/main.go

Contributions are especially welcome in:

  • diff rendering edge cases
  • UI polish and accessibility
  • Windows support

(back to top)

Star History

Star History Chart

(back to top)


Made with ❤️ by oug-t