Contributing
Thank you for your interest in contributing! I welcome contributions from the community and appreciate your time and effort.
Getting Started
- Fork the repository - Create your own copy of the project
- Clone your fork - Download your fork locally
- Create a branch - Make a new branch for your changes
- Make your changes - Implement your feature or fix
- Test your changes - Ensure everything works as expected
- Submit a pull request - Open a PR against the main branch
Code of Conduct
Please be respectful and considerate of others. I expect all contributors to:
- Use welcoming and inclusive language
- Be respectful of differing viewpoints and experiences
- Gracefully accept constructive criticism
- Focus on what is best for the project and community
How to Contribute
Reporting Bugs
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected vs actual behaviour
- Your environment details (OS, version, etc.)
Suggesting Features
Feature suggestions are welcome! Please open an issue with:
- A clear description of the feature
- The problem it would solve
- Any implementation ideas you have
Submitting Pull Requests
- Ensure your code follows the project’s coding style
- Update documentation if needed
- Add tests for new functionality
- Make sure all tests pass
- Keep commits atomic and write clear commit messages
Pull Request Guidelines
- Keep PRs focused - One feature or fix per PR
- Write descriptive titles - Summarize what the PR does
- Include context - Explain why the change is needed
- Reference issues - Link to related issues if applicable
- Be patient - Reviews may take some time
Development Setup
Check the project’s README.md for specific setup instructions. Generally:
- Install dependencies
- Run tests to ensure everything works
- Make your changes
- Run tests again before submitting
Questions?
If you have questions about contributing, feel free to open an issue and I’ll be happy to help.
Thank you for contributing!