Why do I need Gas City when I already have a coding agent?
A coding agent gives you one session: a faster pair of hands, steered live,
and gone when it crashes. Gas City turns a fleet of them into a software
factory. You write down how a job gets done once — a
formula — and an orchestrator runs it across
many agents outside your session: it decomposes the job, runs the
independent pieces in parallel, reviews and gap-checks the result, and retries
what fails until the work is done. You describe a feature once and come back
to a finished branch. How Gas City Works
is the full mental model.
Couldn’t I get the same thing from a bash loop or CI?
A loop can respawn an agent, but it has no model of the work: every iteration
starts blind, and a crash loses whatever the last iteration knew. The
orchestrator runs a formula as a graph — it holds each step until its
dependencies close, fans the ready steps out to many agents at once, retries
failures, and keeps every unit of work in a durable store, so progress
survives any crash on either side. CI is complementary rather than
competitive: CI verifies a change after you make it; a formula is what
produces the change. See
Understanding Formulas for what the
orchestrator does that a script cannot.
How does Gas City relate to Gas Town?
Gas City is the platform Gas Town’s machinery was extracted into. The
platform hardcodes zero roles — every role Gas Town wired into code (mayor,
crew, and the rest) is now configuration expressed as a
pack, so the same engine runs Gas Town, Ralph,
or whatever you configure. If you know Gas Town, Coming from Gas
Town maps its roles, commands, and
layout onto Gas City one table at a time.
Which coding agents does it work with?
Sixteen built-in harnesses, including Claude Code, Codex CLI, Gemini CLI,
Cursor Agent, GitHub Copilot, Sourcegraph AMP, OpenCode, Grok, Kimi Code, and
Pi — Harness Recipes has the copy-paste setup for
each. Agents run under the logins or API keys you already have, and each
agent picks its own harness, so a mixed fleet is just configuration.
Do I have to write Go, or any code at all?
No. Everything user-facing is configuration: TOML files
(city.toml, pack.toml) declare your agents, formulas, and orders, and
markdown prompt templates define what each role does. A “reviewer” or
“planner” is a prompt you wrote, not a plugin you compiled. Start with
Configuring an Agent.
Do I need tmux? What else does it depend on?
Yes — agent sessions run in tmux. The full runtime set is tmux, jq, git,
dolt, bd (the beads CLI), and flock; brew install gascity installs all of
them for you. For the lightest possible start, GC_BEADS=file skips the
dolt + bd pair. Installation has the exact
versions and the non-Homebrew paths.
What happens when an agent crashes mid-job?
Nothing is lost. Every unit of work is a bead in a durable store that
outlives any session: if an agent dies, its beads stay open and a fresh agent
picks up the same work; if the orchestrator restarts, it adopts the live
sessions it finds and resumes from the store. Sessions are disposable — the
work they did is not. The Bead
section of How Gas City Works
explains why the system converges.
Can I use it with my existing repos?
Yes. Register any project as a rig with gc rig add <path> — its
directory can live anywhere on disk, and each rig gets its own bead namespace
and agent scope, so work in one project stays isolated from the others.
Tutorial 01 walks through it.
Is it open source? What does it cost?
Gas City is MIT-licensed and free —
github.com/gastownhall/gascity. The
only spend is the model usage of the agents you run, billed through the
harness credentials you already use.
Where do I start?
Installation, then the
Quickstart — it boots your first city in a few
minutes. When you want the guided path, the Tutorials
build a complete city up, command by command.Last modified on July 11, 2026