Thanks for contributing to Rothalyx.
This is a systems-heavy codebase. The best changes are focused, tested, and easy to review.
- Read README.md for the current build, run, and packaging flow.
- Check docs if you are changing the architecture-facing behavior, AI integration, fuzzing, or the SDK.
- Open an issue first if the change is large, architectural, or likely to alter public behavior.
Build:
cmake --preset dev
cmake --build --preset devRun tests:
ctest --test-dir build/dev --output-on-failureIf you are touching parser or hostile-input code, also run the sanitizer path described in docs/fuzzing.md.
- one clear change per pull request
- tests added or updated when behavior changes
- docs updated when the user-facing workflow changes
- no unrelated cleanup mixed into the same PR
- no generated artifacts committed
- prefer simple, explicit code over clever shortcuts
- match the existing style in the area you are editing
- keep interfaces stable unless the change really justifies a break
- explain new dependencies instead of assuming they are acceptable
Before opening a PR:
- build the project
- run the relevant tests
- explain the change clearly
- call out platform-specific risk when it exists
- keep follow-up work out of the same PR unless it is required for correctness
By contributing to this repository, you agree that your contributions will be licensed under the GNU Affero General Public License v3.0 or later.