Gas City is a toolkit for assembling orchestration systems that run multi-agent coding workflows. It takes the reusable infrastructure developed for Gas Town — runtime providers, work routing, formulas, orders, and health patrol — and exposes it as configurable primitives driven by a declarative city.toml.
A city is described in configuration and reconciled by a controller and supervisor loop that brings running state in line with desired state. Agent sessions run through pluggable runtime providers — tmux, subprocess, exec, ACP, Kubernetes, and herdr — with tmux as both the default backend and the fallback. Work tracking, mail, convoys, and waits are backed by beads, which defaults to a Dolt-backed provider and can fall back to a file-based store when Dolt and its helpers are not installed.
Packs, overrides, and rig-scoped orchestration cover multi-project setups: gc init creates a city, gc start brings it up, and gc rig add registers a repository as a rig within it. The gc command checks the required host tools at init and start time and reports any that are missing.
Features
- Declarative cities: a city.toml schema with validation, composition, packs, patches, and override resolution
- Runtime providers: tmux, subprocess, exec, ACP, Kubernetes, hybrid, and herdr session backends, selectable per agent, per rig, or city-wide
- Work tracking: beads-backed work items, formulas, molecules, waits, and mail, with a Dolt-backed or file-based store
- Controller loop: a controller and supervisor that reconcile desired state to running state
- Orders: order parsing and scanning for periodic dispatch of recurring work
- Convergence: bounded iterative refinement loops with gate handling
- Multi-project scope: packs, overrides, and rig-scoped orchestration across several repositories in one city
- HTTP API: handlers and resource views for inspecting a running city
