{"id":50207103,"url":"https://github.com/kenn-io/roborev","last_synced_at":"2026-06-05T00:01:00.674Z","repository":{"id":331957887,"uuid":"1128533786","full_name":"kenn-io/roborev","owner":"kenn-io","description":"Continuous background code review database for agents, work faster and smarter with accountability for every line of generated code.","archived":false,"fork":false,"pushed_at":"2026-05-29T19:46:25.000Z","size":6688,"stargazers_count":1282,"open_issues_count":72,"forks_count":112,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-05-29T21:18:44.874Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://roborev.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kenn-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-05T19:28:46.000Z","updated_at":"2026-05-29T20:13:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kenn-io/roborev","commit_stats":null,"previous_names":["wesm/roborev","roborev-dev/roborev","kenn-io/roborev"],"tags_count":96,"template":false,"template_full_name":null,"purl":"pkg:github/kenn-io/roborev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenn-io%2Froborev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenn-io%2Froborev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenn-io%2Froborev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenn-io%2Froborev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kenn-io","download_url":"https://codeload.github.com/kenn-io/roborev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenn-io%2Froborev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33924832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-26T02:00:28.890Z","updated_at":"2026-06-05T00:01:00.661Z","avatar_url":"https://github.com/kenn-io.png","language":"Go","funding_links":[],"categories":["others","Go","🤖 Agents \u0026 Orchestration"],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/roborev-dev/roborev-docs/main/public/logo-with-text-dark-bg.svg\"\u003e\n  \u003cimg alt=\"roborev\" src=\"https://raw.githubusercontent.com/roborev-dev/roborev-docs/main/public/logo-with-text-light.svg\"\u003e\n\u003c/picture\u003e\n\n[![Go](https://img.shields.io/badge/Go-1.21+-00ADD8?logo=go\u0026logoColor=white)](https://go.dev/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Docs](https://img.shields.io/badge/Docs-roborev.io-blue)](https://roborev.io)\n\n**[Documentation](https://roborev.io)** | **[Quick Start](https://roborev.io/quickstart/)** | **[Installation](https://roborev.io/installation/)**\n\nContinuous code review for AI coding agents. roborev runs in the\nbackground, reviews every commit as agents write code, and surfaces\nissues in seconds -- before they compound. Pull code reviews into\nyour agentic loop while context is fresh.\n\n![roborev TUI](https://raw.githubusercontent.com/roborev-dev/roborev-docs/main/public/tui-hero.svg)\n\n## How It Works\n\n1. Run `roborev init` to install a post-commit hook\n2. Every commit triggers a background review -- agents write, roborev reads\n3. View findings in the TUI, feed them to your agent, or let `roborev fix` handle it\n\n## Quick Start\n\n```bash\ncd your-repo\nroborev init          # Install post-commit hook\ngit commit -m \"...\"   # Reviews happen automatically\nroborev tui           # View reviews in interactive UI\n```\n\nIf roborev is managed by a version manager, `roborev init` tries to\ninstall hooks with the stable shim/symlink. You can also choose the exact\nbinary path with `roborev init --binary ~/.local/share/mise/shims/roborev`.\n\n![roborev review](https://raw.githubusercontent.com/roborev-dev/roborev-docs/main/public/tui-review.svg)\n\n## Features\n\n- **Background Reviews** - Every commit is reviewed automatically via\n  git hooks. No workflow changes required.\n- **Auto-Fix** - `roborev fix` feeds review findings to an agent that\n  applies fixes and commits. `roborev refine` iterates until reviews pass.\n- **Code Analysis** - Built-in analysis types (duplication, complexity,\n  refactoring, test fixtures, dead code, security) that agents can fix\n  automatically.\n- **Multi-Agent** - Works with Codex, Claude Code, Gemini, Copilot,\n  OpenCode, Cursor, Kiro, Kilo, Droid, and Pi.\n- **Runs Locally** - No hosted service or additional infrastructure.\n  Reviews are orchestrated on your machine using the coding agents\n  you already have configured.\n- **Interactive TUI** - Real-time review queue with vim-style navigation.\n- **Review Verification** - `roborev compact` verifies findings against\n  current code, filters false positives, and consolidates related issues\n  into a single review.\n- **Extensible Hooks** - Run shell commands on review events. Built-in\n  [beads](https://github.com/steveyegge/beads) integration creates trackable issues from\n  review failures automatically.\n\n## The Agentic Fix Loop\n\nWhen reviews find issues, copy-and-paste the reviews into your\ninteractive agent sessions, or invoke the `roborev:fix` skills. You\ncan also address open reviews on the command line non-interactively\nwith `roborev fix`.\n\n`roborev fix` shows the review findings to an agent, which applies\nchanges and commits. The new commit gets reviewed automatically,\nclosing the loop.\n\nFor fully automated iteration (advanced feature), use `refine`:\n\n```bash\nroborev refine                  # Fix, re-review, repeat until passing\n```\n\n`refine` runs in an isolated worktree and loops: fix findings, wait for\nre-review, fix again, until all reviews pass or `--max-iterations` is hit.\n\n## Code Analysis\n\nRun targeted analysis across your codebase and optionally auto-fix:\n\n```bash\nroborev analyze duplication ./...           # Find duplication\nroborev analyze refactor --fix *.go         # Suggest and apply refactors\nroborev analyze complexity --wait main.go   # Analyze and show results\nroborev analyze test-fixtures *_test.go     # Find test helper opportunities\nroborev analyze security ./...              # Find security risks in existing code\n```\n\nAvailable types: `test-fixtures`, `duplication`, `refactor`, `complexity`,\n`api-design`, `dead-code`, `architecture`, `security`.\n\nAnalysis jobs appear in the review queue. Use `roborev fix \u003cid\u003e` to\napply findings later, or pass `--fix` to apply immediately.\n\n## Installation\n\n**Shell Script (macOS / Linux):**\n```bash\ncurl -fsSL https://roborev.io/install.sh | bash\n```\n\n**Homebrew (macOS / Linux):**\n```bash\nbrew install roborev-dev/tap/roborev\n```\n\n**Windows (PowerShell):**\n```powershell\npowershell -ExecutionPolicy ByPass -c \"irm https://roborev.io/install.ps1 | iex\"\n```\n\n**With Go:**\n```bash\ngo install go.kenn.io/roborev/cmd/roborev@latest\n```\n\n## Developer Setup\n\nThis repo uses [`prek`](https://prek.j178.dev/) for local pre-commit checks.\nThe hook is a local system hook that runs `make lint`, so pre-commit can apply\n`golangci-lint --fix` automatically instead of using the upstream\n`golangci-lint` pre-commit repository. The hook is configured with\n`always_run = true`, so it runs on every commit, not just commits that touch\nGo files.\n\n```bash\nbrew install prek     # or use your preferred prek install method\nprek install          # install the local git hook\nprek run --all-files  # run the configured checks manually\n```\n\nIf the hook rewrites files, re-stage them and re-run `git commit`. Use\n`make lint-ci` when you want a non-mutating lint check.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `roborev init` | Initialize roborev in current repo |\n| `roborev tui` | Interactive terminal UI |\n| `roborev status` | Show daemon and queue status |\n| `roborev review \u003csha\u003e` | Queue a commit for review |\n| `roborev review --branch` | Review all commits on current branch |\n| `roborev review --dirty` | Review uncommitted changes |\n| `roborev fix` | Fix open reviews (or specify job IDs) |\n| `roborev refine` | Auto-fix loop: fix, re-review, repeat |\n| `roborev analyze \u003ctype\u003e` | Run code analysis with optional auto-fix |\n| `roborev compact` | Verify and consolidate open review findings |\n| `roborev show [sha]` | Display review for commit |\n| `roborev run \"\u003ctask\u003e\"` | Execute a task with an AI agent |\n| `roborev close \u003cid\u003e` | Close a review |\n| `roborev skills install` | Install agent skills for Claude/Codex |\n\nSee [full command reference](https://roborev.io/commands/) for all options.\n\n## Configuration\n\nCreate `.roborev.toml` in your repo:\n\n```toml\nagent = \"claude-code\"\nsnapshot_dir = \".roborev\"\nreview_guidelines = \"\"\"\nProject-specific review instructions here.\n\"\"\"\n```\n\n`snapshot_dir` must be repo-relative. `roborev init` ensures it is ignored in `.gitignore`; snapshot creation also adds a local `.git/info/exclude` fallback for existing checkouts whose ignore setup is stale.\n\nSee [configuration guide](https://roborev.io/configuration/) for all options.\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `ROBOREV_DATA_DIR` | Override default data directory (`~/.roborev`) |\n| `ROBOREV_COLOR_MODE` | TUI color theme: `auto` (default), `dark`, `light`, `none` |\n| `ROBOREV_SYNC_CURSOR_LOOKBACK` | PostgreSQL sync cursor overlap duration (default `5m`) |\n| `NO_COLOR` | Set to any value to disable all color output ([no-color.org](https://no-color.org)) |\n\n## Supported Agents\n\n| Agent | Install |\n|-------|---------|\n| Codex | `npm install -g @openai/codex` |\n| Claude Code | `npm install -g @anthropic-ai/claude-code` |\n| Gemini | `curl -fsSL https://antigravity.google/cli/install.sh \\| bash` (preferred Antigravity CLI) or `npm install -g @google/gemini-cli` |\n| Copilot | `npm install -g @github/copilot` |\n| OpenCode | `npm install -g opencode-ai@latest` ([anomalyco/opencode](https://github.com/anomalyco/opencode)) |\n| Cursor | [cursor.com](https://www.cursor.com/) |\n| Kiro | [kiro.dev](https://kiro.dev/) |\n| Kilo | `npm install -g @kilocode/cli` |\n| Droid | [factory.ai](https://factory.ai/) |\n| Pi | [pi.dev](https://pi.dev/) |\n\nroborev auto-detects installed agents.\n\n### Routing Claude Code to a proxy (Ollama, LiteLLM, etc.)\n\nThe `claude-code` agent accepts a model spec of the form `\u003cmodel\u003e@\u003cbase_url\u003e`.\nWhen `\u003cbase_url\u003e` starts with `http(s)://`, roborev points Claude Code at\nthat endpoint and pins all tier aliases (Opus/Sonnet/Haiku/subagent) to the\ngiven model.\n\n```toml\n# .roborev.toml — local Ollama for reviews, real Anthropic for fixes\nagent = \"claude-code\"\nreview_model = \"glm-5.1:cloud@http://127.0.0.1:11434\"\nfix_model    = \"sonnet\"\n```\n\nOr via CLI: `roborev review --model 'glm-5.1:cloud@http://127.0.0.1:11434'`.\n\n**Proxy auth.** Set `ROBOREV_CLAUDE_PROXY_TOKEN` to forward a bearer token\nto the proxy as `ANTHROPIC_AUTH_TOKEN`. If unset, roborev sends a placeholder\n(sufficient for gateways that don't check the header, such as Ollama).\nroborev does *not* forward `ANTHROPIC_API_KEY` to proxy endpoints — that\nwould leak a real Anthropic credential to arbitrary third parties.\n\n**URL restrictions.** Proxy URLs must not embed `user:pass@` credentials\n(use `ROBOREV_CLAUDE_PROXY_TOKEN`); `http://` is only accepted for loopback\nhosts (`127.0.0.1`, `::1`, `localhost`) so plaintext endpoints can't receive\ntokens over the wire. Use `https://` for remote proxies. The full URL\n(including any path or query string) is forwarded as-is to\n`ANTHROPIC_BASE_URL`, so include the path your gateway expects (e.g.\nLiteLLM may want a trailing `/v1`; Ollama wants no path).\n\n**Environment behavior (breaking change in this release).** When the\n`claude-code` agent runs, roborev always strips inherited `ANTHROPIC_API_KEY`,\n`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`,\n`ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL`, and `CLAUDE_CODE_SUBAGENT_MODEL`\nfrom the child environment. If you were previously routing Claude Code by\nexporting these vars in your shell, switch to the `\u003cmodel\u003e@\u003cbase_url\u003e` spec\ninstead. For native (non-proxy) mode, configure `ANTHROPIC_API_KEY` via\nroborev's config (it is re-injected from roborev's stored key, not inherited\nfrom the operator's shell).\n\n## Telemetry\n\nroborev sends limited anonymous telemetry to PostHog when the daemon starts\nand once every 24 hours while the daemon remains running: `daemon_started`\nand `daemon_active` with repo count, review count, sync enabled, CI\nenabled, and auto-design enabled, plus `application=roborev`, version, OS/arch,\n`$process_person_profile=false`, `$geoip_disable=true`, and an anonymous install\nID.\nIt does not send repo names, paths, remotes, prompts, review output, provider\ntokens, usernames, or IP geolocation. Set `ROBOREV_TELEMETRY_ENABLED=0` to\ndisable it. `TELEMETRY_ENABLED=0` is also honored. Telemetry is always disabled\ninside Go test processes, regardless of environment variables.\n\n## Security Model\n\nroborev delegates code review and fix tasks to AI coding agents that\nhave shell access. Review agents may execute read-only git and shell\ncommands to inspect diffs; fix agents run in isolated worktrees with\nfull tool access.\n\n**roborev is designed for use with trusted codebases.** The review\nprompt includes diff content and commit messages from the repository.\nIf you are reviewing untrusted code (e.g., open-source contributions\nfrom unknown authors), run roborev inside a sandboxed environment\n(container, VM, or similar) to limit the blast radius of any\nprompt-injection attack that could cause an agent to execute\nunintended commands.\n\n## Documentation\n\nFull documentation available at **[roborev.io](https://roborev.io)**:\n\n- [Quick Start](https://roborev.io/quickstart/)\n- [Installation](https://roborev.io/installation/)\n- [Commands Reference](https://roborev.io/commands/)\n- [Configuration](https://roborev.io/configuration/)\n- [Auto-Fixing with Refine](https://roborev.io/guides/auto-fixing/)\n- [Code Analysis and Assisted Refactoring](https://roborev.io/guides/assisted-refactoring/)\n- [Hooks](https://roborev.io/guides/hooks/)\n- [Agent Skills](https://roborev.io/guides/agent-skills/)\n- [PostgreSQL Sync](https://roborev.io/guides/postgres-sync/)\n\nFor local development in this repo, install hooks with `prek install` or run\n`make install-hooks` as a thin wrapper around `prek install`.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenn-io%2Froborev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkenn-io%2Froborev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenn-io%2Froborev/lists"}