Skip to content

Contributor Guide

This section is for changing Kanama itself: runtime code, generated wrappers, Android support, demos, documentation, and release-facing validation.

Start with the root CONTRIBUTING.md, then read the page that matches the area you are changing:

Landing a change that removes a limitation is its own kind of change: the comments asserting that limitation are now false and nothing else will notice. Grep for them, and see "Documented Limitations" in the root CONTRIBUTING.md for the KANAMA-BLOCKED marker that makes the machine-checkable ones fail the build the day they go stale.

Use the narrowest useful check while iterating, then run the broader local gate before release-facing changes:

mkdocs build --strict
python3 scripts/check_wrapper_generator.py
./gradlew jar
./scripts/local_ci.sh /path/to/godot-4.7-stable

For release-facing changes, prefer the fresh-clone gate so the result does not depend on your active development checkout or old local build state:

./scripts/fresh_clone_smoke.sh /path/to/godot-4.7-stable