Gas Town

Welcome to Gas Town — polecats handling glowing beads at a Victorian/steampunk refinery
Welcome to Gas Town · Jan 2026

Open-source toolkit for orchestrating coding agents at scale. Gas Town is the workspace I built — coding agents working inside a structured environment with version-controlled memory and a clear sense of what they're allowed to do. Beads (below) is the substrate underneath it; Gas Town is also the agent-orchestration layer underneath the HOP protocol.

Fifteen thousand GitHub stars and a growing community of operators. Built in the open.

2025–present · Gas Town page · github.com/steveyegge/gastown

Beads

Introducing Beads — laptop running Beads on the road
Beads · 2025–present

A version-controlled memory ledger for coding agents. The TODO system that AI agents actually want to use, as I put it when I introduced it — durable, queryable, append-only state that a long-running agent can rely on across sessions. Beads sits underneath Gas Town and is also useful on its own.

I started Beads in October 2025 and it crossed twenty-three thousand stars in its first months. It is currently the single most active piece of code I'm shipping. Beads is also the atomic-work data structure for the HOP protocol.

2025–present · 23k ★ · Gas Town page · github.com/steveyegge/beads

Wyvern

Wyvern — a graphical MUD, the site mark perched on a tiled dungeon world
Wyvern · 1995–present

A graphical MUD that I started in 1995 and have been working on, on and off, ever since. Released publicly in 2001 through Cabochon Inc., the company I founded to publish it. On the cover of Game Informer a year later. Still online today.

Wyvern has been a side project, a full-time project, and a sleepy project across three decades. I plan a return by 2028 or so.

1995–present · Wyvern page · ghosttrack.com

Grok

Grok logo — a typed graph of code symbols overlaid on syntax-highlighted source, with the universal Kythe-style node graph at right
Grok logo · 2008

Grok was the cross-language code knowledge graph I started at Google in 2008: a system that ran a nightly index over the entire Google monorepo, extracted symbols from every language into a universal schema, and exposed the result as a typed, queryable graph of definitions, uses, references, and call edges. It powered code search, IDE intelligence, and refactoring across the company.

In v3 it was renamed Kythe. The open-source release lives at kythe.io, and the internal Google version is still in active use. Grok eventually scored 98% developer satisfaction on Googlegeist, Google's annual internal employee survey. The next-highest internal tool, the bug tracker, scored 85%.

Outside Google, the underlying thesis — that the right substrate for software engineering at scale is a typed, queryable graph of the whole codebase — inspired Beyang Liu and Quinn Slack to co-found Sourcegraph in 2013. I joined Sourcegraph as Head of Engineering a decade later, in 2022. Loop closed.

The 2008 design document — roughly forty pages, written by me, briefly one of the better-known internal documents at Google — is below. I also gave a public talk on Grok at Stanford EECS in October 2012; that talk is the easiest entry point if you don't want to read forty pages of internal design prose.

Read the Grok Design Document · Stanford EECS talk (2012)

2008–present (renamed Kythe in v3) · kythe.io

js2-mode

js2-mode: a new JavaScript mode for Emacs — Victorian typecase compositor's bench
js2-mode · 2008–present

I was the original author of js2-mode, the JavaScript major mode for Emacs. Eighteen years later it's still the de-facto JavaScript editor for Emacs users, and the only mode that actually parses the language rather than just colouring keywords. I wrote it on my commute and announced it in 2008. I no longer maintain it — but the community kept it alive, and it's still on GNU ELPA with my name on it.

There's a longer story there: it was passed over for Emacs core in favour of a simpler mode, and became the one everyone used anyway. The full story — the “JavaScript Mode War,” and what became of js2-mode →

Emacs Lisp · 2008

Efrit

Efrit — a coding agent living natively inside Emacs Lisp
Efrit · on GitHub

A coding agent that lives natively inside Emacs Lisp — giving the model full access to fifty years of Emacs instead of bolting an editor onto an agent. It's the one project on this page without its own landing: a cool idea I started and haven't finished, parked here on purpose so I have to look at it.

Emacs Lisp · github.com/steveyegge/efrit · Show & Tell talk

See also

Other smaller open source work lives in the code section of the bibliography. For essays about the technical work above — Gas Town, Beads, Grok — the Essentials page is the starting point.