Skip to content

Open source · for Claude Code

Claude Code with a memory, its own skills and a way to keep working while you're away.

MARVIN remembers what you decided, loads the right playbook for the job, and turns tickets into tested pull requests on its own. You still approve every merge.

Early. It runs every day on three machines, but it isn't packaged for anyone else yet.

Open the full mapDrawn from the running system, not a mock-up.

Counted, not claimed

What it has done so far

  • 100PRs written by the pipeline and merged81 on MARVIN itself, 19 on Seal Speak. Counted as merged PRs whose branch starts with pipeline/.
  • 7,600+tests7,674 counted: 4,640 Python tests collected by pytest in lib/tests, plus 3,034 dashboard tests listed by vitest.
  • 80+design decisions written down82 architecture decision records in docs/adr.
  • 33skills it can loadPlaybooks in the public repo, one SKILL.md each.
  • 3machines, one systemA MacBook Pro, a Mac mini, and a 2012 Mac mini running Linux.
  • 299merged PRs on the engineEvery merged PR on G-Eskayo/marvin, written by the pipeline or in a session with the owner, since the first merge on 27 August 2026.

Counted on Nov 2, 2026 from the repos and the machines that run it. How each number was counted.

What it does

Three things Claude Code doesn't do on its own

01 · Remembers

It starts every session knowing what you decided

Notes, decisions and lessons live outside the model. Each session pulls in the ones that matter for the task, plus a shared vocabulary, so you stop re-explaining your own project.

02 · Works while you are away

Tickets turn into tested pull requests

Label an issue and walk off. MARVIN makes a clean worktree, plans with a strong model, edits with a cheap one, measures the result, and only opens a PR when nothing got worse.

03 · You stay in charge

Nothing lands without your Approve

Every merge goes through a gate: rebase, re-run the tests the change can touch, check the screenshots, and log why if it refuses. When a PR needs you to choose, it asks with options you tick.

The life of a ticket

From an issue to main, while you sleep

  1. TICKETAn issue on GitHub, labelled ready
  2. WORKTREEA clean copy, so nothing touches your checkout
  3. PLANA strong model writes the plan
  4. BUILDA cheaper model makes the edits, up to 3 rounds
  5. MEASUREKept only if something got better and nothing got worse
  6. PROpened with the evidence attached
  7. GATEYou approve; the gate re-checks before main

Every step logs what happened. If three tickets fail the same way inside two hours, the pipeline stops itself and tells you why. How the pipeline works.

Built with MARVIN

It already shipped an app

Seal Speak is a live-captioning app for iPhone. It went from first commit to the App Store in 50 days, and 19 of its merged pull requests were written by MARVIN's pipeline.

See Seal Speak

Status, honestly

  • 34 features released and in daily use
  • 8 built and in testing
  • Runs on macOS. The core and its tests also run on Linux.
  • Not packaged for other people yet. That's what the waitlist is for.

Join the waitlistSee the roadmap