Contributing to Suthing¶
We welcome contributions to Suthing! This document provides guidelines and instructions for contributing to the project.
Getting Started¶
- Fork the repository on GitHub
- Clone your fork locally
- Install the development dependencies:
- Install pre-commit hooks:
Development Workflow¶
-
Create a new branch for your feature or bugfix:
-
Make your changes and ensure tests pass:
-
Commit your changes with a descriptive message:
-
Push your branch to your fork:
-
Create a Pull Request on GitHub
Code Style¶
- Follow PEP 8 style guidelines
- Use type hints for all function parameters and return values
- Write docstrings following the Google style
- Keep functions focused and small
- Add tests for new features
Documentation¶
- Update relevant documentation when adding new features
- Add docstrings to all new functions and classes
- Include examples in docstrings where appropriate
- Update the changelog for significant changes
Testing¶
- Write tests for all new features
- Ensure all tests pass before submitting a PR
- Add tests for bug fixes
- Maintain or improve test coverage
Pull Request Process¶
- Ensure your PR description clearly describes the problem and solution
- Include relevant tests
- Update documentation as needed
- Ensure all CI checks pass
- Request review from maintainers
Reporting Issues¶
When reporting issues, please include:
- Python version
- Suthing version
- Steps to reproduce
- Expected behavior
- Actual behavior
- Any relevant error messages