# Contributing to pygal First of all, thank you for considering contributing to pygal! It's people like you who make pygal such a great tool. ## 1. Code of Conduct We are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect our [Code of Conduct](CODE_OF_CONDUCT.md) in all your interactions with the project. Maintainers are volunteers or professionals who give their time to the project. Please be kind, patient, and respectful of their work and decisions. ## 2. Technical Standards To maintain high code quality and project consistency, we follow these rules: * **Issue First**: For any new feature or significant change, please open an issue first to discuss it with the maintainers. This ensures the change aligns with the project's goals and avoids wasted effort. * **Documentation Update**: If your change adds or modifies functionality, you must update the documentation in the `docs/` directory. * **Atomic Commits**: Provide clear, isolated commits. Each commit should represent a single logical change. * **Test Coverage**: Bug fixes and new features must include tests. We use `pytest` for testing. * **Linting**: We use `ruff` for code formatting and linting. Please ensure your code passes linting before submitting a PR. ## 3. Human Responsibility We value human collaboration and understanding. **Contributions that are 100% generated by AI agents without human oversight are not allowed.** As a contributor, you are responsible for the code you submit. You must be able to explain, justify, and maintain every part of your Pull Request. If we suspect a PR is a blind AI generation, it will be closed. ## 4. No Bounty Pygal is an open-source project driven by community needs and the vision of its maintainers. * **No Bounty Programs**: There are no bounty programs for pygal, neither by Kozea nor by the pygal maintainers. * **No Bounty Talk**: Offering or requesting bounties within the official project issues or Pull Requests is strictly prohibited. ## How to contribute? 1. Fork the repository. 2. Create a branch for your feature or bug fix. 3. Write tests and ensure they pass (`make check`). 4. Run the linter (`make lint`). 5. Submit a Pull Request, ensuring you have followed all the rules above. Thank you for your help!