- Category
- Developer Tools
- Rank
- No. 862Tools index
- Listed in
- #5 Review any codebase
- Pricing
- Open Source
- Platform
- cli
- Type
- TOOL
- Builder
- agavra
- GitHub
- 3.2k stars
- Latest release
- v0.26.0
- Date
About
A terminal UI for reviewing code diffs with vim-style keybindings, letting users write line, range, file, or review-level comments and push the review directly to GitHub, GitLab, or Bitbucket, or export it as structured markdown for coding agents. It supports git, jj, and Mercurial, and persists review sessions across restarts.
What it does
tuicr turns a terminal into a continuous, syntax-highlighted workspace for inspecting changes. Commit selectors, regex file filters, search, unified or side-by-side layouts, reviewed markers, mouse controls, and editor handoff help users move through large change sets without leaving the keyboard-driven interface.
Why it's ranked here
The breadth is unusually practical. It handles local changes, hosted pull requests, persisted collaboration, script access, and agent handoff in one Rust package. Support for four hosting services and three version-control systems makes it useful beyond the common GitHub and Git pairing.
What's good
Review state can track entire files or individual hunks, while searches wrap and remain highlighted. The tool distinguishes line, range, file, and summary feedback, supports custom comment classifications, and exposes stored sessions through both non-interactive commands and a Rust library. Updates verify downloaded binaries with SHA-256.
Tradeoffs
Hosted submission depends on separate authentication tools or credentials. GitLab change requests require the user to be an assigned reviewer. Bitbucket lacks request-changes and draft modes, excludes Data Center, and cannot support commit-aware reopening. Azure DevOps requires a local clone because its diff is constructed locally.
How to use it well
It best suits terminal-oriented engineers who inspect local branches and hosted changes, especially teams mixing human feedback with coding agents. Use persisted sessions and stdout output for automation, then submit through the appropriate forge. It does not replace authentication setup, repository hosting, or a source editor.
Technical notes+
Cargo.toml defines a Rust package with both command-line and library surfaces, using ratatui and crossterm for terminal rendering, clap for parsing, git2 for Git operations, serde for persistence, and syntect for highlighting. src/cli.rs models interactive, pull-request, saved-session, and update commands. src/main.rs separates terminal rendering from stdout export, restores terminal state after panics, starts update checks in a background thread, and creates an ephemeral session once a target is active. src/lib.rs publicly re-exports ReviewStore, AddCommentRequest, CommentTarget, session models, and errors. src/editor.rs parses the editor command without invoking a shell and applies recognized line-navigation conventions. src/hash.rs and src/text_edit.rs contain focused unit tests for deterministic hashing and UTF-8-safe editing.
Observed
- License
- MIT
- Primary language
- Rust
- Interfaces
- Interactive terminal UI, non-interactive CLI, stdout and clipboard export, and Rust library API
- Version-control support
- Git, Jujutsu, and Mercurial
- Hosting support
- GitHub, GitLab, Bitbucket Cloud, and Azure DevOps
- Installation surface
- Install script, Homebrew, Cargo, Mise, Nix, pre-built binaries, or source build
- Platform configuration
- Linux and macOS use the standard config directory; Windows uses AppData
Read from README.md, Cargo.toml, src/cli.rs, src/lib.rs, src/main.rs, src/hash.rs, src/slug.rs, src/error.rs, src/editor.rs, src/update.rs, src/handler.rs, src/process.rs, src/profile.rs, src/text_edit.rs.
What it can do
Review code diffs in a terminal UI with vim-style keybindings
Code diff → Reviewed diff
Write line, range, file, or review-level comments on a diff
Comment text → Annotated review
Push completed review to GitHub, GitLab, or Bitbucket
Review data → Submitted review on remote host
Export review as structured markdown for coding agents
Review data → Markdown file
Read diffs from git, jj, or Mercurial repositories
Repository diff → Displayed diff
Persist review sessions across restarts
Review session state → Restored session
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
