Contributing ============ We welcome contributions to fmus-vox! This guide will help you get started. Getting Started --------------- 1. Fork the repository 2. Clone your fork .. code-block:: bash git clone https://github.com/your-username/fmus-vox.git cd fmus-vox 3. Install in development mode .. code-block:: bash pip install -e ".[dev]" Development Setup ----------------- Running Tests ~~~~~~~~~~~~~ .. code-block:: bash pytest With coverage: .. code-block:: bash pytest --cov=fmus_vox --cov-report=html Code Formatting ~~~~~~~~~~~~~~~ fmus-vox uses Black and isort for code formatting: .. code-block:: bash # Format code black fmus_vox tests # Sort imports isort fmus_vox tests Type Checking ~~~~~~~~~~~~~ .. code-block:: bash mypy fmus_vox Submitting Changes ------------------ 1. Create a new branch .. code-block:: bash git checkout -b feature/your-feature-name 2. Make your changes and write tests 3. Run tests and linting .. code-block:: bash pytest black fmus_vox tests isort fmus_vox tests mypy fmus_vox 4. Commit your changes .. code-block:: bash git add . git commit -m "Description of your changes" 5. Push to your fork and create a pull request Code Style ---------- * Follow PEP 8 style guidelines * Write descriptive docstrings for all public APIs Keep functions focused and modular * Write tests for new features Documentation ------------- To build the documentation locally: .. code-block:: bash cd docs make html The built documentation will be in `docs/_build/html/`. Reporting Issues ---------------- Please report bugs and request features on the `GitHub issue tracker `_. When reporting an issue, please include: * Your Python version * The fmus-vox version * Minimal code to reproduce the issue * Full error traceback (if applicable) License ------- By contributing to fmus-vox, you agree that your contributions will be licensed under the MIT License.