Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .changeset/fix-cli-prerelease-version-skill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
"@bradygaster/squad-cli": patch
"@bradygaster/squad-sdk": patch
---

fix: bump CLI version to 0.9.7-preview; align E2E skill and policy gate with CONTRIBUTING.md

The insider publish workflow stamped `@bradygaster/squad-cli` at `0.9.6-build.4`,
which violates the prerelease version policy gate. Per CONTRIBUTING.md, the correct
local dev version is `{next-version}-preview`.

- `packages/squad-cli/package.json`: `0.9.6-build.4` → `0.9.7-preview`
- All 4 copies of `e2e-template-testing/SKILL.md` (root `templates/`,
`packages/squad-sdk/templates/`, `packages/squad-cli/templates/`,
`.squad-templates/`):
- **Build commands** aligned with CONTRIBUTING.md (lines 253–256): use workspace
flags `npm run build -w packages/squad-sdk && npm run build -w packages/squad-cli`
and `npm link -w packages/squad-cli` instead of shell `cd` + bare `npm run build`
- **Version verify text** updated to version-agnostic `x.y.z-preview` placeholder
with an explicit note that the `-preview` suffix is required, linking to
CONTRIBUTING.md for the full local dev setup
- `.github/workflows/squad-ci.yml` — Prerelease Version Guard: relaxed regex from
`/-/` (any hyphen) to `/-/ && not /^\d+\.\d+\.\d+-preview$/` so the CONTRIBUTING.md-
sanctioned `-preview` suffix is allowed while all other prerelease tags (e.g.
`-build.4`, `-alpha`, `-beta`) are still blocked
7 changes: 4 additions & 3 deletions .github/workflows/squad-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -310,14 +310,15 @@ jobs:
const pkgPath = path.join('packages', dir, 'package.json');
if (!fs.existsSync(pkgPath)) continue;
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
if (pkg.version && /-/.test(pkg.version)) {
// Allow x.y.z-preview (CONTRIBUTING.md canonical dev suffix); block all other prerelease tags
if (pkg.version && /-/.test(pkg.version) && !/^\d+\.\d+\.\d+-preview$/.test(pkg.version)) {
violations.push({ name: pkg.name, version: pkg.version, path: pkgPath });
}
}
if (violations.length > 0) {
console.error('::error::PRERELEASE VERSION DETECTED — cannot merge to dev/main.');
console.error('::error::UNSANCTIONED PRERELEASE VERSION DETECTED — cannot merge to dev/main.');
violations.forEach(v => console.error(' ' + v.name + '@' + v.version + ' (' + v.path + ')'));
console.error('Fix: remove prerelease suffixes. Skip: add \"skip-version-check\" label.');
console.error('Fix: use x.y.z-preview (CONTRIBUTING.md) or a clean semver. Skip: add \"skip-version-check\" label.');
process.exit(1);
}
console.log('✅ All package versions are release versions');
Expand Down
13 changes: 8 additions & 5 deletions .squad-templates/skills/e2e-template-testing/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@ See **Progress Reporting** for the full comment lifecycle and update patterns.
```bash
cd /path/to/squad # your feature branch
npm install
npm run build # compiles SDK + CLI
npm run build -w packages/squad-sdk && npm run build -w packages/squad-cli

# Link so `squad` command uses your local build
cd packages/squad-cli
npm link
# Link so `squad` command uses your local build (workspace flag — no cd required)
npm link -w packages/squad-cli
```

Verify: `squad version` should show the `-preview` tag.
Verify: `squad version` output includes the `-preview` suffix (e.g., `x.y.z-preview`),
confirming the local dev build is active. If the output shows a plain semver without
`-preview`, the globally-installed npm package is still in use — re-check the link step.
See [CONTRIBUTING.md — Making the `squad` Command Use Your Local Build](../../../CONTRIBUTING.md)
for the full guidance on local dev versioning.

### Step 2 — Create a disposable test repo

Expand Down
6 changes: 3 additions & 3 deletions packages/squad-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bradygaster/squad-cli",
"version": "0.9.6",
"version": "0.9.7-preview",
"description": "Squad CLI — Command-line interface for the Squad multi-agent runtime",
"type": "module",
"bin": {
Expand Down Expand Up @@ -195,8 +195,8 @@
"devDependencies": {
"@types/node": "^22.0.0",
"@types/react": "^19.2.14",
"ink-testing-library": "^4.0.0",
"typescript": "^5.7.0"
"typescript": "^5.7.0",
"ink-testing-library": "^4.0.0"
},
"keywords": [
"copilot",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@ See **Progress Reporting** for the full comment lifecycle and update patterns.
```bash
cd /path/to/squad # your feature branch
npm install
npm run build # compiles SDK + CLI
npm run build -w packages/squad-sdk && npm run build -w packages/squad-cli

# Link so `squad` command uses your local build
cd packages/squad-cli
npm link
# Link so `squad` command uses your local build (workspace flag — no cd required)
npm link -w packages/squad-cli
```

Verify: `squad version` should show the `-preview` tag.
Verify: `squad version` output includes the `-preview` suffix (e.g., `x.y.z-preview`),
confirming the local dev build is active. If the output shows a plain semver without
`-preview`, the globally-installed npm package is still in use — re-check the link step.
See [CONTRIBUTING.md — Making the `squad` Command Use Your Local Build](../../../CONTRIBUTING.md)
for the full guidance on local dev versioning.

### Step 2 — Create a disposable test repo

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@ See **Progress Reporting** for the full comment lifecycle and update patterns.
```bash
cd /path/to/squad # your feature branch
npm install
npm run build # compiles SDK + CLI
npm run build -w packages/squad-sdk && npm run build -w packages/squad-cli

# Link so `squad` command uses your local build
cd packages/squad-cli
npm link
# Link so `squad` command uses your local build (workspace flag — no cd required)
npm link -w packages/squad-cli
```

Verify: `squad version` should show the `-preview` tag.
Verify: `squad version` output includes the `-preview` suffix (e.g., `x.y.z-preview`),
confirming the local dev build is active. If the output shows a plain semver without
`-preview`, the globally-installed npm package is still in use — re-check the link step.
See [CONTRIBUTING.md — Making the `squad` Command Use Your Local Build](../../../CONTRIBUTING.md)
for the full guidance on local dev versioning.

### Step 2 — Create a disposable test repo

Expand Down
13 changes: 8 additions & 5 deletions templates/skills/e2e-template-testing/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@ See **Progress Reporting** for the full comment lifecycle and update patterns.
```bash
cd /path/to/squad # your feature branch
npm install
npm run build # compiles SDK + CLI
npm run build -w packages/squad-sdk && npm run build -w packages/squad-cli

# Link so `squad` command uses your local build
cd packages/squad-cli
npm link
# Link so `squad` command uses your local build (workspace flag — no cd required)
npm link -w packages/squad-cli
```

Verify: `squad version` should show the `-preview` tag.
Verify: `squad version` output includes the `-preview` suffix (e.g., `x.y.z-preview`),
confirming the local dev build is active. If the output shows a plain semver without
`-preview`, the globally-installed npm package is still in use — re-check the link step.
See [CONTRIBUTING.md — Making the `squad` Command Use Your Local Build](../../../CONTRIBUTING.md)
for the full guidance on local dev versioning.

### Step 2 — Create a disposable test repo

Expand Down
Loading