Contributing¶
Read plans.md and the affected technical contract in docs/.
Use an issue for a concrete bug or delivery; include the problem, desired
behavior and relevant logs. Keep ROMs, keys, commercial assets/code/saves/traces
and credentials out of source, issues and public artifacts. Use original fixtures.
Vulnerability reports follow SECURITY.md.
Build and validate¶
Host checks need Python 3.12+, GNU Make 4.2+ and a C compiler:
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -e '.[packaging,decryption]'
make check
For native RPX/WUHB builds, install the verified SDK (first setup needs Docker), or use an existing official devkitPro installation:
export CTR2WUP_SDK_ROOT="$PWD/../ctr2wup-sdk"
bash tools/install-wiiu-sdk.sh
export DEVKITPRO="$CTR2WUP_SDK_ROOT"
export DEVKITPPC="$DEVKITPRO/devkitPPC"
make prototype
Follow the Wii U application protocol for native apps.
See Windows builds for native Windows setup.
Run tests relevant to the change. Runtime changes need make check, including
ASan/UBSan; native code/build changes also need make prototype. For docs, run
python tools/build-docs-site.py with docs-requirements.txt installed.
Keep dependency signatures, checksums, TLS verification and sanitizers enabled.
Pull requests¶
Use a focused branch. Explain the problem, resulting behavior and actual checks; link an existing issue when useful. Update only affected contracts, usage or plans.md. Merge after required hosted checks pass and delete the completed topic branch.
Desktop tests, cross-builds and physical Wii U results prove different things. Record hardware validation in the relevant issue, including source identity, environment, observations and diagnostic logs. Packages include deployment instructions and a result folder suitable for FTP transfer.
Guest ARM memory is little-endian; Wii U PowerPC is big-endian. Use checked access, keep unsupported states explicit and preserve dependency licenses/notices.
For Codex-generated changes, install the repository attribution hook with
python3 tools/codex-attribution.py install, commit using git codex-commit,
and include Generated with [Codex](https://openai.com/codex/). in the PR body.
Maintained source: CONTRIBUTING.md ยท 3849a94bd97b.
GitHub source and issue links may require repository access.