๐ ๏ธ Contributing Guidelines
We welcome contributions to OpenHAIV ๐ค
๐ If you're interested in improving the project, please follow these guidelines
๐งน Code Style
This project uses pre-commit to automatically enforce code style and quality before each commit. Please install pre-commit and run:
pip install pre-commit
pre-commit install
The main checks include:
- flake8: PEP8 code style checking
- yapf: automatic Python code formatting
- codespell: spell checking
- docformatter: automatic docstring formatting
- trailing-whitespace, end-of-file-fixer, mixed-line-ending and other basic formatting fixes
See the .pre-commit-config.yaml
file for detailed configuration. All these checks and fixes will be run automatically before every commit.
๐ Code of Conduct
Please note that all contributors are expected to follow our Code of Conduct to foster a welcoming and inclusive community.
๐ Reporting Issues
- Check existing issues first to avoid duplicates
- Use the issue template when available
- Be specific about the problem:
- Include steps to reproduce
- Provide environment details (OS, Python version, dependencies)
- Add screenshots if applicable
- Describe expected vs. actual behavior
๐ก Submitting Pull Requests
- Create an issue first to discuss major changes
- Fork the repository and create a branch from
main
- Follow the coding style used throughout the project:
- Adhere to PEP 8 guidelines
- Use meaningful variable/function names
- Add docstrings for new functions/classes
- Write tests for new features
- Ensure all tests pass before submitting
- Update documentation reflecting your changes
- Make atomic commits with clear messages