Introduction
lupe is an open-source, bring-your-own-token AI code review agent that runs on your own model tokens.
lupe (German for magnifying glass) is a platform- and provider-agnostic AI code review agent. It reviews your pull requests β or a local diff β using your own provider tokens, as an open-source alternative to hosted tools like CodeRabbit, Cursor Bugbot, Greptile, and Macroscope.
There is no SaaS to sign up for and no per-seat pricing: you point lupe at a model you already pay for (Anthropic, OpenAI, Google, Amazon Bedrock, or any OpenAI-compatible gateway) and it does the review on your infrastructure and your budget.
Why lupe
- Provider-agnostic. One review engine, any model. Switching provider or model is a single config value β the engine asks for a task (triage, review, verify, deep), never a hard-coded model id.
- Bring your own tokens. Your keys, your spend. The only secret a repository needs is your
provider API key; GitHub access uses the built-in
GITHUB_TOKEN. - Two surfaces, one core. A reusable GitHub Action reviews pull requests, and a local CLI reviews diffs from your terminal β both call the exact same engine. An embeddable SDK lets you run reviews from your own code.
- Precision-first. Generation is deliberately high-recall, then a grounding verifier and a filter chain gate what actually gets published β the goal is a handful of actionable comments per PR, not noise.
Start here
GitHub Action quickstart
Add lupe to a repository and have it review every pull request.
CLI quickstart
Review a local branch or diff from your terminal.
How it works
The review flow: high-recall generation, grounding, and filtering.
Configuration
Every .lupe.yaml option, explained.
Explore
Providers & models
Supported providers, taskβmodel routing, and local backends.
Cost & budget
Cost accounting, pricing, and hard spend caps.
Security & privacy
Redaction, the pull_request_target guard, and the BYO-token model.
CLI reference
Every command and flag.
GitHub Action reference
Every input and output.
SDK reference
Embed reviewDiff and reviewPullRequest in your own tools.