Skip to content
mblodePublic

About

Captain a fleet of cmux worktrees from one Claude Code session

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

One chat that runs your coding agents: a task list, full harnesses in cmux worktrees, and only the decisions come back to you

Tell it what you want, or hand it a ticket. It keeps the list, starts Claude Code, Codex or Cursor on each task in its own worktree, and brings you plans to approve and PRs to merge.

Image Image

Docs

Setup, every command, and how a task gets from a message to a merged PR.

View docs

Install

You need Node 24+, with git, gh, claude and cmux on your PATH. codex and the Cursor CLI (agent) are optional extra harnesses.

npm install -g cmux-captain
captain install

captain install adds the skills the chat and workers need, then tells you what is missing.

Quickstart

# A project: a task folder tied to one repo, with a WIP limit
captain init rebuild --repo ~/code/app --wip 4

# Then open Claude Code in its own cmux workspace and run /captain.
# Talk to it: "rebuild billing settings, same behaviour as the old app", "pick up TIG-430",
# "what needs me?". It runs the commands below for you.

captain add "rebuild billing settings"   # a task from a message (or: captain add TIG-430)
captain start t-1 --harness codex        # worktree + cmux workspace + agent
captain status                           # NEEDS YOU / READY TO MERGE / CAPTAIN'S MOVE / WORKING
captain review t-1                       # the other vendor reviews the PR
captain done t-1                         # close it once merged

What you control

  • What gets started: the chat shows you a card for every batch of tasks, with the harness and model it picked. Nothing starts before your yes.
  • Risky plans: tasks touching auth, billing, data migrations or releases run in Claude Code plan mode and wait for captain approve.
  • How much is in flight: start refuses past the WIP limit, because every started task is a PR you have to review.
  • The merge: a task is READY TO MERGE only when CI is green, a fresh-context verifier passed its definition of done, and a model from the other vendor reviewed the PR. Merging stays yours.

Notes

  • Tasks are plain markdown files in ~/captain/<project>/tasks/. The chat maintains them, and you can edit them.
  • Status is derived live from cmux, git and GitHub every time. There is no daemon, so there is nothing to restart or go stale.
  • Set LINEAR_API_KEY or DONEBEAR_TOKEN to add tasks from tickets.

License

MIT


Crafted by Image Matthew Blode

About

Captain a fleet of cmux worktrees from one Claude Code session

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages