Overview
Pepeview is an AI code-review bot that lives as a GitHub App. When a pull request is opened โ or someone says @pepeview on a PR โ the frog reads the diff, posts a real, actionable review (bugs, security flags, perf notes), and signs off with a blunt verdict: ๐ธ LGTM or ๐ธ NGMI.
Usage is gated by the $PEPE token on Base. The token launches separately on Clanker โ Pepeview only ever reads the balance, never deploys or mints it.
Install on GitHub
Install the App from the install page and pick the repos you want the frog to review. The first PR after install triggers the first review automatically.
- Works on individual repos or whole orgs.
- Public repos are reviewed on the Free tier without any wallet setup.
- Private repos require linking a wallet holding $PEPE (see Tiers).
How a review works
Pepeview ACKs the webhook fast, debounces rapid pushes (rebases, force-pushes), and reviews only the latest head SHA per PR. The pipeline:
PR opened / @mention โ webhook (HMAC verified)
โ
in-process queue ยท debounced ยท latest SHA wins
โ
โโ idempotency: one review per (repo, PR, head SHA)
โโ gating: free vs holder ยท rate limit ยท private-repo rule
โโ diff assembly: skip generated ยท per-tier byte cap
โโ Claude review: persona + rubric (cached system prompt)
โโ one summary review + inline comments (event: COMMENT)Re-running with @mention
Comment @pepeview (or @pepeview review) on a PR conversation to re-run the review on the current head. Mentions skip the debounce โ the frog reviews now.
Verdicts & rubric
Every review returns four things:
- Summary โ 2โ5 plain-English sentences on what changed and the main risks.
- Inline comments โ the most important findings, tied to a specific line and prefixed with a severity tag:
[bug],[security],[error-handling],[readability],[perf]. - Verdict โ
lgtmif safe to merge as-is,ngmiif real issues should be fixed first. - Verdict reason โ one blunt in-character sentence justifying the call.
The rubric, in priority order: correctness/bugs โ security โ error handling โ readability โ performance.
Persona & voice
Pepeviewis a chain-pilled blue Pepe frog with a half-lidded "I've reviewed worse" attitude โ direct, dry, a little mean, but genuinely helpful. The personality lives in the verdict; the actual review stays legible, useful engineering feedback. The persona never roasts the person, only the code.
Tiers: Free vs Holder
The entire $PEPE utility for MVP is gating. Holders get the better tier โ no staking, no lockups, no funnels. Pepeview reads the balance on Base on every review.
| Free | Holder | |
|---|---|---|
| Repo visibility | Public only | Public + private |
| Rate limit | 10 reviews / repo / day | Unlimited |
| Diff cap | 60 KB | 400 KB |
| Model | claude-haiku-4-5 | claude-opus-4-7, effort: high |
You become a holder when your linked Base wallet holds at least HOLDER_MIN_PEPE $PEPE (whole tokens, scaled by decimals). Balances are cached for 60 seconds.
Link your wallet (SIWE)
Two short steps from the dashboard:
- Sign in with GitHub โ proves the GitHub identity (only the
read:userscope is requested). - Connect & sign with your wallet โ you sign a one-line SIWE message in your wallet (Coinbase, MetaMask, etc). The signature binds
githubUserId โ walletwithout ever touching your private key.
Rate limits & limits
- Free tier: 10 reviews per repo per UTC day. Hitting the limit posts a friendly in-character message and stops.
- Diff size: capped per tier. When a PR exceeds the cap, the most-changed files are reviewed first and the omitted ones are reported in the summary.
- Generated / vendored files: auto-skipped (lock files,
dist/,node_modules/,vendor/, minified JS, maps, etc.). - Synchronize debounce: rapid pushes for the same PR collapse into one review of the latest head SHA.
Privacy & permissions
Pepeview requests the minimum permissions a review needs:
- Pull requests โ read & write (to post the review).
- Issues โ read & write (PR comments are issue comments).
- Contents โ read (to fetch the diff).
- Metadata โ read.
The diff is sent to Anthropic to produce the review. Only the changed hunks are sent; full repo contents are never read. No wallet keys, no funds movement, no on-chain writes.
Disable or uninstall
- Uninstall from GitHub โ Settings โ Applications โ Installed GitHub Apps any time. Pepeview drops everything tied to that installation.
- Per-repo opt-out via a
.pepeview.ymlwithdisabled: trueat the repo root (small follow-up).
Self-host
The full source ships ready to deploy. The provided docker-compose.prod.ymlruns the api + web + Postgres on a single box. Put Caddy in front for TLS and point your GitHub App's webhook URL at https://api.your.domain/webhooks/github.
docker compose -f docker-compose.prod.yml up -d --buildThe api applies pending Prisma migrations on boot. See the project README for the full Hetzner walkthrough, env reference, and how to wire the real Clanker $PEPE address.
FAQ
Does Pepeview block merges?
No. Reviews are posted as comments only โ event: "COMMENT" โ and never become a required status check.
Will the frog spam my repo?
One review per (repo, PR, head SHA). Force-pushes and rebases produce a new SHA โ one new review. Rapid successive pushes are debounced.
What if a finding is wrong?
React with a thumbs-down. The frog is opinionated by design; treat its verdict like one trusted reviewer's โ not a ground truth.
Where do I get $PEPE?
$PEPE launches on Clanker on Base. Once the token is live, swap on any Base DEX and link the holding wallet on the dashboard.

