By submitting a contribution to this project, you agree that:
- The contribution is your original work or you have the right to submit it.
- The contribution is licensed under the project's license (AGPL-3.0).
- The license grant is perpetual and irrevocable.
- The project maintainer may relicense the contribution in the future.
If your contribution is accepted, it will become part of the project.
Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in this project shall be licensed under the same license as the project without additional terms or conditions.
- Keep pull requests small and focused
- Include a clear description
- Link related issues if applicable
- Avoid unrelated refactoring
- Ensure the project builds before submitting
- Follow existing code style
- Use descriptive variable names
- Avoid unnecessary dependencies
- Keep functions small and readable
Please include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment (OS, version)
Please open an issue before implementing large features so we can discuss design and scope.
Please do not open public issues for security vulnerabilities. Instead contact the maintainer privately.
The project maintainer has final authority on:
- accepting or rejecting contributions
- project direction
- coding standards
Contributions generated or assisted by generative AI tools are allowed.
However, contributors are responsible for the submitted code and must ensure that:
- AI-generated code is reviewed and understood before submission.
- The code is tested and verified to work correctly.
- The code follows the project's coding standards and architecture.
- The code does not introduce licensing issues or copied proprietary code.
When using generative AI tools, contributors should prefer state-of-the-art models and use them responsibly.
Submitting AI-generated code without proper review, testing, or understanding is discouraged and may result in the pull request being rejected.
The maintainer reserves the right to request revisions or reject contributions that appear to be unreviewed or low-quality AI output.