Skip to content

Demo: babysit a swarm-forge six-pack from muxboard #1

Description

@JacobStephens2

The idea

swarm-forge (Robert C. Martin) is a tmux-based agent orchestration platform. Each role gets its own git worktree under .worktrees/, a handoffd.bb daemon brokers tmux access and validates handoffs, and agents pass work with swarm_handoff.sh / ready_for_next.sh / done_with_current.sh. Topologies ship as branches: two-pack, four-pack, six-pack.

Its human interface is explicitly one Terminal window per role, across Terminal.app, Windows Terminal, Ghostty, or tmux-only. That is exactly the fan-out of terminals muxboard's README names as the thing that stops working past about two machines.

So the two projects sit at different layers and compose cleanly:

  • swarm-forge produces tmux sessions and hands you a pile of windows.
  • muxboard lists those sessions and lets you attach one from a browser.

Complementary, not competing. The demo: point muxboard at a host running a six-pack swarm and you get remote babysitting of a six-agent swarm from a phone. Close the laptop, reattach from anywhere, watch the specifier hand off to the coder.

Why it's worth doing

It exercises muxboard's actual thesis - that a long-running agent is easier to babysit from a browser tab than from a fan-out of terminals - against real third-party software rather than a synthetic session. swarm-forge's own interface choice is the problem statement.

What to verify

  • swarm-forge's tmux-only backend runs headless on Linux (it is documented around macOS Terminal.app and Windows Terminal)
  • Its tmux sessions land on a socket muxboard's user scoping can reach
  • Session naming renders sensibly in the dashboard - muxboard's numeric-aware ordering was built for operator-style names like 1, 2, 22, not role names
  • Six concurrent attaches behave against the per-principal attach caps
  • Last-activity timestamps are useful for spotting a stalled role

Prerequisites found on a headless Ubuntu host

tmux 3.4 present, git present. bb (babashka) and zsh both missing - swarm-forge needs both. Babashka is a single-binary install; zsh is an apt package.

Notes

swarm-forge has no license file as of this writing. Fine for running it and writing about it; do not vendor its code.

Install is by tarball of a branch, not main:

curl -L "https://github.com/unclebob/swarm-forge/archive/refs/heads/six-pack.tar.gz" | tar -xz --strip-components=1

Outcome should be a writeup on stephens.page/blog with screenshots of a live six-pack in the dashboard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions