tuicr
a code review TUI with vim keybindings
Tuicr: reviewing pull requests from the terminal
A Rust TUI that keeps a code review in the terminal with vim bindings, then pushes the finished comments straight to GitHub, GitLab, or Bitbucket.
What a review looks like here
Tuicr treats a pull request as a stream. The diff is continuous, GitHub style, so you scroll through every changed file in one pass instead of hopping between them. Comments attach at line, range, file, or review level, and review state is tracked per file or per hunk and survives across sessions. The tool runs in the terminal and speaks vim: j and k move, visual mode selects ranges, and a comparison table in the README is honest about where it sits next to tools like hunk and lumen.
Where comments can go
Three export paths come out of the box. You can push a real review to GitHub, GitLab, or Bitbucket, copy structured markdown to the clipboard, or pipe it to stdout. On GitHub, the submit command opens a picker for Comment, Approve, Request changes, or Draft, and inline comments land on the right lines, requiring gh to be authenticated. GitLab works through glab, Bitbucket through bkt, and Azure DevOps is supported too through a personal access token. The README notes the limits, like Draft being GitHub-only and Bitbucket not tracking which commit an approval covered.
Getting it installed and running
The update command routes through whichever package manager owns the executable: Homebrew, Cargo, Mise, or a Nix profile. Install-script and manually downloaded binaries update in place from the matching GitHub release asset after a SHA-256 check. Exact version installs support Cargo and direct binaries. The quick start is short: navigate with j and k, press c to comment, then y to copy the review or the submit command to push it. When you reopen a pull request you have reviewed before, tuicr preselects commits newer than your latest submitted review, when that metadata exists.
Working with agents and config
tuicr is built to be driven from a coding agent too. The copy command writes a structured markdown block, each comment carrying a number and a file and line anchor, and a skill file documents running it in a tmux, cmux, Zellij, or Herdr split pane. A review session CLI exposes saved sessions without opening the TUI, so scripts can list sessions, add comments, and print stored ones. There is a Rust library API for tools that want to build on the persisted review sessions. Theme support is broad, with over twenty bundled themes plus local theme files under a config directory.
Community notes