Thank you for your interest in contributing to reverberage! This document provides guidelines for contributing to this project.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, please include as many details as possible:
- Use the bug report template when creating an issue
- Include steps to reproduce the bug
- Describe what you expected to happen
- Describe what actually happened
- Include your environment details (OS, Python version, package version)
Feature suggestions are welcome! When suggesting a feature:
- Use the feature request template when creating an issue
- Explain the use case and why this feature would be useful
- Describe how you envision the feature working
- Consider how this aligns with the project's goals
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add or update tests as needed
- Ensure all tests pass (
pytest) - Ensure code follows style guidelines (
ruff check .andruff format --check .) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git
cd REPO_NAME
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
ruff check .
ruff format --check .- Follow PEP 8 style guidelines
- Use type hints for all function signatures
- Write docstrings for all public functions and classes
- Keep functions focused and small
- Write tests for new functionality
- Update documentation as needed
Use conventional commit format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(engine): add support for batch processingfix(cli): handle missing configuration filedocs(readme): update installation instructions
- At least one maintainer must review your PR
- All CI checks must pass
- Address any review comments
- Once approved, a maintainer will merge your PR
Feel free to open an issue with the "question" label if you need help.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.