1.9 KiB
1.9 KiB
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:
uv sync --all-groups --extra doc-processing - Install pre-commit hooks:
pre-commit install
Development Workflow
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name -
Make your changes and ensure tests pass:
pytest test -
Commit your changes with a descriptive message:
git commit -m "Add feature: your feature description" -
Push your branch to your fork:
git push origin feature/your-feature-name -
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