A plaintext creative workflow built on YAML files, a brief-decision loop, and a small set of inspection tools. The core idea: describe a project as data — its grammar, state model, instruments, and actions — before writing any implementation code.
Architecture
Four layers working together:
The Method — a loop that every project follows: brief, proposal, smoke, experiment, metrics, decision, archive. No work without a brief. No next step without a decision. The loop is the same regardless of domain; what changes is the content at each stage.
The Templates — structural skeletons for games (file-first: state, instruments, actions, observations), visual systems (tokens, components, render), research experiments (hypothesis, method, run, metrics), and software tools (spec, implementation, tests).
The Inspector — a Python CLI that reads YAML/Markdown project files and produces indexes, validation reports, relationship graphs (exported as Mermaid, DOT, D2, Excalidraw), and a terminal UI. It treats project YAML as a schema: modules declare what state they read and write, screens map to instruments, flows define multi-step sequences. The inspector catches structural errors — dangling references, missing fields, orphan entities — before any runtime code exists.
The Governance Layer — a registry tracking every repository’s type, migration status, visibility, and publication posture. Repos move through a lifecycle (audit, docs-only, metadata-standardized, site-integrated) one at a time, with validation at each step.
The Gate System (Games)
Six gates prevent premature engine work:
| Gate | Name | Passed when |
|---|---|---|
| A | Grammar | Game described as state + instruments + actions |
| B | Loop | One loop completable in text |
| C | Validation | Loop creates meaningful decisions |
| D | Screens | Screens correspond to instruments |
| E | Flows | Multi-step sequences defined |
| F | Engine | Engine reproduces the approved loop |
No runtime, UI, or visual work before Gate F.
Design Principles
- Plain files first — Markdown, YAML, shell. No databases, no web apps, no frameworks.
- Small tools over big systems — 20-line scripts over frameworks. Manual review over automated enforcement.
- Concepts before engines — Define the grammar before choosing the technology.
- Evidence before acceptance — A phase is complete when files exist and a decision references them.
- Visual languages as plugins — Optional constraint systems (grid drawing, pixel, terminal) that shape output by limiting choices.
- One legal next move — The project state file always shows the single next authorized action.
- Archive instead of erase — Failed experiments are evidence. Abandoned directions are decisions.
Influence
Heavily influenced by Hundred Rabbits — small tools, plain files, durable formats, explicit constraints. The insight: constraints are not limitations on creativity, they are the mechanism by which creativity becomes productive.
Status
In active use across multiple game, research, and software projects. The reference implementation — a radio telescope observatory game — completed nine phases from grammar through visual artifact mapping without choosing an engine.