Thank you for your interest in contributing to this project! This document outlines the process for contributing and our licensing requirements.
By submitting a pull request or otherwise contributing code to this project, you agree to the following terms:
- You grant the project maintainer a perpetual, worldwide, irrevocable, non-exclusive, transferable, and sublicensable license to use, reproduce, modify, distribute, publicly perform/display, and relicense your contributions (including under different terms), including in dual- and commercial-licensing arrangements.
- You represent and warrant you have all necessary rights to grant the above license and that, to the best of your knowledge, your contributions do not knowingly infringe third-party rights.
- Patent license: To the extent your contributions or their combination with the project necessarily infringe your patent claims, you grant the project maintainer and downstream recipients a perpetual, worldwide, irrevocable, non-exclusive, royalty-free patent license to make, use, sell, offer to sell, import, and otherwise practice the contributions.
- By submitting a pull request or otherwise contributing, you indicate acceptance of these terms.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Write clear, well-documented code.
- Add tests for your changes when appropriate.
- Submit a pull request.
- Follow the existing code style in the project.
- Write meaningful commit messages.
- Document all public API functions.
- Add comments for complex or non-obvious code sections.
- Enable the pre-commit formatting hook (recommended):
cp .github/pre-commit-hook.sh .git/hooks/pre-commit
chmod +x .git/hooks/pre-commitWhen reporting issues, please include:
- A clear description of the problem
- Steps to reproduce
- Expected vs. actual behavior
- Version information
- Any relevant logs or error messages
Thank you for your contributions!