Skip to content
Projects

Ataraxy-Labs/lazydiff has 165 GitHub stars and 8 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-09 10:28 UTC. Last push 2026-07-03.

How these counts are measured

A fast terminal UI for reviewing Git diffs with support for annotations for agents

What you can do

  • Review worktree changes, staged changes, commits, refs, patch files, and stdin diffs.
  • Browse pull requests from a terminal-first review queue.
  • Open PR descriptions and changed files side by side.
  • See semantic code changes powered by sem-core.

Measured star growth

in 24h
0
in 7 days
0
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

LazyDiff

Version License: MIT

image

A fast terminal UI for reviewing Git diffs and GitHub pull requests.

LazyDiff is for the code-review loop: jump through changed files, inspect hunks, search the diff, browse semantic changes, and keep your focus in the terminal.

Alpha: LazyDiff is currently intended for early adopters and dogfooding. Expect UI and workflow changes between alpha releases.

Features

  • Review worktree changes, staged changes, commits, refs, patch files, and stdin diffs.
  • Browse pull requests from a terminal-first review queue.
  • Open PR descriptions and changed files side by side.
  • See semantic code changes powered by sem-core.
  • Search within diffs and jump directly to matching files or hunks.
  • Switch between unified and split diff views.
  • Persist lightweight review state locally.
  • Login, logout, and update from the CLI.

Installation

Install the latest release:

curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/lazydiff/main/install | sh

Install a specific version:

curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/lazydiff/main/install | sh -s -- --version v0.1.0-alpha.5

Verify the install:

lazydiff --version

From source

cargo install --git https://github.com/Ataraxy-Labs/lazydiff

Usage

Open LazyDiff in a Git repository:

lazydiff

Review local changes directly:

lazydiff diff                    # worktree changes vs HEAD
lazydiff diff --staged           # staged changes
lazydiff diff origin/main        # current branch vs a base ref
lazydiff show HEAD~1             # a commit
lazydiff patch path/to/file.diff # a patch file
git diff --no-color | lazydiff pager

GitHub PR review uses device login:

lazydiff login
lazydiff logout

The GitHub device login needs an OAuth app client ID. Configure it locally:

# ~/.config/lazydiff/config.toml
github_client_id = "your-github-oauth-client-id"

Update LazyDiff from GitHub Releases:

lazydiff update

Keybindings

Key Action
j / k Move line
ctrl-d / ctrl-u Half-page scroll
/ Search
f Open file picker
m Toggle split/unified diff mode
enter Open focused item
q / esc Back / quit

Development

git clone https://github.com/Ataraxy-Labs/lazydiff.git
cd lazydiff
cargo run

Fast local TUI loop:

cargo build --profile dev-fast
scripts/dev-watch-tui.sh

Quality checks:

cargo fmt --check
cargo clippy --all-targets
cargo test

Release builds

Release artifacts are published as GitHub Release archives for Linux, macOS, and Windows, with .sha256 checksums.

Release builds currently include a focused semantic grammar set — TypeScript/TSX, JavaScript/JSX, Python, Go, Rust, and Java — to keep binaries small. Other languages still fall back to normal textual diff review.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for local development notes.

License

MIT

Explore related projects