Repository navigation
fix(release): point package and NuGet metadata at github/squad - #2408
Conversation
🛫 PR Readiness Check
PR Scope: 📦🔧 Mixed (product + infrastructure)
|
| Status | Check | Details |
|---|---|---|
| ✅ | Single commit | 1 commit — clean history |
| ✅ | Not in draft | Ready for review |
| ✅ | Branch up to date | Up to date with dev |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | Changeset file found |
| ✅ | Scope clean | No .squad/ or docs/proposals/ files |
| ✅ | No merge conflicts | No merge conflicts |
| ✅ | Copilot threads resolved | No Copilot review threads |
| ❌ | CI passing | 1 check(s) still running |
Files Changed (19 files, +165 −37)
| File | +/− |
|---|---|
.changeset/repo-move-github-squad-package-metadata.md |
+6 −0 |
.github/workflows/squad-agents-ai-release.yml |
+1 −1 |
.github/workflows/squad-ci.yml |
+1 −1 |
.github/workflows/squad-standalone-release.yml |
+1 −1 |
package.json |
+3 −3 |
packages/squad-cli/package.json |
+3 −3 |
packages/squad-sdk/package.json |
+3 −3 |
packages/squad-sdk/src/build/github-dist.ts |
+1 −1 |
packages/squad-sdk/src/build/npm-package.ts |
+1 −1 |
scripts/generate-packaging.mjs |
+4 −3 |
scripts/install.sh |
+3 −3 |
scripts/release/closure-items.json |
+2 −2 |
src/Squad.Agents.AI/README.md |
+5 −5 |
src/Squad.Agents.AI/Squad.Agents.AI.csproj |
+2 −2 |
test/bundle.test.ts |
+15 −6 |
test/packaging-manifests.test.ts |
+41 −1 |
test/publish-repository-identity.test.ts |
+62 −0 |
test/standalone-build.test.ts |
+8 −1 |
test/standalone-release-workflow.test.ts |
+3 −0 |
Total: +165 −37
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
The repo moved from bradygaster/squad to github/squad. npm rejects a --provenance publish when package.json repository.url doesn't match the source repository, so the next release would fail. - package.json (root, cli, sdk) and the SDK package generator: homepage, bugs and repository point at github/squad - Squad.Agents.AI: PackageProjectUrl, RepositoryUrl and README links - install.sh and generate-packaging.mjs default to github/squad; the WinGet DocumentUrl uses the new docs host; release links derive from GITHUB_SERVER_URL/GITHUB_REPOSITORY - test/publish-repository-identity.test.ts guards published metadata Kept: npm scope, WinGet IDs and PublisherUrl, Homebrew tap, schema $id. Closes #2406 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
840f862 to
180cbe4
Compare
🟠 Impact Analysis — PR #2408Risk tier: 🟠 HIGH 📊 Summary
🎯 Risk Factors
📦 Modules Affectedci-workflows (3 files)
root (4 files)
scripts (3 files)
squad-cli (1 file)
squad-sdk (3 files)
tests (5 files)
|
🏗️ Architectural Review
Automated architectural review — informational only. |
There was a problem hiding this comment.
🔵 Needs a closer look
Approval depends on external NuGet Trusted Publishing configuration that must be updated and verified outside this diff before release.
No open issues 🎉
What changed in this PR
Updates package, NuGet, installer, packaging, and release metadata to reference the repository’s new canonical location, github/squad, following the repository transfer.
Changes:
- Updated npm, NuGet, installer, packaging, documentation, and release URLs.
- Replaced hardcoded release links with repository-aware GitHub Actions variables.
- Added regression coverage for repository identity and packaging defaults.
- Added a changeset for the package metadata updates.
| File | Reviewed changes |
|---|---|
test/standalone-release-workflow.test.ts |
Verifies release links use the current repository context. |
test/standalone-build.test.ts |
Verifies installer documentation and defaults use github/squad. |
test/publish-repository-identity.test.ts |
Validates npm and NuGet metadata against the canonical repository. |
test/packaging-manifests.test.ts |
Validates repository, documentation, and packaging URLs. |
test/bundle.test.ts |
Covers updated package and distribution defaults. |
src/Squad.Agents.AI/Squad.Agents.AI.csproj |
Updates NuGet project and repository URLs. |
src/Squad.Agents.AI/README.md |
Updates NuGet package repository links. |
scripts/release/closure-items.json |
Updates release closure repository references. |
scripts/install.sh |
Updates installer documentation and repository defaults. |
scripts/generate-packaging.mjs |
Updates packaging defaults and WinGet documentation URLs. |
packages/squad-sdk/src/build/npm-package.ts |
Updates generated npm repository metadata; the public generator output still omits homepage and bugs. |
packages/squad-sdk/src/build/github-dist.ts |
Updates the default GitHub distribution owner. |
packages/squad-sdk/package.json |
Updates SDK package metadata URLs. |
packages/squad-cli/package.json |
Updates CLI package metadata URLs. |
package.json |
Updates root package metadata URLs. |
.github/workflows/squad-standalone-release.yml |
Makes WinGet release links repository-aware. |
.github/workflows/squad-ci.yml |
Updates the documented ruleset URL. |
.github/workflows/squad-agents-ai-release.yml |
Documents the new NuGet Trusted Publishing owner. |
.changeset/repo-move-github-squad-package-metadata.md |
Records the package metadata patch release. |
This pull request requires changes.
Review effort: Lite (auto)
What
Points package, NuGet, and release-packaging metadata at
github/squadafter the repository transfer frombradygaster/squad. This covershomepage,bugs, andrepositoryin the root, CLI, and SDKpackage.jsonfiles and in the SDK's package generator;Squad.Agents.AIproject/repository URLs and its README links; theinstall.shandgenerate-packaging.mjsdefaults; the WinGetDocumentUrl(the new docs host); the release closure record; and the WinGet PR release link, which is now built fromGITHUB_SERVER_URL/GITHUB_REPOSITORY. A newtest/publish-repository-identity.test.tsfails if published metadata stops matching the repository.Working as release-engineer (Release Engineer).
Why
squad-npm-publish.ymlpublishes with--provenance, and npm rejects a provenance publish whenrepository.urldoesn't match the source repository. The next npm release would fail. NuGet and installer defaults also still name the old owner.Closes #2406
How
@bradygaster/*, WinGet IDsbradygaster.Squad*andPublisherUrl(the publisher is Brady), the Homebrew tapbradygaster/homebrew-squad(it didn't move), and the release-manifest schema$id. Changing the$idwould change the schema hash thatvalidate-manifest.mjs --provenancechecks for already-published evidence bundles.github, Repositorysquad, Workflowsquad-agents-ai-release.yml, and no environment. Then retire thebradygasterpolicy.mainbefore any publish frommain.Validation (branch on its own, Windows, Node 27):
npx vitest run test/publish-repository-identity.test.ts test/bundle.test.ts test/standalone-build.test.ts test/packaging-manifests.test.ts test/standalone-release-workflow.test.ts test/release-policy-changeset-drain.test.tsnpm run lintSKIP_BUILD_BUMP=1 npm run buildnpm run lint:eslint(all 5 repo-move PRs combined)The other repo-move PRs are #2407, #2403, #2405, and #2404 (issues).
npx changeset add/.changeset/*.md, directCHANGELOG.mdentry for maintainers, orskip-changeloglabel for no user-facing changes)PR Readiness Checklist
Branch & Commit
dev(notmain)dev(git fetch upstream && git rebase upstream/dev)git diff --cached --stat)Build & Test
npm run buildpassesnpm testpasses (all tests green): targeted suites above; the full suite runs in CInpm run lintpasses (type check clean)npm run lint:eslintpassesChangeset
npx changeset add(ifpackages/squad-sdk/src/orpackages/squad-cli/src/changed):.changeset/repo-move-github-squad-package-metadata.mdCHANGELOG.mdentry (maintainers only — write-protected for external contributors)skip-changeloglabel applied (if no user-facing changes)Docs
Exports
Breaking Changes
None.
Waivers
None.