Pull Request Workflow
July 15, 2026 ยท View on GitHub
We welcome contributions. Follow the steps below.
Pull Request Process
- Fork the upstream repository and clone your fork.
- Create a focused branch from
develop, make changes, and add or update tests. - Run the relevant local checks and record the exact commands in the PR description.
- Push to your fork and open a Pull Request into
develop, unless a maintainer asks you to target a release branch. - Wait for maintainer vetting. copy-pr-bot mirrors trusted PRs to
pull-request/<PR number>branches after a maintainer or configured vetter comments/ok to test. - Address review feedback until required checks, code-owner review, and review-thread resolution pass.
- Maintainers merge with the configured bot workflow when
/mergeis available; otherwise they use the repository's normal protected-branch merge flow.
Local Checks
Run the narrowest checks that cover your change.
uv sync --group dev
uv run ruff check .
uv run ruff format --check .
uv run pytest
For MCP changes, validate its independent project as well:
uv sync --project mcp --extra dev
uv run --project mcp --extra dev pytest mcp/tests
For UI changes:
cd frontends/ui
npm ci
npm run lint
npm run type-check
npm run test:ci
npm run build
Repository owners, organization members, and collaborators may request additional validation, including NVSkills validation with /nvskills-ci.
Sign-Off and DCO
We require that all contributors sign off on their commits (Developer's Certificate of Origin). Commits that are not signed off will not be accepted.
To sign off on a commit:
git commit -s -m "Your message"
This appends a line such as:
Signed-off-by: Your Name <your@email.com>
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.