Open source · runs on your machine · GitLab and GitHub
AI code review for your merge requests — on your machine, on the subscription you already pay for.
Mergerie turns the claude or copilot CLI you already have into a review-and-ship workstation for GitLab and GitHub. No API key, no SaaS, no code leaving your laptop. The AI scores, explains, fixes and converges. You merge.
Try it in 30 seconds
git clone https://github.com/debugall/mergerie && cd mergerie && npm install && npm run demo
No token, no account: a seeded demo with fictional data.
Local.
A Node + SQLite server on your machine. The only network calls are the ones you configure: your forge, your Jira, your Jenkins.
Your subscription.
It drives the claude or copilot CLI you already have. Zero extra cost per review, nothing new to buy.
You merge.
The AI scores, explains, fixes, converges. Nothing is merged, published or pushed without your click.
Reviews
What a review looks like
A merge request lands in your queue. One click: the AI reads the diff, not the whole repository, and returns a score out of 10 with findings that point at a file and a line. Ask for a plain-language explanation when the subject is new to you. Your own remarks anchor on the line they are about, stay pending while you finish reading, then go out to the merge request in one go.
- Scored, versioned reviews; incremental re-review of what changed since
- Findings tracked to resolution, with a git guard: resolved means gone from the diff
- Team rules that fire on a path (
**/migrations/**) and badge the MR before the review - Per-MR context: the domain rule, last year's incident, a screenshot — sent with the diff, kept for the next pass
- A question on a finding gets an answer under the report, without regenerating it: the score and the versions do not move
Convergence
Review → fix → re-review, until it passes
The autonomous loop reviews, lets the AI fix what it found, commits, pushes, and reviews again — until the score threshold you set, or the cap on passes. When the AI cannot settle a decision, it asks you instead of guessing, and the loop resumes where it stopped.
- ReviewScore and findings on the diff.
- FixThe agent corrects, commits and pushes on the same branch.
- Re-reviewOnly what changed. Stop at the threshold.
A verdict that isn't an opinion
A plain list of commands — npm ci, npm test — gives a merge request an objective verdict: ✓ verified, ✗ 2 tests broken, ⚠ base already red. Broken test names are read straight from TAP or JUnit output. Merge requests from several repositories that only hold together as a set are verified together.
Agents
An AI that knows your twenty repositories, not only the one you are in
A session started inside a clone already has the code, its CLAUDE.md and its skills. What it does not have, Mergerie does: the nineteen other clones, what was merged this morning, and the knowledge that lives between repositories. An agent is a session profile — a role, a scope of repositories, tools, skills, an output, sometimes a schedule — and a run is an ordinary session: same follow-ups, same questions, same archived passes, same cost. Three rules hold everywhere: an agent never pushes and never publishes on its own, never guesses a repository, and never handles conversations between humans.
- “Where do we handle notifications, here?”A domain agent searches the repositories you ticked — and only those — then writes the map: entry points, mechanisms, types, configuration, tests, pitfalls. Every path it quotes is opened inside the clone; one that does not exist is marked (unverified) and counted.
- Then ask it, or code with itThe map becomes the context: ask the agent a question, or open a coding session with its repositories already ticked. It reports what it finds wrong in its own map instead of quietly patching it.
- An incident, down to the lineThe shipped investigator takes a stack trace, a log or a ticket excerpt, searches every clone, and names the repository, the file and the likely cause — and says it found nothing rather than offering a plausible repository.
You know when a map has aged, for free
The knowledge records each repository's SHA and the paths it quotes, so Mergerie counts the commits that touched those paths since — 7 commits since the map, with no AI call — and one click lists them with their date, author and message. Update relaunches the cartographer with the previous map, the gaps it reported and those commits; the result waits for you with a readable diff, and the agent keeps working from the old map until you validate. Agents also run on a schedule if you want — every day, week or month — and the morning brief says what ran during the night.
And the rest
Reasons to stay, once you are in
- Coding sessions from a ticketStart from a Jira ticket: the branch, the prompt and the commit message arrive pre-filled. The AI codes, commits, pushes, opens the MR.
- Multi-repository sessionsOne prompt, five repositories, five merge requests created together — and verified together.
- Sessions that stayFind a session from three days ago by its prompt, send a one-sentence follow-up: the agent resumes its session.
- Git, with conflicts on screenBranch merges with side-by-side conflict resolution, AI-assisted rebase with
--force-with-lease, restorable deletions. - Jenkins and Docker at a glanceYour CI jobs and compose projects, their verdicts and their
.envdrift, without leaving the tool. - Voice dictation, fed with your vocabularyLocal whisper.cpp that knows your repositories, branches and ticket prefixes — it writes
!214, not "214". - Notes your agents keep up to dateA documentation agent writes the general page and decides itself how many sub-pages the detail needs. They are matched by title from one run to the next, so a weekly agent updates them instead of piling up copies.
- Every address of your servicesStaging, Grafana, the runbook, the admin console: one grid per environment, paste an address and press Enter, and a keyboard that answers.
- A morning brief, not a dashboardWhat the night's agents produced, the merge requests ready to merge, the sessions stopped on a question, the remarks you wrote and never sent.
Install
Try it, then plug it in
- The demo, no token
Seeded fictional data, dry-run AI. Explore every screen.
git clone https://github.com/debugall/mergerie && cd mergerie && npm install && npm run demo - The real thing
Then Settings → your GitLab or GitHub token, and the folder where clones go.
npm start - Claude Code, installed and logged in
Mergerie drives the
claudeCLI through your existing subscription. Claude Code docs.npm install -g @anthropic-ai/claude-code && claude - Copilot CLI, installed and logged in
Mergerie drives the
copilotCLI through your existing subscription. Copilot docs.npm install -g @github/copilot && copilot
Requires Node 22.9+ and git. macOS, Linux, Windows (WSL). Voice dictation is optional and installed from the settings screen.
Compare
Why not a hosted reviewer?
Hosted reviewers are good. They also read your code on their servers, bill per seat, and mostly speak GitHub. Mergerie is the local, GitLab-first, no-extra-bill answer.
| Mergerie | CodeRabbit | Copilot code review | GitLab Duo | |
|---|---|---|---|---|
| Runs on your machine | ✓ yes | ✗ no | ✗ no | ✗ no |
| GitLab support | ✓ yes | ✓ yes | ✗ no | ✓ yes |
| Extra cost per seat | none on top of your Claude / Copilot plan | per seat | per seat | per seat |
| Convergence loop (review → fix → re-review) | ✓ yes | ✗ no | ✗ no | ✗ no |
Teams
Single-user by design. Team edition, if you ask for it.
Mergerie runs on one developer's machine, for that developer. If your team wants a shared server on your own infrastructure — shared review rules and verifiers, a dashboard, SSO, an audit trail — tell me what you would need. No form, no newsletter: an email.