Contributing to SigBridgeR
Source:CONTRIBUTING.md
Thank you for your interest in contributing to SigBridgeR! We welcome contributions in all forms — bug reports, feature suggestions, documentation improvements, and code contributions.
Please take a moment to review this guide to make the process smooth and efficient for everyone.
Code of Conduct
By participating in this project, you agree to abide by the Contributor Covenant. Please be respectful and constructive in all interactions.
How to Contribute
Report Bugs
If you find a bug, please open an issue with the following information:
- A clear, descriptive title.
- Steps to reproduce the issue (include code snippets and data if possible).
- Expected vs. actual behavior.
- Your R session info (
sessionInfo()). - Package version (
packageVersion("SigBridgeR")).
Suggest Features
Have an idea for a new feature or an improvement? Open an issue and label it as a feature request. Describe:
- The problem you’re trying to solve.
- How you envision the feature working.
- Any relevant context or use cases.
Improve Documentation
Documentation improvements are always welcome! This includes:
- Fixing typos or unclear wording in function docs or vignettes.
- Adding examples or clarifying edge cases.
- Translating content.
Simply submit a pull request with your changes.
Contribute Code
We encourage contributions to extend SigBridgeR’s functionality. The main areas where you can contribute code are:
| Area | Description |
|---|---|
| New screening methods | Register custom phenotype-associated cell screening algorithms via the extensible registry system. |
| New preprocessing steps | Register custom Seurat preprocessing functions. |
| New annotation methods | Register custom cell-type annotation algorithms. |
| Bug fixes & optimizations | Fix issues or improve performance of existing code. |
For detailed instructions on how to implement and register custom algorithms — including format requirements, validation, and registration — please refer to the Extending SigBridgeR vignette (vignettes/Extending.Rmd).
Development Setup
-
Fork and clone the repository:
-
Install development dependencies (recommended):
code formatting: air
-
Load the package in your R session:
devtools::load_all() -
Checking everything is working:
devtools::check()
Pull Request Process
-
Create a feature branch from
main: Make your changes, keeping them focused and well-scoped. Follow the existing code style.
Write or update tests as appropriate.
Commit your changes with a clear and descriptive commit message.
-
Push to your fork and open a pull request against the
mainbranch.In your pull request description, please:
- Summarize the changes and motivation.
- Reference any related issues.
- Mention any breaking changes or special considerations.
A maintainer will review your PR and may request changes. Please respond promptly to feedback.
Getting Help
- Issues: Use GitHub Issues for bug reports and feature requests.
- Discussions: Use GitHub Discussions for questions and general help.
- Vignette: See the Extending SigBridgeR vignette for detailed implementation guidance.
Thank you for helping make SigBridgeR better!