Contributing to SigVarGen¶
Thank you for considering contributing to SigVarGen! We welcome contributions of all kinds, whether it's bug fixes, new features, documentation improvements, or general maintenance. This guide outlines how to contribute effectively to the project.
Issue Tracking & Discussion¶
- Before submitting a new feature request or bug report, check if an issue already exists.
- Use labels (
bug,enhancement,documentation, etc.) when opening issues. - For questions, start a discussion in the Discussions tab.
Getting Started¶
1. Fork the Repository¶
- Navigate to the SigVarGen repository:
git clone https://github.com/SigVarGen/SigVarGen.git cd SigVarGen - Create a new branch for your feature or fix:
git checkout -b feature-branch - Set up the development environment:
pip install -r requirements.txt
2. Make Your Changes¶
- Ensure code is well-structured, readable, and follows the project's style guidelines.
- Run tests before committing your changes:
pytest tests/
3. Submit a Pull Request (PR)¶
- Push your branch to your fork:
git push origin feature-branch - Open a Pull Request from GitHubβs UI.
- Provide a clear title and description explaining the change.
- Request a review from maintainers.
- Ensure CI tests pass before merging.
Commit Message Guidelines¶
Use a structured commit message format:
<COMMIT_TYPE>: <Short, descriptive summary>
Commit Types¶
| Type | Description |
|---|---|
| FEAT | Adding a new feature or enhancement. Example: FEAT: Added baseline drift and vectorized signal generation |
| BUG | Bug fixes. Example: BUG: Corrected frequency scaling bug |
| TEST | Adding or modifying tests (without changing functionality). Example: TEST: Added unit tests for place_interrupt() |
| DOC | Documentation updates. Example: DOC: Updated README and added example notebook |
| CHORE | General maintenance, refactoring, code style, config updates, or build/CI changes. Example: CHORE: Reformatted with Black and updated CI pipeline |
| SEC | Security fixes. Example: SEC: Updated dependency to fix vulnerability |
| RELEASE | Version bumps and release preparation. Example: RELEASE: Prepare for 1.1.0 release |
Testing¶
- Ensure all tests pass before submitting a PR.
- Run unit tests using pytest:
pytest tests/ - If adding new functionality, include relevant tests.
License¶
By contributing to SigVarGen, you agree that your contributions will be licensed under the project's MIT License.