Review and refine Git diffs before you push
Go to file
Javier Tia ce80530858
docs: Add AUR installation instructions for Arch Linux
The README currently lacks installation instructions for Arch Linux
users, who represent a significant portion of the Linux community.
This forces Arch users to either build manually from source or use
the generic Go install method, both of which bypass the benefits of
package management (dependency tracking, easy updates, and system
integration).

Add AUR installation instructions offering both pre-built binary and
source-based options. This aligns with the existing package manager
approach used for macOS (Homebrew) and provides Arch users with a
native installation path that integrates with their system's package
management workflow.

Signed-off-by: Javier Tia <floss@jetm.me>
2026-02-04 15:37:40 -06:00
.github docs: add issue and PR templates 2026-02-03 12:48:34 -05:00
cmd/difi chore: default against HEAD 2026-02-01 23:48:53 -05:00
internal Fix: Truncate long lines 2026-02-04 10:31:54 +01: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 Update copyright owner in LICENSE file 2026-02-01 21:13:57 -05:00
README.md docs: Add AUR installation instructions for Arch Linux 2026-02-04 15:37:40 -06:00

difi

Review and refine Git diffs before you push

difi_demo

Why difi?

git diff shows changes. difi helps you review them.

  • Instant — Built in Go. Launches immediately with no daemon or indexing.
  • 🎨 Structured — A clean file tree and focused diffs for fast mental parsing.
  • 🧠 Editor-Aware — Jump straight to the exact line in nvim/vim to fix issues.
  • ⌨️ Keyboard-First — Navigate everything with h j k l. No mouse required.

(back to top)

Installation

Homebrew (macOS & Linux)

brew tap oug-t/difi
brew install difi

Go Install

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

AUR (Arch Linux)

Binary (pre-built):

pikaur -S difi-bin

Build from source:

pikaur -S difi

Manual (Linux / Windows)

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

(back to top)

Workflow

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

(back to top)

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)

Neovim Integration

Get the ultimate review experience with difi.nvim.

  • Auto-Open: Instantly jumps to the file and line when you press e in the CLI.
  • Visual Diff: Renders diffs inline with familiar green/red highlights—just like reviewing a PR on GitHub.
  • Interactive Review: Restore a "deleted" line by simply removing the - marker. Discard an added line by deleting it entirely.
  • Context Aware: Automatically syncs with your difi session target.

Get difi.nvim

(back to top)

Git Integration

To use difi as a native git command (e.g., git difi), add it as an alias in your global git config:

git config --global alias.difi '!difi'

Now you can run it directly from git:

git difi

(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.nvim 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