GitHub App · Free for OSS · Pro for private repos
Code health intelligence on every PR. Zero LLM calls.
The Repowise PR Bot posts one deterministic comment per pull request — only when there's something worth saying. Hotspot touches, hidden co-change partners, declining health, dead code. No prompts, no hallucinations, no per-PR tokens.
- Silence rule — green PRs get no comment
- Edit-don't-repost on re-pushes
- Hotspot + co-change + ownership warnings
- No clone, no LLM, no token cost
✅ Health: 7.0 → 7.0 (-0.0)
graph.py3.3 → 2.2▼ -1.1
untested hotspot, brain method, nested complexity
🔥 Hotspot touched
graph.py — 21 commits/90d, 13 dependents
primary owner: Raghav (62%)
🔗 Hidden coupling
graph.py co-changes with orchestrator.py (8×)
— not in this PR.
The silence rule
A green PR gets no comment. Period.
Most PR bots are noise. Ours stays silent unless there's a measurable signal worth interrupting a reviewer for — degraded health, missing co-change partner, new dead code, hotspot touch. When it does comment, improvements are shown alongside problems so you see credit for cleanup.
- 01Net repo health degrades
- 02Any modified file's score drops
- 03A hotspot file is touched
- 04Top co-change partner is missing from the PR
- 05New dead code is introduced (or removed — that's a win)
- 06A modified file is on a declining-health trajectory
What you get in the comment
Six sections, conditionally rendered.
Each section is independent and only renders when it has something to say. The comment is balanced, scannable, and useful even on a phone.
Health delta
Repo-level score change + a per-file table showing which files dropped, with concrete biomarker reasons (cyclomatic, nesting depth, brain method, duplication).
Hotspot touches
When the PR modifies a file with high churn and many dependents, the bot surfaces its top contributor and suggests adding their review.
Hidden coupling
Files that historically co-change with a modified file but aren't in this PR. Catches partial refactors before they break the next deploy.
Declining health alert
Files that have dropped in 3 of the last 5 snapshots, with a 30-day projection. Pre-emptive signal, not a lagging metric.
Dead code
New unreachable code introduced by the PR — and cleanup celebrated when the PR removes existing dead code.
Deterministic suggestions
Refactoring suggestions are template strings keyed off the biomarker type. Nothing is generated by an LLM — every comment is reproducible.
How it works
Three steps. ~5 seconds per PR.
01
Install
Click install, pick repos or a whole org. The bot indexes default branches via the existing Modal pipeline — usually 3–10 minutes.
02
Open a PR
On opened / synchronize / reopened, the bot re-parses changed files, runs the 12-biomarker health analyzer in incremental mode, and decides whether to comment.
03
Read the report
Each comment links back to the live snapshot on repowise.dev/s/{short_id} for the full graph, hotspots, and biomarker drill-downs.
Pricing
Free for OSS. Pro for private.
The bot is free forever for public/OSS repos — no LLM tokens, no PR cap. Private repos require the Pro plan (matches the rest of Repowise hosted). Private installs still index on connect, so the snapshot is ready the moment you upgrade.
See the full Repowise pricing →Frequently asked
Does the bot post on every PR?
No — silence is the feature. A green PR with no findings gets no comment at all.
Does it cost anything?
Free forever for public/OSS repos — no PR caps. Private repos require the Pro plan, matching the rest of Repowise hosted. Private installs still index when you connect, so the snapshot is ready the moment you upgrade.
Does the bot call an LLM?
Nowhere. Health scoring is deterministic (tree-sitter + NetworkX + the 12-biomarker scorer). Refactoring suggestions are template strings keyed off the biomarker type.
Will it spam multiple comments on the same PR?
No. The bot edits its existing comment when new commits land. If the silence rule fires after a previous comment, the old comment is deleted instead of left stale.
What permissions does it need?
Contents: Read · Pull requests: Write · Metadata: Read · Issues: Write (GitHub treats PR comments as issue comments).
Can I tune it per repo?
Yes — drop a .repowise/bot.yaml in the repo root to disable sections, change the comment threshold, or ignore paths like vendor/ and *.generated.*.
How does the bot relate to repowise.dev?
Same engine. Every PR comment links to the live snapshot on repowise.dev/s/{short_id} for the full dashboard — graph, hotspots, ownership, decision archaeology, MCP for AI agents.
Install in 30 seconds.
Free for OSS, no credit card. Private repos require Pro. Uninstall any time from github.com/settings/installations.
Install on GitHubQuestions? Email hello@repowise.dev or join us on Discord.