SwarmForge Prerequisites: What You Need to Run the tmux-Based AI Orchestration Platform
SwarmForge requires zsh, git, tmux, Babashka, and an AI-agent backend to install and run any product pack.
SwarmForge is a tmux-based orchestration platform for AI agents developed by Uncle Bob (Robert C. Martin). Before you can deploy a multi-agent team like the six-pack or project-manager forge, five core prerequisites must be in place. This guide walks through each requirement, explains its role in the architecture, and shows how to verify your setup.
Shell Environment: zsh
SwarmForge assumes a Z shell environment. The get-swarm-forge helper script and various shell utilities throughout the codebase are written specifically for zsh.
If you're running bash or another shell, switch to zsh or ensure zsh is installed and available:
zsh --version
The installer script at get-swarm-forge relies on zsh-specific features for path handling and process management.
Version Control: git
Git is required for two reasons: the get-swarm-forge script clones the SwarmForge repository on first run, and individual product packs are themselves distributed via Git.
Verify git is installed:
git --version
When you run get-swarm-forge six-pack, the script pulls the latest pack files from the remote repository into your current working directory.
Terminal Multiplexer: tmux
All SwarmForge agents run in isolated tmux panes and sessions, providing process isolation, persistent sessions, and a unified dashboard. Without tmux, the orchestration layer cannot function.
Check your tmux installation:
tmux -V
The core runtime scripts in swarmforge/scripts/ manage tmux sessions programmatically, creating dedicated panes for each AI agent in your chosen pack.
Clojure Runtime: Babashka (bb)
SwarmForge's core runtime is written in Clojure and executed by Babashka, a fast native Clojure interpreter. The scripts in swarmforge/scripts/ are .clj files run through bb.
Install Babashka, then verify:
bb --version
bb -e '(println "Babashka is ready")'
Without Babashka, the swarm orchestration logic, agent handoff protocols, and session management cannot execute.
AI-Agent Backend
SwarmForge does not bundle an AI backend. You must have access to at least one supported language-model service:
| Backend | Use Case |
|---|---|
| grok | xAI's conversational model |
| codex | OpenAI's code-focused model |
| claude | Anthropic's reasoning engine |
| copilot | GitHub's pair-programming AI |
Set appropriate environment variables for your chosen backend before launching a swarm. For example, with OpenAI Codex:
export OPENAI_API_KEY=your_key_here
The agents in swarmforge/scripts/ send prompts to this backend for code generation, refactoring, and question answering.
Installing SwarmForge After Prerequisites
Once all five prerequisites are satisfied, install the helper script:
mkdir -p ~/cmds
curl -L -o ~/cmds/get-swarm-forge \
https://raw.githubusercontent.com/unclebob/swarm-forge/main/get-swarm-forge
chmod +x ~/cmds/get-swarm-forge
export PATH="$HOME/cmds:$PATH"
Then install and launch a product. The six-pack runs six coordinated agents:
get-swarm-forge six-pack
./swarm
For multi-project orchestration, use the project-manager forge instead:
get-swarm-forge project-manager
./swarm
Important: The Repository Is Not a Runnable Product
The main branch of unclebob/swarm-forge contains documentation, the installer, and pack definitions—but is not itself executable. As noted in the README.md prerequisites section, you must install a specific product via get-swarm-forge before running ./swarm.
Key Files in the Source
| File | Purpose |
|---|---|
README.md |
Documents prerequisites and installation steps |
get-swarm-forge |
Entry-point installer script for all packs |
swarmforge/scripts/ |
Core Clojure runtime executed by Babashka |
swarmforge/handoff-protocol.md |
Agent communication specification |
Summary
- zsh: Required shell environment for all scripts
- git: Clones repository and pack files during installation
- tmux: Provides session isolation and the dashboard UI
- Babashka (
bb): Executes the Clojure orchestration runtime - AI backend: External LLM service (grok, codex, claude, or copilot) powers agent cognition
Missing any prerequisite prevents installation or runtime operation.
Frequently Asked Questions
Can I run SwarmForge without zsh?
No. The get-swarm-forge installer and runtime utilities depend on zsh-specific behavior. Running under bash or fish will cause failures during pack installation or agent spawning.
Does SwarmForge work without an internet connection?
Partially. You need internet to install packs via git and for agent backends to reach their LLM APIs. Once installed, local-only operations may function offline, but agent cognition requires API connectivity.
Which AI backend is recommended?
The README.md does not prescribe a preferred backend. Choose based on your existing API access, cost constraints, and task requirements. Claude excels at reasoning; Codex targets code generation; Grok and Copilot offer alternative trade-offs.
Can I use my own local LLM instead of the listed backends?
The source code specifies grok, codex, claude, or copilot as supported options. The swarmforge/scripts/ runtime likely expects compatible API schemas. Using an unlisted local model would require modifications to the configuration and potentially the handoff protocol implementation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →