# Contributing to the project

Thank you for your interest in contributing to this project. This document outlines the process for contributing and the licensing requirements.

## Contributor License Agreement

By submitting a pull request or otherwise contributing code to this project, you agree to the following terms:

1. You grant the project maintainer a perpetual, worldwide, irrevocable, non-exclusive,
   transferable, and sub-licensable license to use, reproduce, modify, distribute,
   publicly perform/display, and relicense your contributions (including under different terms),
   including in dual- and commercial-licensing arrangements.
2. 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.
3. 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.
4. By submitting a pull request or otherwise contributing, you indicate acceptance of these terms.

## How to Contribute

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Write clear, well-documented code.
4. Add tests for your changes when appropriate.
5. Submit a pull request.

## Coding Standards

1. Follow the existing code style in the project.
2. Write meaningful commit messages.
3. Document all public API functions.
4. Add comments for complex or non-obvious code sections.
5. Ensure all code is spell-checked.

## Reporting Issues

When reporting issues, please include:

1. A clear description of the problem
2. Steps to reproduce
3. Expected vs actual behavior
4. Version information
5. Any relevant logs or error messages

Thank you for your contributions.
