agavra /tuicr

a code review TUI with vim keybindings

★ 3,512⑂ 327👁 8▤ 37
RustCreated 2026-01-08tuicr.dev/
3,512
stars
+0+11
327
forks
8
watchers
–
prs
–
issues
37
releases
–
discussions

README

tuicr

A code review TUI with vim keybindings. Export to GitHub, GitLab, Gitea, Bitbucket, Azure DevOps, Gerrit, or clipboard.





!demo

 [!TIP]
 Pronounced "tweaker".

 What it does

- GitHub-style continuous diff in the terminal. Scroll through every changed file in one stream.
- PR-style comments at the line, range, file, and review level. 
- Review tracking at file or hunk granularity, persisted across sessions.
- Three export targets: push a real review to GitHub, GitLab, Gitea, Bitbucket, Azure DevOps, or Gerrit, copy
  structured markdown to your clipboard, or pipe to stdout.
- Works with git, jj, and mercurial. Reviews uncommitted changes, commit ranges, or any GitHub PR,
  GitLab MR, Gitea PR, Bitbucket PR, Azure DevOps PR, or Gerrit change.

 Install

bash
curl -fsSL tuicr.dev/install.sh | sh
 or
brew install tuicr
 or
sudo pacman -S tuicr



Other install methods (cargo, mise, nix, binaries, source)

bash
 Cargo
cargo install tuicr

 Mise
mise use github:agavra/tuicr

 Nix
nix run github:agavra/tuicr


Pre-built binaries: GitHub Releases. Linux releases
include dynamically linked GNU and static musl variants.

From source:

bash
git clone https://github.com/agavra/tuicr.git
cd tuicr
cargo install --path .




Update the active installation with one command:

bash
tuicr update
tuicr update 0.18.0  Install a known-good version


tuicr update uses Homebrew, Cargo, Mise, or a Nix profile when that manager owns the
executable. Install-script and manually downloaded binaries update in place from the matching
GitHub release asset after SHA-256 verification. Exact-version installs support Cargo and direct
binaries; use the package manager's pinning workflow for Homebrew, Mise, or Nix. A nix run
invocation is temporary rather than installed; rerun it to use the current flake, or use
nix profile install github:agavra/tuicr for an installation that tuicr update can upgrade.

 Quick start

bash
tuicr                        Pick from a commit selector
tuicr tui                    Same TUI, explicit subcommand
tuicr -w                     Uncommitted changes (skip selector)
tuicr -r main..HEAD          Commit range
tuicr --file f.md --line 42  Annotate a file, starting at line 42
tuicr pr 125                 GitHub, Gitea, Bitbucket, or Azure DevOps PR, or Gerrit change
tuicr pr 125 --remote up     Use a named Git remote's fetch URL
tuicr mr 125                 GitLab MR
tuicr tui pr 125             GitHub PR via explicit TUI subcommand
tuicr tui mr 125             GitLab MR via explicit TUI subcommand
tuicr --stdout               Pipe the review to stdout
tuicr review list            List saved local review sessions
tuicr update                 Update the active installation
tuicr update 0.18.0          Install a known-good version


Every flag, environment variable, and exit code in docs/CLI.md.

The default Git backend detects renames using a 50% similarity threshold and honors
Git's diff.renames and diff.renameLimit settings. Working-tree revi

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON