Gas City is an orchestration-builder SDK for multi-agent systems. It extracts the reusable infrastructure from Gas Town into a configurable toolkit with runtime providers, work routing, formulas, orders, health patrol, and a declarative city configuration.
Start with Coming from Gas Town?. It maps Town roles, commands, plugins, convoys, and directory habits onto Gas City's primitive-first model so experienced Gas Town users can ramp without trying to port the entire Town architecture literally.
- Declarative city configuration in
city.toml - Multiple runtime providers: tmux, subprocess, exec, ACP, and Kubernetes
- Beads-backed work tracking, formulas, molecules, waits, and mail
- A controller/supervisor loop that reconciles desired state to running state
- Packs, overrides, and rig-scoped orchestration for multi-project setups
See the full install guide at docs/getting-started/installation.md.
Gas City requires the following tools on your system. gc init and
gc start check for these automatically and report any that are missing.
| Dependency | Required | Min Version | Install (macOS) | Install (Linux) |
|---|---|---|---|---|
| tmux | Always | — | brew install tmux |
apt install tmux |
| git | Always | — | brew install git |
apt install git |
| jq | Always | — | brew install jq |
apt install jq |
| pgrep | Always | — | (included in macOS) | apt install procps |
| lsof | Always | — | (included in macOS) | apt install lsof |
| dolt | Beads provider bd |
1.80.0 | brew install dolt |
releases |
| bd | Beads provider bd |
0.61.0 | releases | releases |
| flock | Beads provider bd |
— | brew install flock |
apt install util-linux |
| claude / codex / gemini | Per provider | — | See provider docs | See provider docs |
The bd (beads) provider is the default. To use a file-based store instead
(no dolt/bd/flock needed), set GC_BEADS=file or add [beads] provider = "file"
to your city.toml.
Install from Homebrew:
brew tap gastownhall/gascity
brew install gascity
gc versionOr build from source:
make install
gc init ~/bright-lights
cd ~/bright-lights
gc start
mkdir hello-world
cd hello-world
git init
gc rig add .
bd create "Create a script that prints hello world"
gc session attach mayorFor the longer walkthrough, start with Tutorial 01.
The docs now use a Mintlify structure rooted in docs/.
- Docs Home
- Installation
- Quickstart
- Repository Map
- Contributors
- Reference
- Architecture
- Design Docs
- Archive
Preview the docs locally:
cd docs
npx --yes mint@latest devcmd/gc/: CLI commands, controller wiring, and supervisor integrationinternal/runtime/: runtime provider abstraction and implementationsinternal/config/:city.tomlschema, pack composition, and validationinternal/beads/: store abstraction and provider implementationsinternal/session/: session bead metadata and wait helpersinternal/orders/: periodic formula and exec dispatchinternal/convergence/: bounded iterative refinement loopsexamples/: sample cities, packs, formulas, and configscontrib/: helper scripts and deployment assetstest/: integration and support test packages
Read CONTRIBUTING.md and docs/contributors/README.md before opening a PR.
Useful commands:
make setupmake checkmake check-docsmake test-integration
MIT