Contributing to BioNeMo Inference Runtime
Thanks for your interest in improving BioNeMo Inference Runtime (BioIR). This document explains how to propose changes, the sign-off we require, and the local checks your change must pass before review.
Code of Conduct
This project follows the Contributor Covenant. By participating you are expected to uphold it.
Ways to Contribute
- Report a bug or request a feature using the issue forms.
- Discuss usage questions in Discussions.
- Open a pull request for a fix or feature (refer to the workflow below).
When an Issue Is Required
BioIR uses a hybrid contribution model:
- New features and API-breaking changes must begin with an issue (feature request or RFC) that a maintainer reviews and approves before you open a PR. This avoids wasted work on changes that do not fit the roadmap.
- Small bug fixes, docs, and typo corrections can go straight to a PR; an
issue is welcome but not required. Reference any related issue with
closes #NNNN.
Developer Certificate of Origin (DCO) — Sign Your Work
All commits must be signed off. Sign-off certifies that you wrote the contribution or otherwise have the right to submit it under the project license (the Developer Certificate of Origin). PRs containing unsigned commits are blocked by the DCO check.
Sign off by adding -s / --signoff when you commit:
This appends a trailer to your commit message:
Set your user.name and user.email so the trailer is accurate; the name must
match a real identity. To sign off a series of existing commits, use
git rebase --signoff <base>.
Full text of the Developer Certificate of Origin, Version 1.1
Development Workflow
- Fork the repository and clone your fork.
- Create a topic branch from
main. - Set up the environment, build, and run the tests by following Development Workflow.
- Make your change. Add unit tests for fixes and features; add benchmarks for performance-sensitive kernels.
- Open a PR against
main. Draft PRs run CI without requesting review. - Address CI failures and reviewer feedback. A maintainer merges after required approvals and status checks pass.
Pull Request Expectations
- Keep PRs focused on a single concern; split unrelated changes into separate PRs and note dependencies.
- Fill in the pull request template, including the DCO checkbox.
- NVIDIA developers: include the JIRA key or NVBug ID in the PR title where applicable.
Review and Merge
- Reviewers are routed automatically by
.github/CODEOWNERS. - A PR is merged by someone other than its author (no self-approval) after the required Code Owner approvals.
- C++/CUDA changes can require additional Code Owner review at maintainer discretion; all changes require at least one approval.
- Security and critical-regression fixes are fast-tracked — label the PR
release blockerand request expedited Code Owner review. Report vulnerabilities through Report a Security Vulnerability, never a public issue.
License
By contributing, you agree that your contributions are licensed under the Apache License 2.0.