Thanks for your interest in contributing to Moonlight.
- Prefer correctness over cleverness.
- Keep dependencies minimal and justified.
- Every change should include tests where applicable.
- Performance and memory behavior matter.
- Create a focused branch.
- Keep commits small and scoped.
- Format and test before submitting.
make fmt
make test
make clippy
- Place manifests under
registry/<category>/<path>/module.json. - Use real protocol stacks; avoid protocol stubs.
- Add unit tests and at least one end‑to‑end test per module.
- Follow the protocol SDK layers (transport, framing, codec, state, client/server APIs).
- Add negative and fuzz tests where appropriate.
By contributing, you agree that your contributions are licensed under GPLv3.