Get it for macOS

Turn one thread into a crew: dispatch parallel agent ships in their own worktrees and land their work when it reports DONE. Ships get isolated git worktrees, scouts stay read-only, and every crew ends with a DONE, BLOCKED, or FAILED verdict. Thread events ping you the moment a crew finishes, fails, or stalls, and a crew that idles without a verdict gets nudged until it reports. Queue work with dependencies, gate merges behind green checks, and hand whole projects to domain captains. Requires the bb CLI on the host; the optional real firstmate toolbelt clones upstream firstmate scripts.


Overview

View source

Run a firstmate-style agent crew without leaving BB. Install, then run /captain in any thread, which calls deck and is the setup. deck titles an untitled thread Captain · <project> and pins it so a new /captain row does not vanish from the sidebar.

What you get

  • /captain plus /afk /ahoy /bearings /quiet /stow skills.
  • bb firstmate + firstmate_* tools (full CLI surface, including queue, memory, secondmate, quiet, forget). tell is a doorbell (queue-if-active); interrupt hard-stops. watch uses threads.wait.
  • Event supervision: thread.idle / thread.failed / turn.failed / interaction.pending. Stuck checker still samples output. Crews get no dispatch tools.
  • Real firstmate bin/ via bb firstmate fm after init --real. BB is the runtime backend (FM_BACKEND=bb); scripts are not rewritten in TypeScript. Native dispatch writes state/<id>.meta so those scripts see Fleet crews.
  • Fleet sidebar board + thread-header chip + @crew mentions.

Parent permission is a ceiling. Ship crews default to an isolated worktree. Merge is PR (green + mergeable) or local-only ff-only.

More from amrtawfik160

More in Agents & Providers 40

Add, choose, configure, route, or coordinate who runs a thread.

View all