Vision
Status: Draft
Problem
Section titled “Problem”Working with Godot across several projects and machines means juggling things by hand:
- Several engine versions installed in ad-hoc folders, launched with hard-coded paths.
- No record in the project of which build it needs (only
config/featuresinproject.godot, which holds major.minor and the C# flag, never the patch). - Addons installed by copying folders, with no lock and no update path.
- Test runners that differ per addon and need glue to run in CI.
- Install, list, remove and select official Godot builds, per user, per project or per command.
- Make “which Godot does this project use?” a property of the project, resolved automatically.
- Install addons from multiple sources reproducibly, with a lockfile.
- Run tests headless with predictable exit codes and machine-readable reports.
- Single static binary, no runtime to install, same behavior on Windows, Linux and macOS.
- Scriptable first: every command works without prompts, supports
--jsonwhere it prints data, and uses stable exit codes. A GUI or an editor plugin can sit on top of the same library later.
Non-goals (for now)
Section titled “Non-goals (for now)”- Building Godot from source or managing custom engine builds beyond “use this executable”.
- Export templates, beyond a possible later
gdt templatescommand. - Replacing the editor, the Asset Library website, or a package registry.
gdtconsumes existing sources; it does not host anything. - Dependency resolution between addons (addons are flat and pinned).
Principles
Section titled “Principles”- Official sources only by default. Engine builds come from the official GitHub releases, verified with the published checksums.
- Project-local truth. Anything that affects reproducibility lives in files committed with the project (
gdt.toml,gdt.lock). - No surprises. Never modify a project or install anything outside the
gdtdirectories without a command that says so. - Library first. All logic lives in a library crate; the CLI is a thin layer.
Personas
Section titled “Personas”- Solo developer with several projects on different Godot versions who wants
gdt openandgodotto just do the right thing. - Tooling and CI author who needs
gdt install && gdt testto work on a clean runner. - Addon user who wants
gdt add/gdt installinstead of copying folders. - Contributor to Godot projects who wants to run the same engine version as the maintainers.
Naming and trademark
Section titled “Naming and trademark”The project is “Godot Development Tools”: the word Godot plus words that describe its purpose, as the Godot Foundation’s trademark policy asks. It does not use the Godot logo and states that it is not affiliated. See the README.
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.