From d3bc78012d9972334c50b9af84ccb95f0c178220 Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Thu, 9 Jul 2026 11:07:29 -0500 Subject: [PATCH 1/5] docs: add external contribution quick guide Signed-off-by: Ryan Lempka --- CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 82087834b..86a4f5dfa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,6 +2,36 @@ Thank you for your interest in contributing! This document outlines the development workflow, testing practices, and code standards. +## External Contributions + +We welcome contributions of all sizes, from typo fixes to new features. The short version: + +1. [Fork the repository](https://github.com/NVIDIA-NeMo/Switchyard/fork) and clone your fork: + + ```bash + git clone https://github.com/YOUR-USERNAME/Switchyard.git + cd Switchyard + git remote add upstream https://github.com/NVIDIA-NeMo/Switchyard.git + ``` + +2. Pick the right process for the size of your change: + - **Small changes** (typos, docs, focused bug fixes under ~100 lines): open a PR directly, no issue needed. + - **Larger changes** (new features, refactors, anything 100+ lines): [open an issue](https://github.com/NVIDIA-NeMo/Switchyard/issues/new/choose) first so maintainers can confirm the direction before you invest time. + +3. Create a branch, make your change, and run the checks in [Code standards](#2-code-standards). + +4. Commit with a DCO sign-off (see [Signing Your Work](#signing-your-work)): + + ```bash + git commit -s -m "fix: description of the change" + ``` + +5. Push to your fork and open a PR against `main`, linking any related issues (e.g. "Closes #42"). + +Review is requested automatically from the core team via [CODEOWNERS](.github/CODEOWNERS), so there is no need to pick reviewers. Keep each PR focused on one concern, include tests for behavior changes, and respond to feedback with follow-up commits rather than force-pushes. + +Using AI tools to write code is fine, but you must understand and be able to explain every change in your PR. + ## Setup See [Development](DEVELOPMENT.md) for full setup instructions. From cea7592283178fbbd7d2ebfcb066c43ce185bbb5 Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Thu, 9 Jul 2026 11:19:05 -0500 Subject: [PATCH 2/5] chore: refresh detect-secrets baseline line numbers Signed-off-by: Ryan Lempka --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index fc265534d..98da99b82 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -234,7 +234,7 @@ "filename": "CONTRIBUTING.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 131 + "line_number": 161 } ], "DEVELOPMENT.md": [ @@ -1189,5 +1189,5 @@ } ] }, - "generated_at": "2026-07-08T09:06:49Z" + "generated_at": "2026-07-09T16:18:37Z" } From bfab827763309178876529b4768ccee5fa0dbfd8 Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Thu, 9 Jul 2026 11:32:15 -0500 Subject: [PATCH 3/5] docs: note DCO sign-off in internal workflow and correct required-checks note Signed-off-by: Ryan Lempka --- CONTRIBUTING.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 86a4f5dfa..8213bed5a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -87,6 +87,9 @@ Commit messages must follow [Conventional Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). This is enforced locally by the `commit-msg` hook and in GitHub Actions. +Every commit must also carry a DCO sign-off (`git commit -s`), enforced by the +required DCO check on every PR. See [Signing Your Work](#signing-your-work). + - ✓ `fix: handle async context cleanup in ProxyContext` - ✓ `feat: add stage-router routing backend` - ✗ `Fixed stuff` / `Updated code` @@ -140,10 +143,8 @@ feat(api)!: remove legacy route option Keep the PR title conventional too, because GitHub can use the PR title for the squash-merge commit. -Maintainers should mark these GitHub status checks as required on `main`: - -- `Commitlint / Commit messages` -- `PR Title / Validate PR title` +The `CI Success` and `DCO` status checks are required on `main`; the other +workflows (commitlint, PR title) run on every PR but are advisory. ## Testing From b85f6d951aaeebe4d7c0eb6210c2f10db52540a0 Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Thu, 9 Jul 2026 11:32:51 -0500 Subject: [PATCH 4/5] fix: point question contact link at this repo's Discussions Signed-off-by: Ryan Lempka --- .github/ISSUE_TEMPLATE/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index a49f609ab..b44b64632 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,7 +1,7 @@ blank_issues_enabled: false contact_links: - name: Question or discussion - url: https://github.com/NVIDIA/switchyard/discussions + url: https://github.com/NVIDIA-NeMo/Switchyard/discussions about: For usage questions and design discussion, please open a Discussion instead of an Issue. - name: Security vulnerability url: https://www.nvidia.com/en-us/security/ From d0e2ba2b0c5286e0b425b2127835efff24554fbc Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Thu, 9 Jul 2026 11:39:47 -0500 Subject: [PATCH 5/5] chore: refresh detect-secrets baseline line numbers Signed-off-by: Ryan Lempka --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 98da99b82..c5156f989 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -234,7 +234,7 @@ "filename": "CONTRIBUTING.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 161 + "line_number": 162 } ], "DEVELOPMENT.md": [ @@ -1189,5 +1189,5 @@ } ] }, - "generated_at": "2026-07-09T16:18:37Z" + "generated_at": "2026-07-09T16:39:36Z" }