chain-pilled · on base

Your code,
reviewed by a frog who’s seen
worse.

A GitHub App that drops real, actionable review on every PR — bugs, security flags, perf notes — then signs off with a blunt frog verdict. $PEPE on Base unlocks unlimited reviews and private repos.

Posts comments only · never a required check · easy opt-out

Pepeview mascot
v1.0 sticker🐸 LGTM
Frog holding a code-review clipboard
/// what it does

Real review, on every PR.

The frog opens your PR like a senior reviewer — works through the changed code, flags what’s wrong, and tells you whether it’s safe to ship. Persona is in the verdict; the review itself is plain, useful engineering feedback.

  • Reads only the diff

    Just the changed hunks — never your full repo. Generated, vendored, lock, and binary files are auto-skipped.

  • Flags real issues

    Severity-tagged inline comments on specific lines: [bug] [security] [perf] [error-handling] [readability].

  • Signs off with a verdict

    One blunt frog stamp — 🐸 LGTM or 🐸 NGMI — so reviewers know at a glance whether to merge.

/// how it works

Three steps. No config.

No required checks. No merge gates. Just a frog in your PR conversation, doing the work.

01step

Install on a repo

Add the GitHub App to a repo or whole org. Acts only where it’s installed.

02step

Open a PR (or @mention)

On every PR — or when you say @pepeview — the frog reads the diff and goes to work.

03step

Get the review

One summary, a few sharp inline comments, and a 🐸 LGTM or NGMI verdict — posted as a normal comment.

⌁ re-run any time with @pepeview on the PR

/// the two verdicts

Two stamps. Same standards.

Every review ends with one of two verdicts. Clean code ships. Broken code gets named, severity-tagged, and roasted (politely).

Frog approving a clean PR
🐸 LGTMwhen it’s clean

Short summary, no inline notes if there’s nothing to flag, and a one-line verdict reason. Out of your way.

Horrified frog looking at bad code
🐸 NGMIwhen it isn’t

Severity-tagged inline comments on the lines that need work, plus a blunt frog one-liner telling you what to fix first.

/// every NGMI finding carries a severity tag

  • bug

    No null check on session — this throws on logout.

  • security

    User input flows into the SQL query unescaped. Inject-able.

  • error-handling

    Promise rejection swallowed in catch — failure goes silent.

  • perf

    N+1: you fetch the author inside the map. Batch with whereIn.

  • readability

    This 80-line function does three things — split it.

/// the review experience

A normal PR conversation — just better.

Pepeview shows up in your PR exactly where review belongs: as a GitHub review with a summary body, inline comments on specific lines, and a closing verdict. Your reviewers and CI keep working exactly as before — the frog is just one more voice in the thread.

Frog at multi-monitor PR review setup

pepeview /bot

reviewed 3 files · just now

PR #42
bugauth.ts:42

No null check on `session` — this throws on logout.

securityapi.ts:88

User input flows into the query unescaped. SQLi.

perffeed.ts:13

N+1: you fetch the author inside the map. Batch it.

“Three real bugs and one timebomb. Fix these before this touches main.”

🐸 NGMI
/// guardrails

Won’t be the bot you uninstall.

Pepeview is designed to be the kind of reviewer maintainers want on their PRs. Every choice here is to keep the noise down and the trust up.

guarantee

Never blocks a merge

Posted as event: "COMMENT" — never a required status check.

guarantee

No noise

Generated, vendored, lock and binary files are skipped. Rapid pushes coalesce into one review.

guarantee

Easy off-switch

Uninstall the app any time; per-repo .pepeview.yml disable flag in the works.

guarantee

Diff-only, not your repo

Only the changed hunks of the PR are sent to the model. No full-source crawl.

/// token utility

$PEPE unlocks more.

Dead simple: hold $PEPE on Base, get the better tier. No staking, no lockups, no funnels. Read-only balance check on every review.

/// compare

Which tier fits?

Both tiers ship the same persona, rubric, and verdicts. Holders get more headroom and the deeper model.

Free

public repos

Install on GitHub
best

Holder

$PEPE on base

Link wallet →
Repo visibility
Public only
Public + private
Daily rate limit
10 reviews / repo
Unlimited
Diff size cap
60 KB
400 KB
Review model
Claude Haiku 4.5
Claude Opus 4.7
Reasoning effort
Default
High
On-chain check
Read-only balanceOf, 60s cache

⌁ tier is resolved per-review · changes when your wallet balance does

Frog pressing the Connect Wallet button
/// linking your wallet

Two clicks. One signature.

The frog never touches your keys, never sends a transaction, and never asks for funds. You sign a single SIWE message — the same kind every Base app uses — and your GitHub identity is bound to your wallet.

  1. 01

    Sign in with GitHub

    Proves which GitHub account is yours. Only the read:user scope is requested.

  2. 02

    Connect your wallet

    Coinbase Wallet, MetaMask, anything wagmi supports. No transaction.

  3. 03

    Sign the SIWE message

    A plain text message. Binds githubUserId ↔ wallet. Nothing on-chain.

Go to dashboard →
/// how the gate works

Token gate, in plain English.

On every PR, Pepeview reads the PR author’s linked wallet balance on Base and picks a tier. That’s it. No staking, no escrow, no transactions to sign besides one SIWE login.

Network

Base mainnet

Launch venue

Clanker

Check

Read-only balanceOf

Cache

60 seconds per wallet

Threshold

HOLDER_MIN_PEPE (whole tokens)

Pepeview never

Moves funds · asks for keys · writes on-chain

/// your console

Every review, at a glance.

The Pepeview dashboard shows your current tier and live $PEPE balance, today’s usage, and a feed of every recent review — each linked back to the PR. One screen for your whole frog footprint.

  • Linked GitHub + wallet
  • Live tier & $PEPE balance
  • Reviews today vs daily cap
  • Recent reviews · deep-linked to PRs
Open the dashboard →
Frog inspecting a dashboard
/// frequently doubted

Honest answers.

The short versions. Full nuance lives in the docs.

more in the full docs →

Ship a PR for the frog.

Install once, open a PR, get a verdict. No config, no merge blocking. One frog, zero ceremony.