Skip to content

roborev-dev/roborev

Repository files navigation

roborev

Go License: MIT Docs

Documentation | Quick Start | Installation

Continuous code review for AI coding agents. roborev runs in the background, reviews every commit as agents write code, and surfaces issues in seconds -- before they compound. Pull code reviews into your agentic loop while context is fresh.

roborev TUI

How It Works

  1. Run roborev init to install a post-commit hook
  2. Every commit triggers a background review -- agents write, roborev reads
  3. View findings in the TUI, feed them to your agent, or let roborev fix handle it

Quick Start

cd your-repo
roborev init          # Install post-commit hook
git commit -m "..."   # Reviews happen automatically
roborev tui           # View reviews in interactive UI

roborev review

Features

  • Background Reviews - Every commit is reviewed automatically via git hooks. No workflow changes required.
  • Auto-Fix - roborev fix feeds review findings to an agent that applies fixes and commits. roborev refine iterates until reviews pass.
  • Code Analysis - Built-in analysis types (duplication, complexity, refactoring, test fixtures, dead code) that agents can fix automatically.
  • Multi-Agent - Works with Codex, Claude Code, Gemini, Copilot, OpenCode, Cursor, Kiro, Kilo, Droid, and Pi.
  • Runs Locally - No hosted service or additional infrastructure. Reviews are orchestrated on your machine using the coding agents you already have configured.
  • Interactive TUI - Real-time review queue with vim-style navigation.
  • Review Verification - roborev compact verifies findings against current code, filters false positives, and consolidates related issues into a single review.
  • Extensible Hooks - Run shell commands on review events. Built-in beads integration creates trackable issues from review failures automatically.

The Agentic Fix Loop

When reviews find issues, copy-and-paste the reviews into your interactive agent sessions, or invoke the roborev:fix skills. You can also address open reviews on the command line non-interactively with roborev fix.

roborev fix shows the review findings to an agent, which applies changes and commits. The new commit gets reviewed automatically, closing the loop.

For fully automated iteration (advanced feature), use refine:

roborev refine                  # Fix, re-review, repeat until passing

refine runs in an isolated worktree and loops: fix findings, wait for re-review, fix again, until all reviews pass or --max-iterations is hit.

Code Analysis

Run targeted analysis across your codebase and optionally auto-fix:

roborev analyze duplication ./...           # Find duplication
roborev analyze refactor --fix *.go         # Suggest and apply refactors
roborev analyze complexity --wait main.go   # Analyze and show results
roborev analyze test-fixtures *_test.go     # Find test helper opportunities

Available types: test-fixtures, duplication, refactor, complexity, api-design, dead-code, architecture.

Analysis jobs appear in the review queue. Use roborev fix <id> to apply findings later, or pass --fix to apply immediately.

Installation

Shell Script (macOS / Linux):

curl -fsSL https://roborev.io/install.sh | bash

Homebrew (macOS / Linux):

brew install roborev-dev/tap/roborev

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://roborev.io/install.ps1 | iex"

With Go:

go install github.com/roborev-dev/roborev/cmd/roborev@latest

Developer Setup

This repo uses prek for local pre-commit checks. The hook is a local system hook that runs make lint, so pre-commit can apply golangci-lint --fix automatically instead of using the upstream golangci-lint pre-commit repository. The hook is configured with always_run = true, so it runs on every commit, not just commits that touch Go files.

brew install prek     # or use your preferred prek install method
prek install          # install the local git hook
prek run --all-files  # run the configured checks manually

If the hook rewrites files, re-stage them and re-run git commit. Use make lint-ci when you want a non-mutating lint check.

Commands

Command Description
roborev init Initialize roborev in current repo
roborev tui Interactive terminal UI
roborev status Show daemon and queue status
roborev review <sha> Queue a commit for review
roborev review --branch Review all commits on current branch
roborev review --dirty Review uncommitted changes
roborev fix Fix open reviews (or specify job IDs)
roborev refine Auto-fix loop: fix, re-review, repeat
roborev analyze <type> Run code analysis with optional auto-fix
roborev compact Verify and consolidate open review findings
roborev show [sha] Display review for commit
roborev run "<task>" Execute a task with an AI agent
roborev close <id> Close a review
roborev skills install Install agent skills for Claude/Codex

See full command reference for all options.

Configuration

Create .roborev.toml in your repo:

agent = "claude-code"
review_guidelines = """
Project-specific review instructions here.
"""

See configuration guide for all options.

Environment Variables

Variable Description
ROBOREV_DATA_DIR Override default data directory (~/.roborev)
ROBOREV_COLOR_MODE TUI color theme: auto (default), dark, light, none
NO_COLOR Set to any value to disable all color output (no-color.org)

Supported Agents

Agent Install
Codex npm install -g @openai/codex
Claude Code npm install -g @anthropic-ai/claude-code
Gemini npm install -g @google/gemini-cli
Copilot npm install -g @github/copilot
OpenCode go install github.com/opencode-ai/opencode@latest
Cursor cursor.com
Kiro kiro.dev
Kilo npm install -g @kilocode/cli
Droid factory.ai
Pi pi.dev

roborev auto-detects installed agents.

Routing Claude Code to a proxy (Ollama, LiteLLM, etc.)

The claude-code agent accepts a model spec of the form <model>@<base_url>. When <base_url> starts with http(s)://, roborev points Claude Code at that endpoint and pins all tier aliases (Opus/Sonnet/Haiku/subagent) to the given model.

# .roborev.toml — local Ollama for reviews, real Anthropic for fixes
agent = "claude-code"
review_model = "glm-5.1:cloud@http://127.0.0.1:11434"
fix_model    = "sonnet"

Or via CLI: roborev review --model 'glm-5.1:cloud@http://127.0.0.1:11434'.

Proxy auth. Set ROBOREV_CLAUDE_PROXY_TOKEN to forward a bearer token to the proxy as ANTHROPIC_AUTH_TOKEN. If unset, roborev sends a placeholder (sufficient for gateways that don't check the header, such as Ollama). roborev does not forward ANTHROPIC_API_KEY to proxy endpoints — that would leak a real Anthropic credential to arbitrary third parties.

URL restrictions. Proxy URLs must not embed user:pass@ credentials (use ROBOREV_CLAUDE_PROXY_TOKEN); http:// is only accepted for loopback hosts (127.0.0.1, ::1, localhost) so plaintext endpoints can't receive tokens over the wire. Use https:// for remote proxies. The full URL (including any path or query string) is forwarded as-is to ANTHROPIC_BASE_URL, so include the path your gateway expects (e.g. LiteLLM may want a trailing /v1; Ollama wants no path).

Environment behavior (breaking change in this release). When the claude-code agent runs, roborev always strips inherited ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL, and CLAUDE_CODE_SUBAGENT_MODEL from the child environment. If you were previously routing Claude Code by exporting these vars in your shell, switch to the <model>@<base_url> spec instead. For native (non-proxy) mode, configure ANTHROPIC_API_KEY via roborev's config (it is re-injected from roborev's stored key, not inherited from the operator's shell).

Security Model

roborev delegates code review and fix tasks to AI coding agents that have shell access. Review agents may execute read-only git and shell commands to inspect diffs; fix agents run in isolated worktrees with full tool access.

roborev is designed for use with trusted codebases. The review prompt includes diff content and commit messages from the repository. If you are reviewing untrusted code (e.g., open-source contributions from unknown authors), run roborev inside a sandboxed environment (container, VM, or similar) to limit the blast radius of any prompt-injection attack that could cause an agent to execute unintended commands.

Documentation

Full documentation available at roborev.io:

For local development in this repo, install hooks with prek install or run make install-hooks as a thin wrapper around prek install.

License

MIT

About

Continuous background code review database for agents, work faster and smarter with accountability for every line of generated code.

Resources

License

Stars

Watchers

Forks

Contributors

Languages