Contributing¶
Thanks for contributing to Doxa.
Before You Start¶
- Read CONFIG_YAML_REFERENCE.md before proposing new scenario fields.
- Keep changes focused. Avoid bundling unrelated refactors into the same pull request.
- If you add new YAML configuration properties, document them in
CONFIG_YAML_REFERENCE.md.
Reporting Bugs¶
When opening a bug report, include:
- A short summary of the problem
- Steps to reproduce
- Expected behavior
- Actual behavior
- Relevant YAML scenario
- Python version, Node version, and OS
- Logs or stack traces if available
Proposing Features¶
For feature requests, describe:
- The use case
- Why the current behavior is insufficient
- The proposed API or YAML shape
- Alternatives you considered
Development Setup¶
Backend¶
Frontend¶
Running Tests¶
Code Style¶
- Python: prefer clear, typed code and keep modules cohesive.
- Frontend: follow the existing React and TypeScript patterns in
client/src. - Preserve public API behavior unless the change explicitly requires it.
- Add tests for bug fixes and new behavior whenever practical.
Pull Requests¶
Before opening a PR:
- Rebase or merge from the target branch.
- Run the relevant tests locally.
- Update docs when behavior or configuration changes.
- Keep the PR description specific about the problem and the fix.
By contributing, you agree that your contributions are compatible with the repository license in LICENSE.