https://github.com/ushironoko/octorus
I used to rely on octo.nvim for reviewing PRs, but after switching to Helix, I needed a TUI-based PR viewer as a replacement. Nothing quite fit, so I built one myself. It supports inline review comments and syntax highlighting on diffs, which alone makes it pretty handy.
But in modern development workflows, it's increasingly common to have AI write code and then use skills or commands to review it. So I also built a feature called AI-Rally — kick it off with a single keystroke, and two AI agents take turns reviewing and fixing code until they're satisfied.
You can have AI-Rally running in the background while you browse the PR diff and leave your own reviews. It also picks up bot reviews from services like CodeRabbit and Copilot and addresses them accordingly.
Usage
Install:
cargo install octorus
Initialize:
or init
Run:
or --repo ${org_name}/${repo_name} --pr ${pr_number}
Ok, If that's too much hassle, you can do this.
or
This launches the PR diff viewer.
With octorus, you can browse PR diffs, leave inline comments/suggestions, and view all comments at a glance.
Comments on the PR are listed separately — review comments and discussion comments are displayed in distinct sections.
So far it's a straightforward diff viewer. Here's where it gets interesting — press A. Two AI agents split into a reviewer and a reviewee, and they start a back-and-forth cycle of reviewing and fixing (up to the configured max_iterations).
Press b to send the rally to the background so you can continue your own review. As the agents finish reviewing or fixing, they automatically post comments and push commits to the PR. You can customize this behavior through custom prompts.
Configuration
Running or init generates a config file and custom prompt markdown files under ~/.config/octorus/.
Here's the default configuration:
editor = "vi" # Editor launched for writing PR comments (nvim, hx, etc.)
[diff]
theme = "base16-ocean.dark" # Syntax highlighting theme for the diff viewer
[keybindings]
approve = "a"
request_changes = "r"
comment = "c"
suggestion = "s"
[ai]
reviewer = "claude" # claude or codex — must be installed on your machine
reviewee = "claude"
max_iterations = 10
timeout_secs = 600
# Custom prompt directory (default: ~/.config/octorus/prompts/)
# prompt_dir = "/custom/path/to/prompts"
Both Claude and Codex are launched in headless mode. This means Claude Code or Codex CLI must be installed on your machine. Personally, I use Codex as the reviewer and Claude Code as the reviewee.
Custom prompts are generated at:
~/.config/octorus/prompts/
├── reviewer.md # Prompt for the reviewer agent
├── reviewee.md # Prompt for the reviewee agent
└── rereview.md # Prompt for re-review iterations
Closing thoughts
I'd occasionally see people on X (Twitter) having AI agents reply to each other, and I always thought it'd be cool to apply that to code review. When I happened to build a TUI diff viewer, it turned out to be the perfect home for this idea. I'm sure many people have built similar workflows with custom skills, but I like that octorus lets you start one with just pressing A.
If you find it interesting, I'd appreciate a star on GitHub — or even better, just give it a try.
Fun fact: the AI-Rally finished its run while I was writing this article. Convenient, right?
If you'd like, please also see the following article, which explains the diff performance of octorus in detail.
https://dev.to/ushironoko/how-octorus-renders-300k-lines-of-diff-at-high-speed-h4p





Top comments (0)