tuicr — terminal UI for code review
~/code/auth-svc — tuicr
v0.10.0 · press ? for help
live in agavra/tuicr · vim keybindings, GitHub-style diffs, real PR-style comments
sponsored by
features
why review in the terminal at all
[01]
›GitHub-style diff
Every changed file in one continuous scroll.
jkCtrl-d{}[]
[02]
›Vim, all the way down
Modal navigation, visual selection, gG jumps, search with /, jump to line N with {N}G. If your fingers know vim, they already know tuicr.
hjkl/ngGzz
[03]
›PR-style comments
Comment at the line, range, file, or review level. Select multi-line ranges with v / V. Classify each by issue, suggestion, note, or praise (or define your own).
cCvV;cTab
[04]
›Three export targets
Pull a live PR with tuicr pr 125, then push your review back to GitHub (:submit), copy structured markdown to your clipboard (y), or pipe to stdout for any downstream tool.
tuicr pr:submity--stdout
[05]
›Git, jj & Mercurial
Single static binary, no runtime. Auto-detects the VCS: jj first (jj repos are Git-backed underneath), then git, then hg.
gitjjhg
[06]
›Agent skill bundle
Ship the /tuicr skill to Claude Code or Codex. The agent opens tuicr in a tmux split; you review, and comments flow back automatically.
/tuicrtmuxskills/
themes
click to apply across the page · 20+ built-ins ship with tuicr
export
three targets, one keystroke each
→GitHub
team workflow
:submit opens a picker (Comment, Approve, Request changes, or Draft). Inline comments land on the right lines as a real PR review; review-level comments become the summary. Requires gh authenticated to the repo.
⌘:submit
→Clipboard
agent loop
y or :clip copies a structured markdown block. Each comment is numbered, classified, and anchored to a file/line. Paste it back to Claude, Codex, Cursor, or any LLM and let it act on the whole batch.
⌘y · :clip
→Stdout
scripting
Run with --stdout to pipe the same markdown to any downstream process. Persist a review to disk, send it to a CI job, pipe it into pbcopy, or chain it into a custom workflow.
$tuicr --stdout > review.md
clipboard.md · copied —<br>3 comments
I reviewed your code and have the following comments. Please address them.
Comment types:<br>ISSUE (problems to fix)<br>SUGGESTION (improvements)<br>NOTE (observations)<br>PRAISE (positive feedback)
1. **[ISSUE]** src/auth.rs:49 — Silent swallow of expiry<br>context when claims.exp SUGGESTION]** src/auth.rs:102 — Pull TOKEN_TTL_SECS<br>into a config struct so tests can override it without<br>recompiling. Default 3600 is fine for prod; rotation<br>policies will want shorter.
3. **[PRAISE]** tests/auth_test.rs — Nice coverage on the<br>expired-token path. Keep the table-driven style.
compare
what tuicr does that the alternatives don't
tuicr<br>hunk<br>lumen<br>gh pr review<br>git diff
TUI diff viewer
Comment in the TUI
Vim keybindings<br>partial1
Push inline review → GH<br>partial2
Agent-ready markdown<br>via CLI skill
git
jj
Mercurial (hg)
Single static binary<br>needs Node
1Lumen has j/k navigation but no broader vim model (visual mode, {N}G, Ctrl-d/Ctrl-u, etc.).
2gh pr review posts approve/comment/request-changes at the review level only. No inline line comments.
keybindings
first-session cheatsheet · press ? in-app for the rest
Navigate
j / kdown · up<br>Ctrl-d / uhalf page<br>{ / }prev · next file<br>[ / ]prev · next hunk<br>/ then nsearch · next match<br>gG · {N}Gtop · bottom · line N
Review
ccomment at cursor<br>Ccomment on whole file<br>;creview-level comment<br>v / Vvisual range select<br>rtoggle reviewed<br>Tabcycle comment type
Export & cmds
:submitpush review to GitHub<br>y · :clipcopy markdown<br>--stdoutpipe to stdout<br>:diffunified ⇄ side-by-side<br>:commitspick revision range<br>?full help
install
pick your weapon · single static binary, no runtime