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:
- Architecture before touching bootstrap, FFI, script lifetime, ClassDB registration, or hot reload.
- Wrapper Maintenance before changing generated wrappers, generator policy, ABI helpers, or generated KDoc.
- Hot Reload Internals before changing script reload behavior or reload smoke checks.
- Demo Porting Rules before changing demo ports or gameplay parity checks.
- Android Internals before changing Android runtime or export support.
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-beta4
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-beta4