Today · v1.0
Isolated worktree reviews, interactive TUI, background watcher, and official GitHub Actions CI.
Standalone binary for macOS & Linux · Zero external dependencies
Demo / Watch it run
One pass over a live pull request — the review flags a lifecycle bug, triage fixes it, and the branch ships. Just over a minute.
Local-first / Privacy by design
The review runs locally or in your CI. There is no PR Hero server in the path — we cannot see, store, or train on your code.
Checkout, diff, and reviewers stay where you work.
Nothing uploads to PR Hero. There is no backend of ours to receive it.
We do not store it, train on it, or look at it. We cannot.
Findings / Evidence you can open
Not a style nit. Every claim points to a file and line in your tree — plus a severity tier decided by code.
Every claim points to code you visited — not a generic paragraph.
The finding lives in a file and line you can open in your editor.
Blocking or advisory is decided by code. The model does not vote severity.
feat(auth): validate session timeout on refresh · #458
Using <= allows treating the session as valid when expiresAt === now, extending access beyond the intended TTL.
OWASP Session Management Cheat Sheet §2.2 — Expiration
“Sessions should expire at the intended time. Implementations must ensure that expiration checks do not allow a session to remain valid past expiry.”
Illustrative finding. Same shape as a real report: evidence, location, severity.
Measured / Lab
15 live pull requests. Two reviewers. Real findings — not a demo.
Same 15 live PRs · identical diffs
PR Hero
Catches what others miss.
41
findings caught
Live diff · sampled
13% false positive rate on triaged blocking findings.
Greptile
Same diffs. Fewer flags.
24
findings caught
Live diff · sampled
28 bugs Greptile missed — caught by PR Hero alone
15 live PRs, blocking findings triaged by hand. Overlap comparison — not a ranking. PR Hero and Greptile optimise for different things.
How it works / One pipeline
Four specialists read the same diff in parallel. Duplicates merge mechanically. A second pass challenges every serious finding. Severity is decided by code — not the model.
Pipeline schematic
Pull request
Your diff
opt-in
scout
parallel
same diff · four lenses
Correctness bugs: stuck loading, broken invariants, the defect that looks fine.
Failure paths: recovery, retries, stalls that never resolve.
Same behavior across surfaces. Runs only when the diff hits its paths.
Effects, latches, missing cleanups, re-entrancy, timers that never die.
Merge & verify
dedupe
Mechanical merge — no duplicate noise
refuter
Second pass challenges every serious claim
severity
Severity decided by code, not the model
comment
Structured output on the pull request
Review comment
Evidence-backed findings on your PR
Setup / Getting started
After the install script there is nothing to configure by hand: the wizard walks you through onboarding, init scaffolds the repo, and review needs no flags once it is. Running pr-hero on its own opens the TUI whenever you want it.
$ pr-hero setup
interactive onboarding wizard · one time, per machine
$ pr-hero init
scaffolds .prhero/ in your repo · config.json + gotchas.md
$ pr-hero review
zero flags inside a configured repo · runs on your machine
Roadmap / What's next
Today you can review PRs via interactive TUI, CLI, launchd watcher, and GitHub Actions. Upcoming phases bring multi-runtime support, incremental in-thread judges, and team dashboards.
Today · v1.0
Isolated worktree reviews, interactive TUI, background watcher, and official GitHub Actions CI.
Next
SoonMulti-runtime engine (OpenCode, Codex, Gemini, OpenRouter) and per-push in-thread judge.
Horizon
Custom repository hunter packs, web metrics dashboard, and enterprise policy rules.
Trigger
CLI · TUI · Watch · CI
Review
4 Hunters · Dedupe · Refuter
Surface
PR Comment · TUI
Next push
In-thread Judge
Soon · Soon
FAQ / Questions