Reviews that read the whole codebase
Every opened or updated pull request gets reviewed. Metis explores the surrounding code, not just the diff, and posts findings on the exact lines, tagged by severity and category.

An open-source GitHub App with two jobs: review every pull request you open, and turn the issues you pick into pull requests. Self-hosted, with the LLM of your choice.
Reviews the pull requests you open, and opens pull requests for the issues you pick. Keep scrolling to deal the deck.
Every opened or updated pull request gets reviewed. Metis explores the surrounding code, not just the diff, and posts findings on the exact lines, tagged by severity and category.
Launch a coding agent on any GitHub issue. It branches, edits code, runs your tests and linters, pushes, and opens a PR for you to review.
A second agent runs alongside the review. It rewrites vague titles and appends a clear summary of what changed, so reviewers start with context.
Built on LiteLLM. Use Gemini, GPT, Claude, Mistral, Azure OpenAI, or a model you host yourself. Switching is one environment variable.
Choose which repositories get reviewed, tune each one, browse every finding, and replay agent runs step by step.
Neither agent guesses from a diff. Both work inside a copy of your repository, the way an engineer would.
Every finding carries a category and a severity, and every review ends with a verdict, so critical issues never drown in nits. Drag the lens to look closer.
Both agents run your tests and linters in the sandbox: the reviewer to back up its claims, the coder to prove its change works.
Every review and every coding run gets a fresh Daytona sandbox, deleted when it ends. Agent tools never touch your servers.
Tune review sensitivity and ignored files per repository, and give coding agents extra instructions when you launch them.
Comments land on the PR while the agent is still working, not in one batch at the end.
Each Issue → PR run keeps its full conversation and every tool call, so you can replay exactly how a pull request was built.
Metis confirms the agent's branch actually landed on GitHub before it opens the pull request.
Two flows on the same engine: one reviews the code you write, the other writes code for you to review.
Automatic · every PR
Open or update a PR and the review starts on its own.
GitHub sends a signed webhook. Metis verifies it, records a pending review, and answers in milliseconds.
A review job and a summary job go onto a Redis queue, so slow LLM calls never block your webhooks.
A worker clones the PR branch into a fresh Daytona sandbox. The agent reads files, searches the codebase, and runs tests and linters.
Findings appear inline as the agent finds them, then a summary review with a verdict. The PR title and description are updated too.
On demand · any issue
Pick an issue in the dashboard and a coding agent takes it from there.
Choose any open issue from the dashboard and launch an agent, with optional instructions for how to approach it.
A worker clones your default branch into a fresh Daytona sandbox, with git credentials scoped to your GitHub App.
It creates a branch, edits the code, runs your tests and linters, then commits and pushes its work.
Metis checks the branch landed on GitHub and opens the pull request. The full run is saved so you can replay every step.
No new tool to adopt. Metis lives in your repository: it reviews the pull requests you open and answers issues with pull requests of its own, just like a teammate would.
Built from open-source parts you already know how to run, and the model provider you already use.
FastAPI
Webhooks & REST API
Celery
Background agents
Redis
Job queue
PostgreSQL
Reviews, findings & runs
Daytona
Isolated sandboxes
React
Dashboard
Gemini
via Vertex AI
OpenAI
GPT models
Anthropic
Claude models
Mistral AI
Mistral models
Azure OpenAI
Your deployments
LiteLLM
100+ more providers
The short version of what people ask before they self-host Metis.
Can't find your answer? Open an issue on GitHub.

Metis is free and open source. Bring your own GitHub App, LLM key, and Daytona account, and the whole stack starts with one command. Your code only goes to the services you configure.
Read the quickstartgit clone https://github.com/KacemMathlouthi/metis.git
cd metis
# add your GitHub App, LLM and Daytona keys
cp backend/.env.example backend/.env
# API, worker, dashboard, Postgres and Redis
make dev