G GDD Playbook
Gate-Driven Development (GDD)

Build with AI.
Stay in control.

Start with a simple prompt describing the problem you want to solve. GDD guides the AI through five phase loops while you stay in control of every gate.

Get the playbook Read the concept article

Plain Markdown playbook · Tested with Claude Code and Codex

The simple loop
You

Start with the problem

Describe what you want to build in a simple prompt.

AI

Clarifies and does the work

Asks questions, drafts, prototypes, builds, and tests.

You

Inspect and decide

Approve the evidence or send the work back.

Why I made GDD

A working playbook, built from practice.

The GDD Playbook grew out of months of using AI to build new applications and improve existing ones. Along the way I hit the recurring problems: lost context, scope drift, untested fixes, unclear handoffs. I turned what I learned into a process with practical rules and human sign-off gates, and organized it into this playbook to share with other app builders. It remains a working playbook that I keep improving as I build, test, and learn.

Vibe Coding

Fast iteration without explicit controls
  • Unclear requirements - vague prompts produce superficially correct solutions that miss the real need.
  • Scope drift - iterative prompting adds features and changes behavior without preserving agreed boundaries.
  • Lost context - the AI forgets earlier decisions, constraints, and architecture as the project grows.
  • Invented logic - code may run while silently producing wrong results.
  • Weak tests - generated tests may omit edge cases or confirm the AI's own wrong assumptions.

Gate-Driven Development

Fast iteration with clear human checkpoints
  • Clear requirements - define the problem, users, constraints, and non-goals before building.
  • Controlled scope - gates lock decisions and require explicit approval before boundaries change.
  • Durable context - specs, decisions, status, and the next step live in project files, not chat memory.
  • Verified behavior - acceptance criteria and evidence prove the result matches the intent.
  • Real testing - edge cases and real flows, and a failing test can never be weakened to pass.
01 / Process

A guided path from idea to production.

Each phase is its own loop - you and the AI iterate until the work is proven. The gate is the human checkpoint: work moves forward only when the named outcome has evidence.

01 gdd_spec.md

Spec Loop - frame the problem

Tell the AI what you want to build via a few rounds of conversation. The AI drafts a short spec (a written plan): what the app is for, who will use it, and what stays out of scope. One or two pages, no design yet.

✓ Gate 1 · Spec locked
02 gdd_prototype.md

Prototype Loop - prove the flow

Based on the spec, the AI selects the tech stack, scaffolds the project in a fresh GitHub repository, then builds the app's first interface on sample data - usually clickable screens, but it can be chat, voice, or even another AI agent. You try every flow and ask for changes until it feels right. Changes cost minutes, because nothing real is built behind the interface yet. Testing here is by use: the sample data deliberately includes the ugly cases (empty lists, long names, errors), a review page lists every screen in every state so nothing goes unseen, and the AI runs a full UX review before the gate.

✓ Gate 2 · Prototype locked
03 gdd_design.md

Design Loop - design everything behind the screens

The AI turns every behavior into pass/fail acceptance criteria, then designs everything behind the screens: the headless Core API that every interface - human or machine - calls, the UI API, the data model, failure handling, and security. Tech stack and hosting are locked here too. Testing here is on paper but strict: every criterion must be concretely testable (input in, expected result out), and the locked criteria become phase 4's test list - testing is designed before any code exists.

✓ Gate 3 · Design locked
04 gdd_build.md

Build Loop - build with proof

The AI replaces the mock with the real backend, built to the frozen contract - one small step at a time, each landing with its own passing test, covering both the headless Core API and the UX. Every acceptance criterion from the design becomes an automated test, and a failing test can never be deleted or weakened. Your part is light: answer the occasional question, then read the coverage report - every spec item marked done with proof, or openly deferred.

✓ Gate 4 · Build complete
05 gdd_deploy.md

Deploy Loop - verify and ship

The AI walks the same checks up the ladder: smoke-test the golden path on the local build first, then on staging, then on production - the same scripted checks at every step, output shown. Deploys are automated and follow a documented order (database changes, code, caches, rebuilds), and the rollback command is known before anything moves. You give the go; the AI ships, re-verifies the live path, and shows the evidence.

✓ Gate 5 · Ship
gdd_change.md

Change Loop - after ship

Every change re-enters at the right phase: new feature → spec; screen tweak → prototype; behavior change → design; bug → build with a regression test. Ship is a gate, not an ending.

Testing is not phase six - evidence is created throughout the prototype, design, build, and deploy loops.

02 / Playbook

Eight files. One controlled workflow.

One file is for you. The rules file governs every AI session. Each of the five phases - and the change loop after ship - has exactly one file, so only the active phase's rules spend the AI's context.

README.mdYou · read first

The human-facing overview: how to install the playbook once, connect projects to it, and work with the AI without reading generated code.

gdd_rules.mdAI · every session

The always-on control layer: STATUS protocol, explicit GO, visible evidence, decision and mistake logs, usage tracking, all five gates, and the universal gate-exit checklist.

gdd_spec.mdAI · phase 1

Inside: the question-at-a-time spec loop, what a locked spec must contain, and the Gate 1 checklist.

gdd_prototype.mdAI · phase 2

Inside: contract-before-mock, ugly sample data, the use-case index, a two-lens UX review, 22 UX rules, and API design rules. The app's contract is born here.

gdd_design.mdAI · phase 3

Inside: design pressure-tests, architecture, security and failure rules, data modeling, stack selection criteria, contract freeze, and the design-lock checklist.

gdd_build.mdAI · phase 4

Inside: scope and code-quality rules, test execution (every step lands with its test; a failing test is never weakened), commit discipline, and the Gate 4 checklist.

gdd_deploy.mdAI · phase 5 + every deploy

Inside: local smoke tests, the documented deploy order, rebuild and count verification, rollback known before anything ships, and secrets hygiene.

gdd_change.mdAI · after ship

Inside: routing each change to the right phase door, bugfix and hotfix protocols, adopting existing apps, and next-version batching.

03 / How to set up

Set up GDD in your project.

Download the playbook once, keep it in one central folder, and connect each project with the instruction file for your coding agent.

The complete playbook

One ZIP with everything: the eight Markdown files, the lessons inbox (the playbook improves from use), and the two project instruction templates - CLAUDE.md for Claude Code, AGENTS.md for Codex. Unzip into one central playbook folder.

Download ZIP ↓

Setup checklist

  1. Create one central playbook folder. Unzip the files there. Projects reference this folder, so copies do not drift.
  2. Read README.md. Follow its one-time setup and choose the template for your coding agent.
  3. Connect your project. Add CLAUDE.md or AGENTS.md at the project root and replace the playbook-folder placeholder with your real path.
  4. Describe the problem. Start with the outcome you want; let the AI clarify the spec one decision at a time.

Sample starting prompt

"I want to build a simple room-booking app for twenty staff and four rooms. Help me turn the problem into a high-level spec. Ask one question at a time, and do not proceed past the spec gate until I approve it."

Adapt the user, scale, problem, and desired outcome to your project.