Overview
GitVim is an AI code-review bot that lives as a GitHub App. When a pull request is opened — or someone says @gitvim on a PR — GitVim 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 $GITV token on
Base. The token launches separately on Clanker — GitVim only ever reads the balance, never deploys or mints it.
Install on GitHub
Install the App from the install page (launching May 29, 2026 · 12:00 UTC) and pick the repos you want reviewed. 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 $GITV (see Tiers).
How a review works
GitVim 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 @gitvim (or @gitvim review) on a PR conversation to re-run the review on the current head. Mentions skip the debounce — GitVim 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
GitVimreads like a senior engineer who's seen it all — direct, dry, occasionally blunt, but genuinely helpful. The personality lives in the verdict; the actual review stays as plain, legible engineering feedback. The persona never roasts the person, only the code.
Tiers: Free vs Holder
The entire $GITV utility for MVP is gating. Holders get the better tier — no staking, no lockups, no funnels. GitVimreads 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_GITV $GITV (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
GitVim 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. GitVim drops everything tied to that installation.
- Per-repo opt-out via a
.gitvim.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 $GITV address.
FAQ
Does GitVim block merges?
No. Reviews are posted as comments only — event: "COMMENT" — and never become a required status check.
Will GitVim 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. GitVim is opinionated by design; treat its verdict like one trusted reviewer's — not a ground truth.
Where do I get $GITV?
$GITV launches on Clanker on Base. Once the token is live, swap on any Base DEX and link the holding wallet on the dashboard.
Launching May 29, 2026 · 12:00 UTC.
Bookmark gitvim.cc or grab the calendar invite — the install link goes live the moment we ship.
