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
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.
The idea
swarm-forge (Robert C. Martin) is a tmux-based agent orchestration platform. Each role gets its own git worktree under
.worktrees/, ahandoffd.bbdaemon brokers tmux access and validates handoffs, and agents pass work withswarm_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:
Complementary, not competing. The demo: point muxboard at a host running a
six-packswarm 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
1,2,22, not role namesPrerequisites found on a headless Ubuntu host
tmux 3.4present,gitpresent.bb(babashka) andzshboth missing - swarm-forge needs both. Babashka is a single-binary install; zsh is anaptpackage.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:Outcome should be a writeup on stephens.page/blog with screenshots of a live six-pack in the dashboard.