The Review pipeline, stage by stage.
Cerberus doesn't just prompt an LLM with your diff. Every PR goes through a multi-stage pipeline built to cut false positives and keep findings grounded in real repo context — not guesses.
Full-repo context, not just the diff
Before writing a single comment, Cerberus resolves what each changed file actually imports and touches — pulling in blame, file history, and related definitions across the repo, in parallel, so it understands the code you changed in the context of the code you didn't.
- Import resolution is cached across PRs, so repeat reviews on the same repo get faster and cheaper over time.
- Imported definitions are trimmed to signatures — full context without paying full token cost.
- Existing CI check-run results (linters, type checkers) are pulled in via the GitHub Checks API, so Cerberus can distinguish tool-confirmed findings from its own inference.
Every finding gets a second opinion
A dedicated verification pass — run on a separate, cheap model — re-reads each candidate finding against the actual code and votes on whether it holds up. Findings that don't survive multi-vote verification are dropped silently, never posted to your PR.
This is the same precision-first approach behind the manual annotation dashboard the team uses internally to track false-positive rate over time — it's not a one-off tweak, it's a metric Cerberus is optimized against.
It remembers what your team already decided
Reply "that's intentional" or "that's our convention" on a comment, and Cerberus folds it into a per-repo convention set that future reviews are checked against — so it stops re-raising the same dismissed finding on every subsequent PR.
Steer it from the PR thread
Cerberus responds to commands right in the PR conversation — no dashboard required:
For static, per-repo control, .cerberusconfig supports path-scoped rule blocks — e.g. stricter checks for payments/**, relaxed ones for tests/** — automatically scoped to only the files a PR actually touches.
Built to run on every PR, not just the important ones
File fetches, blame, and history run in parallel per stage. Diffs are trimmed and default-ignored paths are skipped before they ever reach the model. Transient LLM failures are retried automatically. The result: a review that's cheap and reliable enough to run on every single push, not something you save for release candidates.
See it on your own PRs.
Free to use. Set up takes two minutes.
Get Started with GitHub →