This series documents the architecture, decisions, and lessons from building Batty — a Rust CLI that supervises teams of AI coding agents in tmux.
Each post covers a specific subsystem or challenge. Start anywhere — they're designed to be useful independently.
The Architecture
How I Run a Team of AI Coding Agents in Parallel — The problem and the solution. Why running multiple agents on the same repo breaks without coordination.
Building a tmux-native agent supervisor in Rust — Deep dive into the Rust implementation. Crate choices, architecture decisions, what I'd do differently.
Why I Chose a Synchronous Poll Loop Over Async — I ripped out tokio after two weeks. Here's why sleep(5) was the right call.
How tmux Became the Runtime — Why tmux, not Docker or a custom TUI, is the perfect agent runtime.
The Patterns
Git Worktrees for AI Agent Isolation — Step-by-step tutorial for parallel agent work without file conflicts.
The Case for Markdown as Your Agent's Task Format — Why Markdown beats JSON for agent task management.
Context Rotation: When Agents Run Out of Memory — Detection, rotation patterns, and scoping tasks to fit context windows.
Your AI Agent Says Done — How Do You Know? — Test gating as the quality gate. Exit code 0 means done.
The Practice
5 Lessons from Running AI Agents in Parallel — Task decomposition, test gating, worktree isolation, supervision vs autonomy.
From Solo Agent to Agent Team: A Migration Guide — Progressive 6-stage path from one agent to full automation.
The Real Cost of Running 5 Agents in Parallel — Token math, cost reduction tactics. 1.5-2x not 5x.
Choosing an AI Agent Orchestrator in 2026 — Honest comparison: Batty vs vibe-kanban vs CrewAI vs AutoGen vs tmux scripts.
The tool: github.com/battysh/batty — open source, MIT licensed, built in Rust.
Top comments (0)