Contributor Quickstart
Contributions use the same ownership and evidence rules described throughout this site. Start with a small, reviewable change and prove the behavior at the lowest meaningful layer before requesting broader CI.
The repository-root CONTRIBUTING.md is authoritative for the external contribution workflow, licensing, and Developer Certificate of Origin requirements. This page adds project-specific development and validation detail.
1. Fork the repository and prepare a clean branch
External development happens in a personal fork. Use GitHub's Fork button
on the canonical repository, then clone your fork, add the NVIDIA repository as
upstream, and start from its current main:
git clone https://github.com/YOUR-GITHUB-USERNAME/TensorRT-Model-Connect.git
cd TensorRT-Model-Connect
git remote add upstream https://github.com/NVIDIA/TensorRT-Model-Connect.git
git fetch upstream
git switch -c docs/improve-getting-started upstream/main
In this layout, origin is your writable fork and upstream is the canonical
repository. Do not develop on either repository's main, and preserve
unrelated local work.
For source changes, use the development environment described in System Requirements.
2. Find the owner before editing
Choose the narrowest current owner:
| Change | Start here |
|---|---|
| Native model support | Add a Model Family |
| Exact delegated runtime for an existing family | Add an Optimized Runtime Implementation |
| Native runtime behavior | Add a Runtime Strategy |
| User-facing configuration | Add a Config Schema |
| Model validation | Validate a Model Contribution |
| External family-owned kernel | Bring Your Own Kernel |
| Public API or shared infrastructure | Developer Guide, then the owning architecture or API reference |
Similar model behavior is not automatically shared infrastructure. Family semantics stay with the owning family unless at least two real owners require the same model-independent contract.
3. Preserve legal metadata
- Keep existing copyright, license, and attribution notices.
- Add the repository SPDX header to new source files.
- Identify third-party source, version, license, and required notices in the pull request.
- Sign every commit:
git commit --signoff
The sign-off certifies the contribution under the Developer Certificate of Origin. Unsigned commits are not accepted.
4. Validate the smallest meaningful scope
Always start with repository consistency:
PYTHONPATH=python:. python3 tools/model_ci.py validate
PYTHONPATH=python:. python3 tools/test_impact.py --validate
git diff --check
Then run focused tests for the owner you changed. Model changes also need the declared E2E contract and its required model, runtime, GPU, and comparison artifacts. Documentation changes need strict references and a production site build:
python3 tools/check_doc_file_references.py --strict website/docs
npm --prefix website ci
npm --prefix website run build
Do not weaken an acceptance threshold to make a change pass. If a test is wrong, explain the evidence and request maintainer review.
5. Push to your fork and open the pull request
Sync with current upstream, push the short-lived branch to your fork, and open a
pull request targeting NVIDIA/TensorRT-Model-Connect:main:
git fetch upstream
git rebase upstream/main
git push --set-upstream origin docs/improve-getting-started
The pull request should record:
- exact scope and non-goals;
- exact base and tested head revisions;
- commands actually executed;
- model, artifact, hardware, and environment for GPU claims;
- remaining risks and paths not executed.
Compilation, source tests, model parity, target-hardware execution, performance, and release qualification are different evidence tiers.
6. Coordinate repository CI
The repository premerge workflow is one-shot and label-driven. Pushing a branch or creating a pull request alone does not start the gate. After local checks pass and the pull request is ready, add this comment:
@yifeif-nv This PR is ready for CI. Please trigger CI for the current head.
The maintainer verifies the PR's headRefOid and applies run-internal-ci.
The trusted bridge consumes that label, captures the immutable PR head SHA, and
dispatches private premerge validation for that exact revision.
Wait for the trtmc/premerge/required status on the same head SHA to complete
successfully. If the head changes intentionally, finish the update and local
validation before mentioning @yifeif-nv once to request a new run. Only a
maintainer with repository maintain or admin permission can authorize the
trigger. Private CI repository details, runner information, logs, artifacts,
and URLs are not public documentation.