## 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 itβs optimized for output β not review.
- difi is designed for the *moment before you push or open a PR*:
## Installation
### Homebrew (macOS & Linux)
```bash
brew tap oug-t/difi
brew install difi
```
### Go Install
```bash
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.
```bash
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 |
## Contributing
```bash
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