7c7b8b551d71ef3b2bf82ef20e0285c3963d6fed
Code review fixes: 1. CRITICAL: Move polecat check to start of runSling - Previously wrote wisp THEN failed, leaving orphan - Now fails fast before any file operations 2. CRITICAL: Sanitize slashes in agent IDs for filenames - Agent IDs like 'gastown/crew/joe' were creating subdirs - Now converts '/' to '--' for safe filenames - Added sanitizeAgentID/unsanitizeAgentID helpers 3. MODERATE: Use git root instead of WorkDir in prime.go - Hooks are written to clone root, not cwd - Added getGitRoot() helper for consistency 4. MODERATE: Fix silent error swallowing - Now logs non-ErrNoHook errors when reading hooks - Warns if bead doesn't exist before burning hook - Preserves hook if bead is missing for debugging
Gas Town
The IDE of 2026 - not Integrated Development Environment, but Integrated Delegation Engine.
Gas Town turns Claude Code (the Steam Engine) into a Steam Train, with Beads as the globally distributed railway network. Workers spawn, work molecules, submit to merge queues, and get cleaned up - all autonomously.
The Vision
Claude = Fire (the energy source)
Claude Code = Steam Engine (harnesses the fire)
Gas Town = Steam Train (coordinates engines on tracks)
Beads = Railroad Tracks (the persistent ledger of work)
Core principle: Gas Town is a Village.
Not a rigid hierarchy with centralized monitoring, but an anti-fragile village where every agent understands the whole system and can help any neighbor. If you see something stuck, you can help. The village heals itself through distributed awareness.
Install
go install github.com/steveyegge/gastown/cmd/gt@latest
Quick Start
# Create a town (workspace)
gt install ~/gt
# Add a project rig
gt rig add myproject --remote=https://github.com/you/myproject.git
# Spawn a worker on an issue
gt spawn --issue myproject-123
Architecture
Town (~/gt/)
├── Mayor (global coordinator)
└── Rig: myproject
├── Witness (lifecycle manager)
├── Refinery (merge queue)
└── Polecats (workers)
Key Concepts
- Molecular Chemistry of Work: Protos (templates) → Mols (flowing work) → Wisps (ephemeral) → Digests (outcomes)
- Beads as Universal Data Plane: Git-backed, human-readable, fractal ledger (github.com/steveyegge/beads)
- Antifragility: Self-monitoring village, not centralized hierarchy
- Propulsion Principle: Agents pull work from molecules, don't wait for commands
- Nondeterministic Idempotence: Any worker can continue any molecule after crashes
Commands
gt status # Town status
gt rig list # List rigs
gt spawn --issue <id> # Start worker
gt mail inbox # Check messages
gt peek <worker> # Check worker health
gt nudge <worker> # Wake stuck worker
Documentation
- Vision - Core innovations and philosophy
- Architecture - System design
- Molecular Chemistry - Work composition
- Molecules - Workflow templates
Development
go build -o gt ./cmd/gt
go test ./...
License
MIT
Languages
Go
98.2%
HTML
1.1%
Shell
0.4%
JavaScript
0.2%