ADR 0007: Commands grouped by area, with shortcuts for the engine
Status: Accepted (2026-10-30)
Context
Section titled “Context”A flat command set makes install and add ambiguous: they could mean a Godot version or an addon. Typing gdt add 4.0 should not silently look like installing a version.
Decision
Section titled “Decision”- Group commands by area:
enginefor builds,addonfor addons, plusauth,shim,configandcache. Project actions (run,open,test,sync,inspect,init) stay at the top level. - The most used engine commands (
install,uninstall,list/ls,current,use,pin,which) are also shortcuts at the top level, because managing Godot versions is the purpose of the tool (gdt use 4.7.2, likefnm use). - Addon commands are never shortcuts. A top-level word that belongs to another group fails with a hint (“did you mean
gdt addon add?”). installwith no arguments installs what the project declares (the engine at top level, the lockfile underaddon); with arguments it installs that.gdt syncdoes both for a fresh clone.- Running
gdtwith no arguments prints help and exits 0, like other managers (fnm,rustup,cargo,gh). It does not launch the editor. - No Godot build is bundled with the installer. The first
gdt installmakes its build the global default when there is none. -monois a suffix of the version spec (4.7.2-mono);--monois accepted as the same thing.
Consequences
Section titled “Consequences”- Clear errors and a predictable vocabulary; the price is a slightly longer command for addons.
- Two spellings for engine commands (
gdt installandgdt engine install) must be kept equivalent and documented once.
Independent community project. Not affiliated with, endorsed by or sponsored by the Godot Foundation or the Godot Engine project. “Godot” is a trademark of the Godot Foundation; this site does not use the Godot logo.