Contributing to AiHint¶
Thank you for your interest in contributing to AiHint! This document provides guidelines and information for contributors.
Code of Conduct¶
This project adheres to our Code of Conduct. By participating, you are expected to uphold this code.
How Can I Contribute?¶
Reporting Bugs¶
- Use the GitHub issue tracker
- Include detailed steps to reproduce
- Provide environment information (OS, Python version, etc.)
Suggesting Enhancements¶
- Open a feature request issue
- Describe the use case and benefits
- Consider implementation complexity
Code Contributions¶
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Update documentation if needed
- Submit a pull request
Development Setup¶
-
Fork and clone the repository
-
Install dependencies
-
Run tests
Code Style¶
- Follow PEP 8 for Python code
- Use type hints where appropriate
- Write docstrings for all public functions
- Keep functions focused and concise
Testing¶
- Write tests for new functionality
- Ensure existing tests continue to pass
- Aim for good test coverage
- Use descriptive test names
Documentation¶
- Update relevant documentation when adding features
- Include examples for new functionality
- Keep API documentation current
Pull Request Process¶
- Update the README.md with details of changes if applicable
- Update the CHANGELOG.md with a note describing your changes
- The PR will be merged once you have the sign-off of at least one maintainer
Release Process¶
- Update version in
setup.py
andaihint/__init__.py
- Update CHANGELOG.md
- Create a release tag
- Publish to PyPI (if applicable)
Questions?¶
If you have questions about contributing, please open an issue or reach out to the maintainers.
Thank you for contributing to AiHint!