Referencia de comandos¶
Todos los comandos de gdd, con sus opciones, tal como los imprime gdd <comando> --help.
La ayuda de gdd está en inglés, como la herramienta.
Note
Generada por scripts/make_reference.py a partir de gdd 0.1.0. No edites esta página:
cambia el texto de ayuda en el código y vuelve a ejecutar el script.
Ejecuta gdd sin argumentos en una terminal para abrir el Board. En un
proyecto, usa bin/gdd: ejecuta el gdd construido para ese proyecto.
Preparar un proyecto: init · bootstrap · adopt · agents · stacks · upgrade
Planificar y aprobar: new-change · classify · gate · sitting · note · changelog-line
Construir y publicar: launch · resume · park · prepare · merge · release
Puertas y comprobaciones: g2 · g3 · guard · snapshot · scope · selftest · ci
Ver cómo va todo: status · board · inbox · report · learn · changelog · session
Preparar un proyecto¶
gdd init¶
Sets up GDD in this folder, which becomes the project root: the harness (gdd/, bin/gdd, the CI workflow), the Brief, the agents' commands, AGENTS.md and CLAUDE.md when absent, the skeleton of each stack the folder has no project of, and the lines of each stack and .gdd/ in .gitignore; then commits what it wrote, and only that. Never overwrites a file, refuses inside a GDD project and installs nothing (gdd bootstrap does)
Usage: gdd init [OPTIONS]
Options:
--name <NAME>... The name of the project
--platform <PLATFORM> Where it runs [possible values: mobile, desktop, web, cli, other]
--stack <STACKS>... Its stacks (gdd stacks lists them)
--agents <AGENTS>... Its coding agents, the first builds; without it, those on the PATH (claude, codex, opencode)
--language <LANGUAGE> The language the agents use with the human [default: en]
--description <DESCRIPTION>... What it is, in words
--sensitive <sensitive>... What would be serious if it failed: one area each time
--accept-same-family Accept a Reviewer of the Builder's model family when every agent is of one family
-h, --help Print help
gdd bootstrap¶
The first install of each stack of gdd/project.toml, in order, which writes its lock file: stops at the first that fails, then commits the files of the stacks' supply chain the run created or changed, and nothing else. Run it once, after gdd init
gdd adopt¶
Adopts a project that already has code: runs once each G2 and G3 command that judges the whole project (not acceptance, mutation or secrets*), keeps what each failing one said in .gdd/adoption/, records them as known debt in gdd/debt.toml, which it commits alone, and proposes a Refactor per command, riskiest first. Refused once gdd/debt.toml exists
gdd agents¶
The GDD commands, and the instructions of each stack in stack of gdd/project.toml, in the folders of the coding agents (claude, codex, opencode), as their agent sheets say
Usage: gdd agents <COMMAND>
Commands:
install Writes every GDD command and the instructions of each stack of the project for each agent, and no other file. Prints the paths as JSON
check Checks that each GDD command and the instructions of each stack of the project of each agent are exactly what install writes; names every file missing or edited, and exits with 1
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
gdd agents install¶
Writes every GDD command and the instructions of each stack of the project for each agent, and no other file. Prints the paths as JSON
Usage: gdd agents install [OPTIONS]
Options:
--agent <AGENTS>... The agents; without it, the integrations of gdd/models.toml
-h, --help Print help
gdd agents check¶
Checks that each GDD command and the instructions of each stack of the project of each agent are exactly what install writes; names every file missing or edited, and exits with 1
Usage: gdd agents check [OPTIONS]
Options:
--agent <AGENTS>... The agents; without it, the integrations of gdd/models.toml
-h, --help Print help
gdd stacks¶
The stack sheets gdd comes with (python, rust, typescript): one line per sheet
Usage: gdd stacks [COMMAND]
Commands:
show One sheet: the tool for each need, the commands and the protected paths
compose What the named sheets give together, as TOML: the shape of gdd/commands.toml plus a [protected] table. Writes nothing
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
gdd stacks show¶
One sheet: the tool for each need, the commands and the protected paths
gdd stacks compose¶
What the named sheets give together, as TOML: the shape of gdd/commands.toml plus a [protected] table. Writes nothing
Usage: gdd stacks compose [NAMES]...
Arguments:
[NAMES]... The stacks; a name given twice counts once
Options:
-h, --help Print help
gdd upgrade¶
Proposes what this gdd writes of the files gdd init wrote once (gdd/generated.toml lists them) on the branch gdd-upgrade, merged three ways with what the project made of them: first what this gdd writes, then the merge, with the lines both changed marked as conflicts. Runs on the main branch with everything committed; nothing on it changes and nothing is pushed. Builders and Reviewers cannot run it
Planificar y aprobar¶
gdd new-change¶
Creates a change: its record and, when it has none, its branch change/
Usage: gdd new-change [OPTIONS] --title <TITLE> <CHANGE>
Arguments:
<CHANGE> Id of the change: lowercase letters, digits and hyphens
Options:
--title <TITLE> What the change is about, in a few words
--type <KIND> The kind of work [default: Feature] [possible values: Feature, Hotfix, Refactor, Migration, Spike, No-code]
--paths [<PATHS>...] Paths the change plans to touch; patterns are allowed
--resumable The change can be resumed after an interruption (a condition of the fast lane)
--min-color <MIN_COLOR> Declared minimum color: it raises the color, never lowers it
--option <OPTION> One variant of a Spike for this option of its question; once for each option (2 to 4)
--variants <N> That many variants of a Spike on the same brief (2 to 4)
-h, --help Print help
gdd classify¶
Color, lane and gates of a change, from its plan and what it touched, as JSON
Usage: gdd classify [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
-h, --help Print help
gdd gate¶
Records a gate decision: G0 (by the machines), the red zones (by a human), or the plan, G1, G2, G3 or G4 of a change. Approving G1 seals the scenario files of the change. Builders and Reviewers cannot record anything
Usage: gdd gate [OPTIONS] <GATE> <DECISION> [CHANGE]
Arguments:
<GATE> The gate [possible values: G0, zones, plan, G1, G2, G3, G4]
<DECISION> ok or ko; approve and reject say the same
[CHANGE] Id of the change, for the plan, G1, G2, G3 and G4
Options:
--by <BY> Who decides: human or machines [default: human]
--note <NOTE> What to read about the decision [default: ""]
-h, --help Print help
gdd sitting¶
The sitting of a change on a screen, in a terminal: the scenarios of its branch, the red zones and the plan, to approve (G1, the red zones, the plan) or to ask for changes (G1 KO). Nothing is written before the human confirms
Usage: gdd sitting <CHANGE>
Arguments:
<CHANGE> Id of the change (its record is .gdd/changes/<id>/change.json)
Options:
-h, --help Print help
gdd note¶
Leaves a note on a change for its Decision Inbox
Usage: gdd note <CHANGE> <KIND> <TEXT>...
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
<KIND> needs (a decision for the human), decided (taken without them) or parked [possible values: needs, decided, parked]
<TEXT>... What the note says; its words are joined with single spaces
Options:
-h, --help Print help
gdd changelog-line¶
Sets the line of a change in the changelog, which its merge commit carries as trailers: a section of Keep a Changelog and its words, or --none to leave the change out. Without one, the title goes under the section of its type (Feature: Added, Hotfix: Fixed, Migration: Changed), and the other types are left out. Builders and Reviewers cannot set it
Usage: gdd changelog-line [OPTIONS] <CHANGE> [SECTION] [LINE]...
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
[SECTION] The section: Added, Changed, Deprecated, Removed, Fixed or Security
[LINE]... The line, for the people who use the project; its words are joined with single spaces
Options:
--breaking The change breaks what worked before
--none Leave the change out of the changelog
-h, --help Print help
Construir y publicar¶
gdd launch¶
Runs the recipe of a change in its own git worktree, on its branch change/
Usage: gdd launch <CHANGE>
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
Options:
-h, --help Print help
gdd resume¶
Answers the G4 of a change paused at it: ok takes it to production, ko rejects it, and polish runs one more Builder round with your notes and pauses at G4 again. Builders and Reviewers cannot answer
Usage: gdd resume [OPTIONS] --g4 <G4> <CHANGE>
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
Options:
--g4 <G4> The answer to G4 [possible values: ok, ko, polish]
--note <NOTE>... What to read about the answer: the rest of the words. Polish needs it
--variant <N> The variant of a Spike with variants that OK brings to main, or that polish builds again
-h, --help Print help
gdd park¶
Parks a change: stops it with a message for the human in its Decision Inbox. Always exits with 1
Usage: gdd park <CHANGE> <REASON>...
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
<REASON>... Why; its words are joined with single spaces
Options:
-h, --help Print help
gdd prepare¶
Checks that a change may enter Build (G0, red zones, G1, plan, model families, its branch) and starts it. Prints its decision, with the model of each role, as JSON
Usage: gdd prepare [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
-h, --help Print help
gdd merge¶
Merges a change whose G3 is open into the main branch, with its record in the merge commit, then builds the artifact and deploys it to pre. Prints the deploy as JSON
Usage: gdd merge [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
-h, --help Print help
gdd release¶
A release step of gdd/commands.toml: pre (tests and demo), promote (to production, after G4) or observe (rolls the change back when production gets worse). Prints it as JSON. In [versions] mode = "auto" of gdd/rules.toml (the default), promote gives a change with a changelog line the next v
Usage: gdd release [OPTIONS] [STEP] [CHANGE]
Arguments:
[STEP] The step; without one, the next version of what is merged [possible values: pre, promote, observe]
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
--yes Release the next version, without asking
--version <X.Y.Z> The version to release instead of the next one, after the newest: x.y.z
-h, --help Print help
Puertas y comprobaciones¶
gdd g2¶
Loop Gate: the G2 commands of gdd/commands.toml, Path Guard and, in build mode, the scope. Saves the result next to the change, logs it unless an agent runs it (GDD_ROLE) and prints it as JSON
Usage: gdd g2 [OPTIONS] [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
--role <ROLE> Role Path Guard judges (builder-build also gets the scope check) [default: builder]
--strict Exit with code 1 when the gate fails
-h, --help Print help
gdd g3¶
Merge Gate: the G3 commands of gdd/commands.toml, Path Guard and the scenario count. Saves the result next to the change, logs it unless an agent runs it (GDD_ROLE) and prints it as JSON
Usage: gdd g3 [OPTIONS] [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
--role <ROLE> Role Path Guard judges (builder-build also gets the scope check) [default: builder]
--strict Exit with code 1 when the gate fails
-h, --help Print help
gdd guard¶
Path Guard: what a change touched since its build started that a role must not touch, as JSON
Usage: gdd guard [OPTIONS] [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
--role <ROLE> Role whose protected paths count (builder-build, builder-test, reviewer...) [default: builder]
--strict Exit with code 1 when Path Guard fails
--since-snapshot Count only what changed since the last `gdd snapshot`
-h, --help Print help
gdd snapshot¶
Records what a change touched as it is now, so gdd guard --since-snapshot judges only what changes after
Usage: gdd snapshot [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
-h, --help Print help
gdd scope¶
Paths a change touched outside its plan: accepted when their color is not higher than the change's, as JSON
Usage: gdd scope <CHANGE>
Arguments:
<CHANGE> Id of the change: its record is .gdd/changes/<id>/change.json
Options:
-h, --help Print help
gdd selftest¶
Harness self-test: a failing test turns a green G2 red, the harness is protected and CI runs the gates, rollback works in pre, and zero scenarios fail G3. Saved in .gdd/selftest.json and logged; exits with 1 unless all four pass
gdd ci¶
What CI runs: on the branch change/
Ver cómo va todo¶
gdd status¶
Where the project stands: G0, red zones, self-test, scenarios, changes and log
gdd board¶
The changes of the project by phase on a screen (Discover, Build, Release, Done), in a terminal. Read-only: nothing on it writes anything
gdd inbox¶
The Decision Inbox of a change: what is open for the human. Also saved in .gdd/changes/
Usage: gdd inbox [CHANGE]
Arguments:
[CHANGE] Id of the change (its record is .gdd/changes/<id>/change.json); else GDD_CHANGE
Options:
-h, --help Print help
gdd report¶
Tokens, cost and time of the agent calls in the log; with --time, where the time of each change goes: active (agents, gates, release), waiting and between steps
Usage: gdd report [OPTIONS]
Options:
--by <BY> Fields to group the calls by, separated by commas (change, phase, model, role, agent...) [default: role]
--change <CHANGE> Count only the records of this change
--json Print the groups, or the changes with --time, as a JSON list; with --dora, one object
--time Where the time of each change goes, from its first line in the log to its last, instead of the agent calls; without --change, the project adds every change up
--dora DORA's five delivery metrics and GDD's signals, from the log and the records of the changes, instead of the agent calls
--since <SINCE> With --time or --dora, only the changes created on or after this day, YYYY-MM-DD (UTC)
-h, --help Print help
gdd learn¶
Learn: runs the Learn tools of gdd/commands.toml ([learn]: warnings, never a gate), keeps what each one said in .gdd/learn/ and lists the polish notes the human gave at G4, to spot the ones that repeat, and the classes of finding that repeat in the Reviewer's reviews. Exits with 0 whatever the tools found
Usage: gdd learn [OPTIONS]
Options:
--since <SINCE> Only the notes and reviews of the changes created on or after this day, YYYY-MM-DD (UTC)
-h, --help Print help
gdd changelog¶
Shows what CHANGELOG.md lacks of the lines the commits of the main branch carry (what no v
Usage: gdd changelog [OPTIONS]
Options:
--write Add what is missing to CHANGELOG.md, without asking
--check Fail when something is missing, for CI; writes nothing
-h, --help Print help
gdd session¶
Adds the requests of the interactive Claude Code sessions of the project to the log, one line per model and each request once; the sessions gdd started for its agents are left out
Usage: gdd session [OPTIONS] --phase <PHASE>
Options:
--phase <PHASE> The phase of the method the conversation belongs to [possible values: 0-setup, 1-discover, 2-build, 3-integrate, 4-release, 5-learn]
--change <CHANGE> Count it for this change
-h, --help Print help
Ver también¶
- Configuración: los ficheros de
gdd/que leen estos comandos. - Variables de entorno: lo que gdd lee del entorno.
- Ficheros que escribe gdd: los registros, el log y la bandeja de
.gdd/.