@bradygaster/squad-cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +329 -329
  2. package/dist/cli/commands/personal.js +45 -45
  3. package/dist/cli/core/team-md.js +34 -34
  4. package/package.json +2 -2
  5. package/scripts/patch-esm-imports.mjs +105 -105
  6. package/scripts/patch-ink-rendering.mjs +115 -115
  7. package/templates/casting/Futurama.json +9 -9
  8. package/templates/casting-history.json +4 -4
  9. package/templates/casting-policy.json +37 -37
  10. package/templates/casting-reference.md +104 -104
  11. package/templates/casting-registry.json +3 -3
  12. package/templates/ceremonies.md +41 -41
  13. package/templates/charter.md +53 -53
  14. package/templates/constraint-tracking.md +38 -38
  15. package/templates/cooperative-rate-limiting.md +229 -229
  16. package/templates/copilot-instructions.md +46 -46
  17. package/templates/history.md +10 -10
  18. package/templates/identity/now.md +9 -9
  19. package/templates/identity/wisdom.md +15 -15
  20. package/templates/issue-lifecycle.md +412 -412
  21. package/templates/keda-scaler.md +164 -164
  22. package/templates/machine-capabilities.md +74 -74
  23. package/templates/mcp-config.md +90 -90
  24. package/templates/multi-agent-format.md +28 -28
  25. package/templates/orchestration-log.md +27 -27
  26. package/templates/plugin-marketplace.md +49 -49
  27. package/templates/ralph-circuit-breaker.md +313 -313
  28. package/templates/raw-agent-output.md +37 -37
  29. package/templates/roster.md +60 -60
  30. package/templates/routing.md +39 -39
  31. package/templates/run-output.md +50 -50
  32. package/templates/scribe-charter.md +119 -119
  33. package/templates/skill.md +24 -24
  34. package/templates/skills/agent-collaboration/SKILL.md +42 -42
  35. package/templates/skills/agent-conduct/SKILL.md +24 -24
  36. package/templates/skills/architectural-proposals/SKILL.md +151 -151
  37. package/templates/skills/ci-validation-gates/SKILL.md +84 -84
  38. package/templates/skills/cli-wiring/SKILL.md +47 -47
  39. package/templates/skills/client-compatibility/SKILL.md +89 -89
  40. package/templates/skills/cross-squad/SKILL.md +114 -114
  41. package/templates/skills/distributed-mesh/SKILL.md +287 -287
  42. package/templates/skills/distributed-mesh/mesh.json.example +30 -30
  43. package/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -111
  44. package/templates/skills/distributed-mesh/sync-mesh.sh +104 -104
  45. package/templates/skills/docs-standards/SKILL.md +71 -71
  46. package/templates/skills/economy-mode/SKILL.md +114 -114
  47. package/templates/skills/external-comms/SKILL.md +329 -329
  48. package/templates/skills/gh-auth-isolation/SKILL.md +183 -183
  49. package/templates/skills/git-workflow/SKILL.md +204 -204
  50. package/templates/skills/github-multi-account/SKILL.md +95 -95
  51. package/templates/skills/history-hygiene/SKILL.md +36 -36
  52. package/templates/skills/humanizer/SKILL.md +105 -105
  53. package/templates/skills/init-mode/SKILL.md +102 -102
  54. package/templates/skills/model-selection/SKILL.md +117 -117
  55. package/templates/skills/nap/SKILL.md +24 -24
  56. package/templates/skills/personal-squad/SKILL.md +57 -57
  57. package/templates/skills/release-process/SKILL.md +423 -423
  58. package/templates/skills/reskill/SKILL.md +92 -92
  59. package/templates/skills/reviewer-protocol/SKILL.md +79 -79
  60. package/templates/skills/secret-handling/SKILL.md +200 -200
  61. package/templates/skills/session-recovery/SKILL.md +155 -155
  62. package/templates/skills/squad-conventions/SKILL.md +69 -69
  63. package/templates/skills/test-discipline/SKILL.md +37 -37
  64. package/templates/skills/windows-compatibility/SKILL.md +74 -74
  65. package/templates/workflows/squad-ci.yml +24 -24
  66. package/templates/workflows/squad-docs.yml +54 -54
  67. package/templates/workflows/squad-insider-release.yml +61 -61
  68. package/templates/workflows/squad-issue-assign.yml +161 -161
  69. package/templates/workflows/squad-label-enforce.yml +181 -181
  70. package/templates/workflows/squad-preview.yml +55 -55
  71. package/templates/workflows/squad-promote.yml +120 -120
  72. package/templates/workflows/squad-release.yml +77 -77
  73. package/templates/workflows/squad-triage.yml +260 -260
  74. package/templates/workflows/sync-squad-labels.yml +169 -169
@@ -1,74 +1,74 @@
1
- ---
2
- name: "windows-compatibility"
3
- description: "Cross-platform path handling and command patterns"
4
- domain: "platform"
5
- confidence: "high"
6
- source: "earned (multiple Windows-specific bugs: colons in filenames, git -C failures, path separators)"
7
- ---
8
-
9
- ## Context
10
-
11
- Squad runs on Windows, macOS, and Linux. Several bugs have been traced to platform-specific assumptions: ISO timestamps with colons (illegal on Windows), `git -C` with Windows paths (unreliable), forward-slash paths in Node.js on Windows.
12
-
13
- ## Patterns
14
-
15
- ### Filenames & Timestamps
16
- - **Never use colons in filenames:** ISO 8601 format `2026-03-15T05:30:00Z` is illegal on Windows
17
- - **Use `safeTimestamp()` utility:** Replaces colons with hyphens → `2026-03-15T05-30-00Z`
18
- - **Centralize formatting:** Don't inline `.toISOString().replace(/:/g, '-')` — use the utility
19
-
20
- ### Git Commands
21
- - **Never use `git -C {path}`:** Unreliable with Windows paths (backslashes, spaces, drive letters)
22
- - **Always `cd` first:** Change directory, then run git commands
23
- - **Check for changes before commit:** `git diff --cached --quiet` (exit 0 = no changes)
24
-
25
- ### Commit Messages
26
- - **Never embed newlines in `-m` flag:** Backtick-n (`\n`) fails silently in PowerShell
27
- - **Use temp file + `-F` flag:** Write message to file, commit with `git commit -F $msgFile`
28
-
29
- ### Paths
30
- - **Never assume CWD is repo root:** Always use `TEAM ROOT` from spawn prompt or run `git rev-parse --show-toplevel`
31
- - **Use path.join() or path.resolve():** Don't manually concatenate with `/` or `\`
32
-
33
- ## Examples
34
-
35
- ✓ **Correct:**
36
- ```javascript
37
- // Timestamp utility
38
- const safeTimestamp = () => new Date().toISOString().replace(/:/g, '-').split('.')[0] + 'Z';
39
-
40
- // Git workflow (PowerShell)
41
- cd $teamRoot
42
- git add .squad/
43
- if ($LASTEXITCODE -eq 0) {
44
- $msg = @"
45
- docs(ai-team): session log
46
-
47
- Changes:
48
- - Added decisions
49
- "@
50
- $msgFile = [System.IO.Path]::GetTempFileName()
51
- Set-Content -Path $msgFile -Value $msg -Encoding utf8
52
- git commit -F $msgFile
53
- Remove-Item $msgFile
54
- }
55
- ```
56
-
57
- ✗ **Incorrect:**
58
- ```javascript
59
- // Colon in filename
60
- const logPath = `.squad/log/${new Date().toISOString()}.md`; // ILLEGAL on Windows
61
-
62
- // git -C with Windows path
63
- exec('git -C C:\\src\\squad add .squad/'); // UNRELIABLE
64
-
65
- // Inline newlines in commit message
66
- exec('git commit -m "First line\nSecond line"'); // FAILS silently in PowerShell
67
- ```
68
-
69
- ## Anti-Patterns
70
-
71
- - Testing only on one platform (bugs ship to other platforms)
72
- - Assuming Unix-style paths work everywhere
73
- - Using `git -C` because it "looks cleaner" (it doesn't work)
74
- - Skipping `git diff --cached --quiet` check (creates empty commits)
1
+ ---
2
+ name: "windows-compatibility"
3
+ description: "Cross-platform path handling and command patterns"
4
+ domain: "platform"
5
+ confidence: "high"
6
+ source: "earned (multiple Windows-specific bugs: colons in filenames, git -C failures, path separators)"
7
+ ---
8
+
9
+ ## Context
10
+
11
+ Squad runs on Windows, macOS, and Linux. Several bugs have been traced to platform-specific assumptions: ISO timestamps with colons (illegal on Windows), `git -C` with Windows paths (unreliable), forward-slash paths in Node.js on Windows.
12
+
13
+ ## Patterns
14
+
15
+ ### Filenames & Timestamps
16
+ - **Never use colons in filenames:** ISO 8601 format `2026-03-15T05:30:00Z` is illegal on Windows
17
+ - **Use `safeTimestamp()` utility:** Replaces colons with hyphens → `2026-03-15T05-30-00Z`
18
+ - **Centralize formatting:** Don't inline `.toISOString().replace(/:/g, '-')` — use the utility
19
+
20
+ ### Git Commands
21
+ - **Never use `git -C {path}`:** Unreliable with Windows paths (backslashes, spaces, drive letters)
22
+ - **Always `cd` first:** Change directory, then run git commands
23
+ - **Check for changes before commit:** `git diff --cached --quiet` (exit 0 = no changes)
24
+
25
+ ### Commit Messages
26
+ - **Never embed newlines in `-m` flag:** Backtick-n (`\n`) fails silently in PowerShell
27
+ - **Use temp file + `-F` flag:** Write message to file, commit with `git commit -F $msgFile`
28
+
29
+ ### Paths
30
+ - **Never assume CWD is repo root:** Always use `TEAM ROOT` from spawn prompt or run `git rev-parse --show-toplevel`
31
+ - **Use path.join() or path.resolve():** Don't manually concatenate with `/` or `\`
32
+
33
+ ## Examples
34
+
35
+ ✓ **Correct:**
36
+ ```javascript
37
+ // Timestamp utility
38
+ const safeTimestamp = () => new Date().toISOString().replace(/:/g, '-').split('.')[0] + 'Z';
39
+
40
+ // Git workflow (PowerShell)
41
+ cd $teamRoot
42
+ git add .squad/
43
+ if ($LASTEXITCODE -eq 0) {
44
+ $msg = @"
45
+ docs(ai-team): session log
46
+
47
+ Changes:
48
+ - Added decisions
49
+ "@
50
+ $msgFile = [System.IO.Path]::GetTempFileName()
51
+ Set-Content -Path $msgFile -Value $msg -Encoding utf8
52
+ git commit -F $msgFile
53
+ Remove-Item $msgFile
54
+ }
55
+ ```
56
+
57
+ ✗ **Incorrect:**
58
+ ```javascript
59
+ // Colon in filename
60
+ const logPath = `.squad/log/${new Date().toISOString()}.md`; // ILLEGAL on Windows
61
+
62
+ // git -C with Windows path
63
+ exec('git -C C:\\src\\squad add .squad/'); // UNRELIABLE
64
+
65
+ // Inline newlines in commit message
66
+ exec('git commit -m "First line\nSecond line"'); // FAILS silently in PowerShell
67
+ ```
68
+
69
+ ## Anti-Patterns
70
+
71
+ - Testing only on one platform (bugs ship to other platforms)
72
+ - Assuming Unix-style paths work everywhere
73
+ - Using `git -C` because it "looks cleaner" (it doesn't work)
74
+ - Skipping `git diff --cached --quiet` check (creates empty commits)
@@ -1,24 +1,24 @@
1
- name: Squad CI
2
-
3
- on:
4
- pull_request:
5
- branches: [dev, preview, main, insider]
6
- types: [opened, synchronize, reopened]
7
- push:
8
- branches: [dev, insider]
9
-
10
- permissions:
11
- contents: read
12
-
13
- jobs:
14
- test:
15
- runs-on: ubuntu-latest
16
- steps:
17
- - uses: actions/checkout@v4
18
-
19
- - uses: actions/setup-node@v4
20
- with:
21
- node-version: 22
22
-
23
- - name: Run tests
24
- run: node --test test/*.test.js
1
+ name: Squad CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [dev, preview, main, insider]
6
+ types: [opened, synchronize, reopened]
7
+ push:
8
+ branches: [dev, insider]
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ test:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - uses: actions/setup-node@v4
20
+ with:
21
+ node-version: 22
22
+
23
+ - name: Run tests
24
+ run: node --test test/*.test.js
@@ -1,54 +1,54 @@
1
- name: Squad Docs — Build & Deploy
2
-
3
- on:
4
- workflow_dispatch:
5
- push:
6
- branches: [preview]
7
- paths:
8
- - 'docs/**'
9
- - '.github/workflows/squad-docs.yml'
10
-
11
- permissions:
12
- contents: read
13
- pages: write
14
- id-token: write
15
-
16
- concurrency:
17
- group: pages
18
- cancel-in-progress: true
19
-
20
- jobs:
21
- build:
22
- runs-on: ubuntu-latest
23
- steps:
24
- - uses: actions/checkout@v4
25
-
26
- - uses: actions/setup-node@v4
27
- with:
28
- node-version: '22'
29
- cache: npm
30
- cache-dependency-path: docs/package-lock.json
31
-
32
- - name: Install docs dependencies
33
- working-directory: docs
34
- run: npm ci
35
-
36
- - name: Build docs site
37
- working-directory: docs
38
- run: npm run build
39
-
40
- - name: Upload Pages artifact
41
- uses: actions/upload-pages-artifact@v3
42
- with:
43
- path: docs/dist
44
-
45
- deploy:
46
- needs: build
47
- runs-on: ubuntu-latest
48
- environment:
49
- name: github-pages
50
- url: ${{ steps.deployment.outputs.page_url }}
51
- steps:
52
- - name: Deploy to GitHub Pages
53
- id: deployment
54
- uses: actions/deploy-pages@v4
1
+ name: Squad Docs — Build & Deploy
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches: [preview]
7
+ paths:
8
+ - 'docs/**'
9
+ - '.github/workflows/squad-docs.yml'
10
+
11
+ permissions:
12
+ contents: read
13
+ pages: write
14
+ id-token: write
15
+
16
+ concurrency:
17
+ group: pages
18
+ cancel-in-progress: true
19
+
20
+ jobs:
21
+ build:
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - uses: actions/setup-node@v4
27
+ with:
28
+ node-version: '22'
29
+ cache: npm
30
+ cache-dependency-path: docs/package-lock.json
31
+
32
+ - name: Install docs dependencies
33
+ working-directory: docs
34
+ run: npm ci
35
+
36
+ - name: Build docs site
37
+ working-directory: docs
38
+ run: npm run build
39
+
40
+ - name: Upload Pages artifact
41
+ uses: actions/upload-pages-artifact@v3
42
+ with:
43
+ path: docs/dist
44
+
45
+ deploy:
46
+ needs: build
47
+ runs-on: ubuntu-latest
48
+ environment:
49
+ name: github-pages
50
+ url: ${{ steps.deployment.outputs.page_url }}
51
+ steps:
52
+ - name: Deploy to GitHub Pages
53
+ id: deployment
54
+ uses: actions/deploy-pages@v4
@@ -1,61 +1,61 @@
1
- name: Squad Insider Release
2
-
3
- on:
4
- push:
5
- branches: [insider]
6
-
7
- permissions:
8
- contents: write
9
-
10
- jobs:
11
- release:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v4
15
- with:
16
- fetch-depth: 0
17
-
18
- - uses: actions/setup-node@v4
19
- with:
20
- node-version: 22
21
-
22
- - name: Run tests
23
- run: node --test test/*.test.js
24
-
25
- - name: Read version from package.json
26
- id: version
27
- run: |
28
- VERSION=$(node -e "console.log(require('./package.json').version)")
29
- SHORT_SHA=$(git rev-parse --short HEAD)
30
- INSIDER_VERSION="${VERSION}-insider+${SHORT_SHA}"
31
- INSIDER_TAG="v${INSIDER_VERSION}"
32
- echo "version=$VERSION" >> "$GITHUB_OUTPUT"
33
- echo "short_sha=$SHORT_SHA" >> "$GITHUB_OUTPUT"
34
- echo "insider_version=$INSIDER_VERSION" >> "$GITHUB_OUTPUT"
35
- echo "insider_tag=$INSIDER_TAG" >> "$GITHUB_OUTPUT"
36
- echo "📦 Base Version: $VERSION (Short SHA: $SHORT_SHA)"
37
- echo "🏷️ Insider Version: $INSIDER_VERSION"
38
- echo "🔖 Insider Tag: $INSIDER_TAG"
39
-
40
- - name: Create git tag
41
- run: |
42
- git config user.name "github-actions[bot]"
43
- git config user.email "github-actions[bot]@users.noreply.github.com"
44
- git tag -a "${{ steps.version.outputs.insider_tag }}" -m "Insider Release ${{ steps.version.outputs.insider_tag }}"
45
- git push origin "${{ steps.version.outputs.insider_tag }}"
46
-
47
- - name: Create GitHub Release
48
- env:
49
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
- run: |
51
- gh release create "${{ steps.version.outputs.insider_tag }}" \
52
- --title "${{ steps.version.outputs.insider_tag }}" \
53
- --notes "This is an insider/development build of Squad. Install with:\`\`\`bash\nnpm install -g @bradygaster/squad-cli@${{ steps.version.outputs.insider_tag }}\n\`\`\`\n\n**Note:** Insider builds may be unstable and are intended for early adopters and testing only." \
54
- --prerelease
55
-
56
- - name: Verify release
57
- env:
58
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
- run: |
60
- gh release view "${{ steps.version.outputs.insider_tag }}"
61
- echo "✅ Insider Release ${{ steps.version.outputs.insider_tag }} created and verified."
1
+ name: Squad Insider Release
2
+
3
+ on:
4
+ push:
5
+ branches: [insider]
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ release:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - uses: actions/setup-node@v4
19
+ with:
20
+ node-version: 22
21
+
22
+ - name: Run tests
23
+ run: node --test test/*.test.js
24
+
25
+ - name: Read version from package.json
26
+ id: version
27
+ run: |
28
+ VERSION=$(node -e "console.log(require('./package.json').version)")
29
+ SHORT_SHA=$(git rev-parse --short HEAD)
30
+ INSIDER_VERSION="${VERSION}-insider+${SHORT_SHA}"
31
+ INSIDER_TAG="v${INSIDER_VERSION}"
32
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
33
+ echo "short_sha=$SHORT_SHA" >> "$GITHUB_OUTPUT"
34
+ echo "insider_version=$INSIDER_VERSION" >> "$GITHUB_OUTPUT"
35
+ echo "insider_tag=$INSIDER_TAG" >> "$GITHUB_OUTPUT"
36
+ echo "📦 Base Version: $VERSION (Short SHA: $SHORT_SHA)"
37
+ echo "🏷️ Insider Version: $INSIDER_VERSION"
38
+ echo "🔖 Insider Tag: $INSIDER_TAG"
39
+
40
+ - name: Create git tag
41
+ run: |
42
+ git config user.name "github-actions[bot]"
43
+ git config user.email "github-actions[bot]@users.noreply.github.com"
44
+ git tag -a "${{ steps.version.outputs.insider_tag }}" -m "Insider Release ${{ steps.version.outputs.insider_tag }}"
45
+ git push origin "${{ steps.version.outputs.insider_tag }}"
46
+
47
+ - name: Create GitHub Release
48
+ env:
49
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
+ run: |
51
+ gh release create "${{ steps.version.outputs.insider_tag }}" \
52
+ --title "${{ steps.version.outputs.insider_tag }}" \
53
+ --notes "This is an insider/development build of Squad. Install with:\`\`\`bash\nnpm install -g @bradygaster/squad-cli@${{ steps.version.outputs.insider_tag }}\n\`\`\`\n\n**Note:** Insider builds may be unstable and are intended for early adopters and testing only." \
54
+ --prerelease
55
+
56
+ - name: Verify release
57
+ env:
58
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
+ run: |
60
+ gh release view "${{ steps.version.outputs.insider_tag }}"
61
+ echo "✅ Insider Release ${{ steps.version.outputs.insider_tag }} created and verified."