Repository navigation
Maintaining
make help lists every target; never hand-roll an incantation. make check is the static gate,
make pyunit the inner loop (the suite minus the spawns, seconds), make test the whole suite on
the floor interpreter, make verify the full gate and what CI runs (check + matrix, every
claimed interpreter). Verify against source — PYTHONPATH=src python3 -m godot_devkit.cli … —
never through uvx --from <path>, which caches a wheel by version.
Nothing here reads a path outside its own checkout or names a project that consumes it. Realistic
data is vendored: tests/fixtures/ holds purpose-built repos, a committed clean Godot project the
gates run over, and a scrubbed real-world scene corpus every write verb round-trips byte for byte.
check props compares against a snapshot of Godot's ClassDB in src/godot_devkit/data/classdb.json;
reading it boots nothing. The same file carries the engine's method and signal names, which
refs --rename refuses. Regenerate when the engine minor moves:
godot --headless --dump-extension-api # writes ./extension_api.json
python3 tools/gen_classdb.py extension_api.json
python3 tools/gen_classdb.py --names-only extension_api.json # refresh only the names- Bump
versioninpyproject.tomland__version__insrc/godot_devkit/__init__.pytogether onmain.uv.lockagrees.tests/test_version_sites.pychecks the 3 sites. -
auto-tag.ymltags it.release.ymlbuilds the wheel and sdist once, attaches them to the GitHub Release and publishes the index. Never tag by hand. - Release notes come from the version-bump PR. Put a
## Release notessection in its body: one sentence, the semver class (patch, minor or major), and anUpgrade:line that says what a consumer must edit.release.ymlfinds the PR for the tagged commit, uses that section as the Release body and puts anInstall:line first. With no such section, or no PR, it falls back to the generated list of merged PR titles. - There is no
CHANGELOG.md. Releases are the record.
A published wheel is never replaced: see Troubleshooting.
Getting started
Reference
Guides
Upgrading
Maintaining