Contributing Guide¶
Getting Started¶
Development Environment¶
-
Fork and clone the repository:
-
Create a virtual environment:
-
Install development dependencies:
Development Workflow¶
Making Changes¶
-
Create a feature branch:
-
Make your changes following our guidelines
- Test your changes:
Code Style¶
We follow a strict code style to maintain consistency:
Testing¶
Write tests for new features:
def test_audio_playback():
player = AudioBackend()
assert player.load_file("test.mp3")
player.play()
assert player.is_playing
Run tests with:
Documentation¶
Update documentation for changes:
- Update docstrings
- Update markdown files in
docs/
- Build docs locally:
Pull Requests¶
PR Process¶
- Update documentation
- Run tests
- Create PR with:
- Clear description
- Issue references
- Test results
- Documentation updates
PR Template¶
## Description
Brief description of changes
## Related Issues
Fixes #123
## Checklist
- [ ] Tests added
- [ ] Documentation updated
- [ ] Code follows style guide
- [ ] All tests pass
Reporting Issues¶
Bug Reports¶
Include:
- Python version
- Operating system
- Library version
- Complete error message
- Minimal reproducible example
Feature Requests¶
Include:
- Use case
- Proposed solution
- Example usage
Project Structure¶
audiobackend/
├── src/
│ └── audiobackend/
│ ├── __init__.py
│ └── audiobackend.py
├── tests/
│ └── test_audiobackend.py
├── docs/
│ ├── index.md
│ └── ...
├── pyproject.toml
└── README.md
Code of Conduct¶
Our Standards¶
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
- Accept feedback
Enforcement¶
Violations can be reported to maintainers:
- Via GitHub issues
- Email: niamorrodev@gmail.com
Getting Help¶
- Create an issue
- Join discussions
- Read documentation