Primary question: Does your team want a keyboard-first review loop that avoids the browser without losing inline GitHub or GitLab comments?
RepoDaily adoption score
RepoDaily rates this as 92/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.
5 source(s) across 3 source category/categories, plus a RepoDaily-specific evidence module when available.
6 workflow step(s), 5 next-action step(s), and 5 command/install signal(s) were detected.
Trending momentum is +232 stars, with maintenance/release/issue signals counted when present.
Risk is marked low, with 5 security note(s) and 3 explicit skip condition(s).
3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.
License source or license wording is present.
4 AI/agent-related signal(s) were detected in the article text and metadata.
Project overview
tuicr (pronounced "tweaker") is a Rust-based terminal user interface for code review. It renders a GitHub-style continuous diff so you can scroll every changed file in one stream, drop comments at the line, range, file, or review level, and then either push the finished review to GitHub or GitLab, copy it as structured markdown, or pipe it to stdout for agent pipelines.
The tool targets a specific pain: browser-based review loses the speed of a modal editor, while `git diff` and `gh pr review` do not give you a place to author inline comments in context. tuicr fills the gap with full vim keybindings — not just `j`/`k` but visual mode, `{N}G`, `Ctrl-d`/`Ctrl-u`, and opt-in vim modal editing inside the comment box (0.19.0). It auto-detects git, jj, and mercurial, so it fits mixed-toolchain teams.
Version 0.19.1 shipped 2026-07-13, two weeks before this trend snapshot, with active patches touching the forge backend, keybindings, session detection, and diff rendering. It is MIT-licensed, distributed as a single static binary for Linux, macOS, and Windows, and available through Homebrew, Cargo, Mise, Nix, and a curl install script with SHA-256 verification.
Why it is trending now
- Active release cadence: 0.15.0 through 0.19.1 between mid-May and mid-July 2026, with features like GitLab MR support, whitespace-ignore diffs, and vim modal comment editing.
- Vim-native UX distinguishes it from hunk and lumen — README comparison notes lumen only has partial vim support (j/k navigation, no visual mode, {N}G, or Ctrl-d/Ctrl-u).
- Agent-ready markdown export via clipboard and stdout fits the current wave of AI-assisted code review pipelines.
- Single static Rust binary across five target triples, including aarch64 Linux and Apple Silicon, keeps installation friction near zero.
- 232 period stars at rank 15 reflects a focused, sharply positioned tool rather than a broad platform.
Problem it solves
- Browser-based GitHub/GitLab review is slow for keyboard-first developers who want modal navigation and inline comment authoring without leaving the terminal.
- `git diff` and `gh pr review` show changes but do not provide an in-context surface to write structured comments per line, range, or file.
- Cross-VCS review is rare: teams using jj or mercurial alongside git typically need separate tools or no TUI at all.
- Review state is often lost between sessions when a review spans days; tuicr persists tracking at file or hunk granularity.
- Copying structured review output for agents or static analysis tools is awkward without a dedicated export target.
How it works
- Install via `brew install agavra/tap/tuicr`, `cargo install tuicr`, the curl script at tuicr.dev/install.sh, Mise, or Nix.
- Run `tuicr` to pick from a commit selector, `tuicr -w` for uncommitted changes, `tuicr -r main..HEAD` for a range, or `tuicr pr 125` / `tuicr mr 125` for a remote GitHub PR or GitLab MR.
- Inside the TUI, navigate with `j`/`k` and vim motions, press `c` to comment at line, range, file, or review level.
- Press `y` to copy the finished review as structured markdown, or type `:submit` to push it to GitHub or GitLab as a real inline review.
- Run `tuicr review list` to revisit saved local sessions; the tool preselects commits newer than your latest submitted review when metadata is available.
- Update with `tuicr update` or pin a version with `tuicr update 0.18.0` — the command routes through the owning package manager.
Command Surface: Every Documented Invocation
- `tuicr` — commit selector entry point.
- `tuicr tui` — explicit TUI subcommand, accepts `pr`/`mr` args (`tuicr tui pr 125`, `tuicr tui mr 125`).
- `tuicr -w` — uncommitted changes, skips selector.
- `tuicr -r main..HEAD` — review a commit range.
- `tuicr pr 125` / `tuicr mr 125` — open a GitHub PR or GitLab MR directly.
- `tuicr --stdout` — pipe review to stdout for scripting.
- `tuicr review list` — list saved local review sessions.
- `tuicr update` / `tuicr update 0.18.0` — update or pin through Homebrew, Cargo, Mise, Nix profile, or in-place release asset.
How tuicr Compares: Feature-by-Feature
- TUI diff viewer: tuicr, hunk, and lumen all ✅; `gh pr review` and `git diff` ❌.
- Write comments in the TUI: tuicr, hunk, lumen ✅; `gh pr review` and `git diff` ❌.
- Vim keybindings: tuicr ✅; hunk ❌; lumen partial (j/k only); `gh pr review` and `git diff` ❌.
- Push inline review to GitHub: tuicr ✅; hunk and lumen ❌; `gh pr review` partial (approve/comment/request only).
- Push inline review to GitLab: tuicr ✅ only; all others ❌.
- Agent-ready markdown export: tuicr ✅; hunk via CLI skill; lumen, `gh pr review`, `git diff` ❌.
- Mercurial (hg) support: tuicr ✅ only; hunk, lumen, `gh pr review` ❌.
- Single static binary: tuicr ✅; hunk needs Node; lumen, `gh pr review`, `git diff` ✅.
Fastest Try-It Path
The lowest-friction path is `brew install agavra/tap/tuicr` on macOS or `cargo install tuicr` on any Rust toolchain. Then run `tuicr -w` inside a repository with uncommitted changes, press `c` on any line, write a comment, and press `y` to copy the markdown — no GitHub or GitLab credentials required. Once you confirm the TUI feels right, wire `tuicr pr` into your normal loop and use `:submit` for real pushes.
Adoption Checklist
- Confirm your VCS is git, jj, or mercurial — tuicr auto-detects all three.
- Verify your forge is GitHub or GitLab for push; clipboard and stdout work without a forge.
- Check the 0.19.x changelog for your platform fixes: Linux session detection (#435), macOS tmux clipboard (#413), SSH-over-443 host mapping (#412).
- Pin a known-good version with `tuicr update 0.18.0` if reproducibility matters.
- Validate SHA-256 checksums are applied when updating via install-script or manually downloaded binaries.
Who should pay attention?
Good fit if
- Terminal-first developers who want vim modal editing during review.
- Teams mixing git with jj or mercurial who need a single review tool.
- AI-assisted workflows that want structured markdown exported to stdout or clipboard for downstream agents.
- GitHub and GitLab reviewers who currently lose context switching between `git diff` and the browser.
Skip for now if
- Reviewers who only use GitHub's web UI and have no terminal-review habit.
- Teams whose forge is neither GitHub nor GitLab and who do not need clipboard or stdout export.
- Organizations that block curl-piped install scripts and have no Homebrew, Cargo, Mise, or Nix pathway approved.
Risks and cautions
MIT-licensed, single-binary, local-first tool with optional forge integration. Reviews persist locally; pushing requires explicit `:submit`.
- MIT license imposes no copyleft or attribution burden beyond the notice.
- Single static binary avoids runtime dependency chains on Linux, macOS, and Windows.
- Forges only receive data on explicit submit — clipboard and stdout modes never touch the network.
- Active maintenance: 0.19.1 shipped 2026-07-13 with concrete fixes across forge, keybinds, and session detection.
- Install-script and manually downloaded binaries verify SHA-256 checksums before updating in place.
- `tuicr update` only modifies the binary owned by the detected package manager (Homebrew, Cargo, Mise, Nix profile).
- Forge push requires explicit `:submit`; clipboard and stdout never transmit to GitHub or GitLab.
- MIT license is permissive and compatible with most commercial pipelines.
- Release pipeline publishes to crates.io using `CARGO_REGISTRY_TOKEN` as documented in RELEASE.md.
Alternatives to compare
| Approach | When to use | Trade-off |
|---|---|---|
hunk | You want a TUI diff viewer with CLI skill support but do not need vim keybindings or direct GitHub/GitLab push. | Open source; requires Node. |
lumen | You want a Rust TUI with j/k navigation and single-binary install but can live without a full vim model. | Open source. |
gh pr review | You only need approve/comment/request on GitHub PRs and do not need inline authoring in a TUI. | Free; bundled with GitHub CLI. |
git diff | You need a quick read of changes with zero install and no comment capture. | Free; ships with git. |
What this trend reveals
Agent-Review Pipelines
tuicr's `--stdout` and clipboard export produce structured markdown of line, range, and file comments. Wire that into an LLM review step that consumes the markdown, proposes changes, and feeds the diff back into tuicr for a second pass.
Run `tuicr --stdout` on a real PR and confirm the markdown structure includes line/range anchors before scripting.
Cross-VCS Standardization
Because tuicr handles git, jj, and mercurial, shops migrating between VCS systems can keep one review surface and retrain only the underlying commit commands.
Point `tuicr -r` at a jj-style range and confirm comment persistence matches the git workflow.
Offline Review Templates
Persisted sessions plus markdown clipboard export let you capture review notes on a plane and submit them later when forge access returns.
Open a PR offline, leave comments, close the session, and re-open with `tuicr review list` before submitting.
RepoDaily verdict
tuicr is the rare terminal review tool that combines full vim modal editing, multi-VCS support, and real GitHub/GitLab push — a focused, actively maintained binary that earns its stars by solving one pain precisely.