gastownhall/gascity
Orchestration-builder SDK for multi-agent coding workflows
Genblaze — open-source SDK for generative multimedia pipelines
Orchestrate AI video, audio & image providers in Python with provenance built into every output.
Loading star history...
Health Score
64
Weekly Growth
+127
+22.1% this week
Contributors
52
Total contributors
Open Issues
389
Use Cases & Benefits
About gascity
Gas City
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.
Coming from Gas Town?
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.
What You Get
- 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
Quickstart
See the full install guide at docs/getting-started/installation.md.
Prerequisites
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.86.1 | brew install dolt | releases |
| bd | Beads provider bd | 1.0.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 install gastownhall/gascity/gascity
gc version
Or build from source (requires make and Go 1.25+):
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 mayor
For the longer walkthrough, start with Tutorial 01.
Documentation
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:
make docs-dev
# or directly from the repo root
./mint.sh dev
Repository Map
cmd/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
Contributing
Read CONTRIBUTING.md and engdocs/contributors/index.md before opening a PR.
Useful commands:
make setupmake checkmake check-docsmake test-integration
License
MIT
Discover Repositories
Search across tracked repositories by name or description