Thank you for your interest in contributing to CRISPR-HAWK! We welcome contributions from the community to help improve the codebase, fix bugs, expand documentation, or suggest new features.
Please read the following guidelines carefully to help streamline the process.
- Code of Conduct
- Getting Started
- Types of Contributions
- Development Setup
- Testing
- Style Guide
- Pull Requests
- Reporting Issues
- Contact
By participating in this project, you agree to abide by our Code of Conduct. We are committed to fostering a welcoming, respectful, and inclusive environment for all contributors.
To start contributing:
-
Fork the repository.
-
Clone your fork:
git clone https://github.com/<your-username>/CRISPR-HAWK.git cd CRISPR-HAWK
-
Create a branch for your changes:
git checkout -b my-feature-branch
You can contribute in many ways:
- Report/Fix bugs
- Suggest new features
- Suggest/Improve documentation
- Suggest/Improve tests
- Report reproducible issues
We recommend using a virtual environment or [conda/mamba] for isolation.
-
Create a virtual environment:
mamba create -n crisprhawk-dev python=3.8 -y mamba activate crisprhawk-dev
-
Install the package in editable mode with dev dependencies:
pip install -e .[dev]
This installs pytest, black, and any additional tools needed for testing and linting.
Before submitting your changes, please make sure all tests pass:
pytestTo run a specific test:
pytest tests/test_<module_name>.py::<test_function_name>If your contribution includes new functionality, please add corresponding unit tests under the tests/ directory.
For quick checks, you can also run:
crisprhawk --help
crisprhawk search --help-
Use PEP 8 as a general style guide.
-
Format code with
black(installed via[dev]extras):black src/ tests/
-
Use descriptive commit messages.
-
Write docstrings for public functions and modules.
When your contribution is ready:
-
Push your branch to your fork:
git push origin my-feature-branch
-
Open a Pull Request (PR) from your fork to the
mainbranch of the official repo.
- All tests pass (
pytest) - Code is formatted (
black) - Relevant unit tests added or updated
- Documentation updated if necessary
- PR includes a clear description of the problem and solution
We’ll review your PR and provide feedback as soon as possible. Thank you for your contribution!
Found a bug? Have a suggestion?
-
Search the existing issues.
-
If it's new, open a new issue and include:
- A clear description of the issue or request
- Steps to reproduce (if applicable)
- System info: OS, Python version, CRISPR-HAWK version
- Any error messages or logs (use code blocks)
For any questions, collaboration proposals, or off-topic inquiries, feel free to email the authors:
-
Manuel Tognon
manuel.tognon@univr.it -
Rosalba Giugno
rosalba.giugno@univr.it -
Luca Pinello
lpinello@mgh.harvard.edu
Thank you for contributing to CRISPR-HAWK! 🧬🔍 Let’s build a better genome editing toolbox — together.