RepoDaily · 2026-07-31 · Developer tool / CLI

tuicr Puts Vim-Driven Code Review in the Terminal — and Exports Straight to GitHub and GitLab

#15 Developer tool / CLI Rust +232 agavra/tuicr Open repository

A Rust TUI that streams a GitHub-style continuous diff, captures line-range-file-review comments with vim motions, and pushes the finished review to GitHub, GitLab, clipboard, or stdout.

Repo typeDeveloper tool / CLI
Best forDevelopers who live in the terminal and review diffs in git, jj, or mercurial repos before submitting pull requests to GitHub or GitLab.
Risk levelLow — MIT-licensed single binary, local-first sessions, optional forge push.
Time to evaluate30 minutes to install, open a diff, and push or clipboard-export a review.

Primary question: Does your team want a keyboard-first review loop that avoids the browser without losing inline GitHub or GitLab comments?

92/100

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.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: Low
100Evidence quality

5 source(s) across 3 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

6 workflow step(s), 5 next-action step(s), and 5 command/install signal(s) were detected.

69Maintenance confidence

Trending momentum is +232 stars, with maintenance/release/issue signals counted when present.

100Production readiness

Risk is marked low, with 5 security note(s) and 3 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.

82License clarity

License source or license wording is present.

72Agent / AI fit

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.

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

  1. Install via `brew install agavra/tap/tuicr`, `cargo install tuicr`, the curl script at tuicr.dev/install.sh, Mise, or Nix.
  2. 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.
  3. Inside the TUI, navigate with `j`/`k` and vim motions, press `c` to comment at line, range, file, or review level.
  4. 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.
  5. Run `tuicr review list` to revisit saved local sessions; the tool preselects commits newer than your latest submitted review when metadata is available.
  6. 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

Low

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

ApproachWhen to useTrade-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.

Best next action

Install tuicr and Review One PR End-to-End

Pick one open GitHub PR you own, install tuicr via Homebrew or Cargo, run `tuicr pr <number>`, author three comments with vim motions, and submit with `:submit`. This exercises the install path, the TUI, the forge backend, and the comment persistence layer in a single loop.

  1. Install: `brew install agavra/tap/tuicr` or `cargo install tuicr`.
  2. Navigate to a repository with an open PR.
  3. Run `tuicr pr <number>` to open the PR in the TUI.
  4. Move to a line with `j`/`k`, press `c`, write a comment.
  5. Type `:submit` to push the review to GitHub, or `y` to copy markdown first.

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.

Sources