@bradygaster/squad-cli 0.9.6-insider.3 → 0.10.0-insider.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 (144) hide show
  1. package/CHANGELOG.md +555 -0
  2. package/README.md +5 -5
  3. package/dist/cli/commands/build.js +3 -3
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/copilot-bridge.d.ts.map +1 -1
  6. package/dist/cli/commands/copilot-bridge.js +5 -1
  7. package/dist/cli/commands/copilot-bridge.js.map +1 -1
  8. package/dist/cli/commands/cross-squad.d.ts +15 -2
  9. package/dist/cli/commands/cross-squad.d.ts.map +1 -1
  10. package/dist/cli/commands/cross-squad.js +78 -4
  11. package/dist/cli/commands/cross-squad.js.map +1 -1
  12. package/dist/cli/commands/doctor.d.ts +6 -0
  13. package/dist/cli/commands/doctor.d.ts.map +1 -1
  14. package/dist/cli/commands/doctor.js +92 -6
  15. package/dist/cli/commands/doctor.js.map +1 -1
  16. package/dist/cli/commands/install-hooks.d.ts.map +1 -1
  17. package/dist/cli/commands/install-hooks.js +50 -5
  18. package/dist/cli/commands/install-hooks.js.map +1 -1
  19. package/dist/cli/commands/loop.d.ts.map +1 -1
  20. package/dist/cli/commands/loop.js +7 -5
  21. package/dist/cli/commands/loop.js.map +1 -1
  22. package/dist/cli/commands/migrate-backend.d.ts +36 -5
  23. package/dist/cli/commands/migrate-backend.d.ts.map +1 -1
  24. package/dist/cli/commands/migrate-backend.js +250 -40
  25. package/dist/cli/commands/migrate-backend.js.map +1 -1
  26. package/dist/cli/commands/notes.d.ts +27 -0
  27. package/dist/cli/commands/notes.d.ts.map +1 -0
  28. package/dist/cli/commands/notes.js +222 -0
  29. package/dist/cli/commands/notes.js.map +1 -0
  30. package/dist/cli/commands/plugin.js +3 -3
  31. package/dist/cli/commands/plugin.js.map +1 -1
  32. package/dist/cli/commands/skill.d.ts +31 -0
  33. package/dist/cli/commands/skill.d.ts.map +1 -0
  34. package/dist/cli/commands/skill.js +498 -0
  35. package/dist/cli/commands/skill.js.map +1 -0
  36. package/dist/cli/commands/start.d.ts.map +1 -1
  37. package/dist/cli/commands/start.js +9 -1
  38. package/dist/cli/commands/start.js.map +1 -1
  39. package/dist/cli/commands/state-mcp.d.ts.map +1 -1
  40. package/dist/cli/commands/state-mcp.js +6 -0
  41. package/dist/cli/commands/state-mcp.js.map +1 -1
  42. package/dist/cli/commands/watch/agent-spawn.d.ts +62 -0
  43. package/dist/cli/commands/watch/agent-spawn.d.ts.map +1 -0
  44. package/dist/cli/commands/watch/agent-spawn.js +127 -0
  45. package/dist/cli/commands/watch/agent-spawn.js.map +1 -0
  46. package/dist/cli/commands/watch/capabilities/decision-hygiene.d.ts.map +1 -1
  47. package/dist/cli/commands/watch/capabilities/decision-hygiene.js +2 -1
  48. package/dist/cli/commands/watch/capabilities/decision-hygiene.js.map +1 -1
  49. package/dist/cli/commands/watch/capabilities/execute.d.ts.map +1 -1
  50. package/dist/cli/commands/watch/capabilities/execute.js +2 -1
  51. package/dist/cli/commands/watch/capabilities/execute.js.map +1 -1
  52. package/dist/cli/commands/watch/capabilities/index.d.ts.map +1 -1
  53. package/dist/cli/commands/watch/capabilities/index.js +2 -0
  54. package/dist/cli/commands/watch/capabilities/index.js.map +1 -1
  55. package/dist/cli/commands/watch/capabilities/monitor-email.d.ts.map +1 -1
  56. package/dist/cli/commands/watch/capabilities/monitor-email.js +2 -1
  57. package/dist/cli/commands/watch/capabilities/monitor-email.js.map +1 -1
  58. package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts.map +1 -1
  59. package/dist/cli/commands/watch/capabilities/monitor-teams.js +2 -1
  60. package/dist/cli/commands/watch/capabilities/monitor-teams.js.map +1 -1
  61. package/dist/cli/commands/watch/capabilities/notes-promote.d.ts +11 -0
  62. package/dist/cli/commands/watch/capabilities/notes-promote.d.ts.map +1 -0
  63. package/dist/cli/commands/watch/capabilities/notes-promote.js +124 -0
  64. package/dist/cli/commands/watch/capabilities/notes-promote.js.map +1 -0
  65. package/dist/cli/commands/watch/capabilities/retro.d.ts.map +1 -1
  66. package/dist/cli/commands/watch/capabilities/retro.js +2 -1
  67. package/dist/cli/commands/watch/capabilities/retro.js.map +1 -1
  68. package/dist/cli/commands/watch/capabilities/wave-dispatch.d.ts.map +1 -1
  69. package/dist/cli/commands/watch/capabilities/wave-dispatch.js +2 -1
  70. package/dist/cli/commands/watch/capabilities/wave-dispatch.js.map +1 -1
  71. package/dist/cli/commands/watch/index.d.ts.map +1 -1
  72. package/dist/cli/commands/watch/index.js +7 -6
  73. package/dist/cli/commands/watch/index.js.map +1 -1
  74. package/dist/cli/core/cast.d.ts.map +1 -1
  75. package/dist/cli/core/cast.js +84 -0
  76. package/dist/cli/core/cast.js.map +1 -1
  77. package/dist/cli/core/command-help.d.ts +44 -0
  78. package/dist/cli/core/command-help.d.ts.map +1 -0
  79. package/dist/cli/core/command-help.js +401 -0
  80. package/dist/cli/core/command-help.js.map +1 -0
  81. package/dist/cli/core/copilot-invocation.d.ts +57 -0
  82. package/dist/cli/core/copilot-invocation.d.ts.map +1 -0
  83. package/dist/cli/core/copilot-invocation.js +84 -0
  84. package/dist/cli/core/copilot-invocation.js.map +1 -0
  85. package/dist/cli/core/effective-squad-dir.d.ts +33 -0
  86. package/dist/cli/core/effective-squad-dir.d.ts.map +1 -0
  87. package/dist/cli/core/effective-squad-dir.js +37 -0
  88. package/dist/cli/core/effective-squad-dir.js.map +1 -0
  89. package/dist/cli/core/init.d.ts.map +1 -1
  90. package/dist/cli/core/init.js +117 -0
  91. package/dist/cli/core/init.js.map +1 -1
  92. package/dist/cli/core/mcp-root.d.ts +73 -0
  93. package/dist/cli/core/mcp-root.d.ts.map +1 -0
  94. package/dist/cli/core/mcp-root.js +195 -0
  95. package/dist/cli/core/mcp-root.js.map +1 -0
  96. package/dist/cli/core/mcp-spec.d.ts +48 -0
  97. package/dist/cli/core/mcp-spec.d.ts.map +1 -0
  98. package/dist/cli/core/mcp-spec.js +62 -0
  99. package/dist/cli/core/mcp-spec.js.map +1 -0
  100. package/dist/cli/core/npm-registry.d.ts +25 -0
  101. package/dist/cli/core/npm-registry.d.ts.map +1 -0
  102. package/dist/cli/core/npm-registry.js +65 -0
  103. package/dist/cli/core/npm-registry.js.map +1 -0
  104. package/dist/cli/core/templates.d.ts.map +1 -1
  105. package/dist/cli/core/templates.js +77 -30
  106. package/dist/cli/core/templates.js.map +1 -1
  107. package/dist/cli/core/upgrade.d.ts +28 -0
  108. package/dist/cli/core/upgrade.d.ts.map +1 -1
  109. package/dist/cli/core/upgrade.js +249 -18
  110. package/dist/cli/core/upgrade.js.map +1 -1
  111. package/dist/cli/shell/coordinator.d.ts.map +1 -1
  112. package/dist/cli/shell/coordinator.js +9 -3
  113. package/dist/cli/shell/coordinator.js.map +1 -1
  114. package/dist/cli/shell/index.d.ts.map +1 -1
  115. package/dist/cli/shell/index.js +12 -6
  116. package/dist/cli/shell/index.js.map +1 -1
  117. package/dist/cli/shell/lifecycle.d.ts.map +1 -1
  118. package/dist/cli/shell/lifecycle.js +12 -7
  119. package/dist/cli/shell/lifecycle.js.map +1 -1
  120. package/dist/cli/shell/session-store.d.ts +4 -4
  121. package/dist/cli/shell/session-store.d.ts.map +1 -1
  122. package/dist/cli/shell/session-store.js +11 -11
  123. package/dist/cli/shell/session-store.js.map +1 -1
  124. package/dist/cli-entry.js +125 -46
  125. package/dist/cli-entry.js.map +1 -1
  126. package/package.json +4 -3
  127. package/scripts/patch-esm-imports.mjs +3 -1
  128. package/templates/after-agent-reference.md +2 -2
  129. package/templates/fact-checker-policy.md +104 -0
  130. package/templates/scribe-charter.md +1 -1
  131. package/templates/skills/cross-squad/SKILL.md +66 -6
  132. package/templates/skills/cross-squad-communication/SKILL.md +399 -0
  133. package/templates/skills/fact-checking/SKILL.md +61 -0
  134. package/templates/skills/release-process/SKILL.md +2 -2
  135. package/templates/skills/{squad-commands → squad}/SKILL.md +6 -10
  136. package/templates/skills/squad-help/SKILL.md +97 -0
  137. package/templates/skills/squad-version-check/SKILL.md +9 -0
  138. package/templates/skills/tiered-memory/SKILL.md +31 -44
  139. package/templates/spawn-reference.md +1 -2
  140. package/templates/squad.agent.md.template +141 -18
  141. package/templates/workflow-wiring-appendix-a-code-reviewer.md +131 -0
  142. package/templates/workflow-wiring-appendix-b-documenter.md +140 -0
  143. package/templates/workflow-wiring-guide.md +276 -0
  144. package/templates/workflows/squad-heartbeat.yml +167 -167
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Effective squad directory resolution — external state aware.
3
+ *
4
+ * Wraps detectSquadDir() to follow the config.json stateLocation marker
5
+ * when state has been externalized via `squad externalize`.
6
+ *
7
+ * @module cli/core/effective-squad-dir
8
+ */
9
+ import { detectSquadDir } from './detect-squad-dir.js';
10
+ import { loadDirConfig, resolveExternalStateDir } from '@bradygaster/squad-sdk';
11
+ /**
12
+ * Resolve the effective state directory from a local .squad/ path.
13
+ *
14
+ * If `.squad/config.json` has `stateLocation: 'external'` and a valid
15
+ * `projectKey`, returns the external state directory. Otherwise returns
16
+ * the original `squadDirPath` unchanged.
17
+ */
18
+ export function resolveStateDir(squadDirPath) {
19
+ const config = loadDirConfig(squadDirPath);
20
+ if (config?.stateLocation === 'external' && config.projectKey) {
21
+ return resolveExternalStateDir(config.projectKey, false);
22
+ }
23
+ return squadDirPath;
24
+ }
25
+ /**
26
+ * Detect the squad directory and resolve the effective state dir.
27
+ *
28
+ * Combines detectSquadDir() (zero-dependency bootstrap) with external
29
+ * state resolution from config.json. Use `stateDir` for reading state
30
+ * files (team.md, routing.md, agents/, plugins/, etc.) and `local.path`
31
+ * for non-state files that remain in the working tree.
32
+ */
33
+ export function effectiveSquadDir(dest) {
34
+ const local = detectSquadDir(dest);
35
+ return { local, stateDir: resolveStateDir(local.path) };
36
+ }
37
+ //# sourceMappingURL=effective-squad-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-squad-dir.js","sourceRoot":"","sources":["../../../src/cli/core/effective-squad-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9D,OAAO,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/core/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED,gFAAgF;AAChF,wBAAgB,aAAa,IAAI,OAAO,CAMvC;AAMD,gFAAgF;AAChF,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AA8BD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgRvF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/core/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED,gFAAgF;AAChF,wBAAgB,aAAa,IAAI,OAAO,CAMvC;AAMD,gFAAgF;AAChF,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AA8BD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgYvF"}
@@ -12,6 +12,11 @@ import { detectProjectType } from './project-type.js';
12
12
  import { getPackageVersion, stampVersion } from './version.js';
13
13
  import { initSquad as sdkInitSquad, cleanupOrphanInitPrompt, ensurePersonalSquadDir, resolvePersonalSquadDir, clearResolveSquadCache } from '@bradygaster/squad-sdk';
14
14
  import { installGitHooks } from '../commands/install-hooks.js';
15
+ import { liftInitMutableStateOntoOrphan } from '../commands/migrate-backend.js';
16
+ import { resolveSquadStateMcpSpec } from './mcp-spec.js';
17
+ import { describeMcpSpec } from './upgrade.js';
18
+ import { ensureSquadStateMcpInRoot, tombstoneStaleSquadStateInProjectMcp } from './mcp-root.js';
19
+ import { readTeamMd, writeTeamMd, hasCopilot, insertCopilotSection, } from './team-md.js';
15
20
  const storage = new FSStorageProvider();
16
21
  const CYAN = '\x1b[36m';
17
22
  /**
@@ -181,6 +186,11 @@ export async function runInit(dest, options = {}) {
181
186
  name: 'Rai',
182
187
  role: 'Rai',
183
188
  displayName: 'Rai',
189
+ },
190
+ {
191
+ name: 'fact-checker',
192
+ role: 'fact-checker',
193
+ displayName: 'Fact Checker',
184
194
  }
185
195
  ],
186
196
  configFormat: options.sdk ? 'sdk' : 'markdown',
@@ -287,12 +297,74 @@ export async function runInit(dest, options = {}) {
287
297
  }
288
298
  // Install git hooks for automatic state sync on push/pull
289
299
  installGitHooks(dest, { force: false });
300
+ // INSIDER3-INIT-LEAK fix: the SDK already wrote decisions.md and
301
+ // agents/<n>/history.md into the working tree (it had no knowledge of
302
+ // the backend choice at the time). Lift those mutable files onto the
303
+ // squad-state orphan branch and remove the working-tree copies so the
304
+ // backend is the single source of truth post-init.
305
+ try {
306
+ const lifted = liftInitMutableStateOntoOrphan(dest);
307
+ if (lifted.length > 0) {
308
+ success(`migrated ${lifted.length} mutable state file(s) onto squad-state branch (removed from working tree)`);
309
+ }
310
+ }
311
+ catch (err) {
312
+ console.warn(`${YELLOW}⚠ Could not lift mutable state onto squad-state branch: ${err instanceof Error ? err.message : err}${RESET}`);
313
+ }
314
+ // GAP-2 fix: SDK init skips .copilot/mcp-config.json when it already
315
+ // exists (e.g. partially-squadified repo or pre-existing Copilot setup),
316
+ // leaving the bridge unwired. Force-insert/pin the squad_state entry so
317
+ // the MCP server is reachable regardless of pre-existing config.
318
+ // iter-8: write squad_state to repo-root `.mcp.json` (auto-loaded by
319
+ // Copilot CLI ≥1.0.59, which walks up from cwd to git root finding
320
+ // .mcp.json files — see sdk/index.js loader) and tombstone any
321
+ // stale project-level entry left by the SDK init writer in
322
+ // `.copilot/mcp-config.json`. No HOME modifications.
323
+ try {
324
+ const mcpSpec = await resolveSquadStateMcpSpec(getPackageVersion());
325
+ const rootResult = ensureSquadStateMcpInRoot(dest, getPackageVersion(), mcpSpec);
326
+ if (rootResult.written) {
327
+ success(`installed squad_state MCP server to .mcp.json (${describeMcpSpec(mcpSpec)}) — Copilot CLI will auto-load on next invocation`);
328
+ console.log(`${DIM} to remove later: edit ${rootResult.path} and delete squad_state${RESET}`);
329
+ }
330
+ const tomb = tombstoneStaleSquadStateInProjectMcp(dest);
331
+ if (tomb.removed) {
332
+ success(`removed stale squad_state from ${tomb.path} (now lives in .mcp.json)`);
333
+ }
334
+ }
335
+ catch (err) {
336
+ console.warn(`${YELLOW}⚠ Could not install squad_state MCP entry in .mcp.json: ${err instanceof Error ? err.message : err}${RESET}`);
337
+ }
290
338
  }
291
339
  }
292
340
  else {
293
341
  console.warn(`${YELLOW}⚠ Unknown state backend "${options.stateBackend}". Using default (local).${RESET}`);
294
342
  }
295
343
  }
344
+ // iter-8: unconditionally mirror repo-root `.mcp.json` write + tombstone
345
+ // for vanilla `squad init` (no --state-backend flag) so the squad_state
346
+ // MCP entry is reachable regardless of init path. No HOME modifications.
347
+ try {
348
+ const mcpSpec = await resolveSquadStateMcpSpec(version);
349
+ const rootResult = ensureSquadStateMcpInRoot(dest, version, mcpSpec);
350
+ if (rootResult.written) {
351
+ success(`installed squad_state MCP server to .mcp.json (${describeMcpSpec(mcpSpec)}) — Copilot CLI will auto-load on next invocation`);
352
+ }
353
+ // iter-8: do NOT write to ~/.copilot/mcp-config.json. The repo-root
354
+ // .mcp.json write above is sufficient for Copilot CLI ≥1.0.59 (which
355
+ // walks up from cwd to git root looking for .mcp.json) AND for
356
+ // `copilot -p` invocations launched from the project root. Users who
357
+ // launch `copilot -p` from outside the project root should use
358
+ // `--additional-mcp-config @.mcp.json` (already documented at the end
359
+ // of this command). See bradygaster/squad#1296.
360
+ const tomb = tombstoneStaleSquadStateInProjectMcp(dest);
361
+ if (tomb.removed) {
362
+ success(`removed stale squad_state from ${tomb.path} (now lives in .mcp.json)`);
363
+ }
364
+ }
365
+ catch {
366
+ // best-effort: .mcp.json write failure does not block init
367
+ }
296
368
  // Report .init-prompt storage
297
369
  if (options.prompt) {
298
370
  success(`.init-prompt stored — team will be cast when you run ${CYAN}${BOLD}copilot --agent squad${RESET}`);
@@ -307,6 +379,48 @@ export async function runInit(dest, options = {}) {
307
379
  // Files are already relative to teamRoot, just display as-is
308
380
  console.log(`${DIM}${file} already exists — skipping${RESET}`);
309
381
  }
382
+ // ── Copilot agent prompt ───────────────────────────────────────────
383
+ // Ask if the user wants to add @copilot as an autonomous team member.
384
+ // This enables .github/copilot-instructions.md and adds Coding Agent
385
+ // to the team roster, allowing squad-labeled issues to be auto-assigned.
386
+ const teamContent = readTeamMd(squadDir);
387
+ if (!hasCopilot(teamContent)) {
388
+ if (process.stdin.isTTY) {
389
+ const { createInterface } = await import('node:readline/promises');
390
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
391
+ try {
392
+ console.log();
393
+ const answer = (await rl.question(` Add ${BOLD}@copilot${RESET} as an autonomous team member? [Y/n]: `)).trim().toLowerCase();
394
+ if (answer === '' || answer === 'y' || answer === 'yes') {
395
+ const updated = insertCopilotSection(teamContent, false);
396
+ writeTeamMd(squadDir, updated);
397
+ success('Added @copilot (Coding Agent) to team roster');
398
+ // Copy copilot-instructions.md from templates
399
+ const currentFileUrl = new URL(import.meta.url);
400
+ const currentFilePath = currentFileUrl.pathname.startsWith('/') && process.platform === 'win32'
401
+ ? currentFileUrl.pathname.substring(1)
402
+ : currentFileUrl.pathname;
403
+ const templatesSrc = path.resolve(path.dirname(currentFilePath), '..', '..', '..', 'templates');
404
+ const instructionsSrc = path.join(templatesSrc, 'copilot-instructions.md');
405
+ const instructionsDest = path.join(dest, '.github', 'copilot-instructions.md');
406
+ if (storage.existsSync(instructionsSrc) && !storage.existsSync(instructionsDest)) {
407
+ storage.mkdirSync(path.dirname(instructionsDest), { recursive: true });
408
+ storage.copySync(instructionsSrc, instructionsDest);
409
+ success('.github/copilot-instructions.md');
410
+ }
411
+ }
412
+ else {
413
+ console.log(`${DIM} Skipped — add later with: squad copilot enable${RESET}`);
414
+ }
415
+ }
416
+ finally {
417
+ rl.close();
418
+ }
419
+ }
420
+ else {
421
+ console.log(`${DIM} Non-interactive mode — skipping @copilot setup. Add later with: squad copilot enable${RESET}`);
422
+ }
423
+ }
310
424
  // ── Celebration ceremony ──────────────────────────────────────────
311
425
  console.log();
312
426
  await typewrite(`${CYAN}${BOLD}◆ SQUAD${RESET}`, 10);
@@ -319,6 +433,9 @@ export async function runInit(dest, options = {}) {
319
433
  console.log();
320
434
  console.log(`${GREEN}${BOLD}Squad initialized.${RESET} Run ${CYAN}${BOLD}copilot --agent squad${RESET} and tell it what you're building.`);
321
435
  console.log();
436
+ console.log(`${DIM}Tip: for non-interactive scripts that need squad_state tools, add to package.json:${RESET}`);
437
+ console.log(`${DIM} "squad:copilot": "copilot --agent squad --additional-mcp-config @.mcp.json"${RESET}`);
438
+ console.log();
322
439
  // ── Personal squad bridge ───────────────────────────────────────────
323
440
  if (options.isGlobal) {
324
441
  // Global init: ensure personal-squad/ directory exists alongside .squad/
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/core/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/core/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * iter-8: repo-root `.mcp.json` writer for the squad_state MCP entry.
3
+ *
4
+ * Background: iter-7 wrote `squad_state_<hash>` into the user's HOME
5
+ * `~/.copilot/mcp-config.json`. That polluted HOME with one entry per
6
+ * Squad project and required a stale-entry GC that we never built. It
7
+ * also touched a file outside the project, which is surprising for
8
+ * `squad init` / `squad upgrade`.
9
+ *
10
+ * iter-8 flips it back inside the project: we write `squad_state` to a
11
+ * repo-root `.mcp.json` under the plain (un-namespaced) `squad_state`
12
+ * key. Copilot CLI ≥1.0.59 auto-loads `.mcp.json` walking up from cwd to
13
+ * the git root, so the entry is picked up by bare
14
+ * `copilot --yolo --autopilot --agent squad ...` invocations with no
15
+ * wrapper script and no HOME modifications.
16
+ *
17
+ * `tombstoneStaleSquadStateInProjectMcp` keeps removing any pre-existing
18
+ * `squad_state` entry from `.copilot/mcp-config.json` (left over by the
19
+ * SDK init writer in older Squad versions), so we have exactly one
20
+ * authoritative `squad_state` definition per project.
21
+ *
22
+ * Safety: we refuse to overwrite a malformed `.mcp.json` rather than
23
+ * silently clobber a user-edited file; other `mcpServers.*` entries are
24
+ * preserved byte-for-byte through the JSON round-trip.
25
+ *
26
+ * @module cli/core/mcp-root
27
+ */
28
+ import type { SquadStateMcpSpec } from './mcp-spec.js';
29
+ /** Resolve the repo-root `.mcp.json` path for a Squad project dest. */
30
+ export declare function getProjectMcpJsonPath(dest: string): string;
31
+ export interface EnsureRootResult {
32
+ written: boolean;
33
+ key: string;
34
+ path: string;
35
+ }
36
+ /**
37
+ * Insert/update the `squad_state` entry in the project's repo-root
38
+ * `.mcp.json`. Preserves all other entries unchanged.
39
+ *
40
+ * @param dest Squad project root (absolute or relative).
41
+ * @param _cliVersion Reserved for forensic metadata (unused — Copilot
42
+ * CLI does not currently surface extra fields).
43
+ * @param spec Pinned/insider command + args from
44
+ * `resolveSquadStateMcpSpec`.
45
+ */
46
+ export declare function ensureSquadStateMcpInRoot(dest: string, _cliVersion: string, spec: SquadStateMcpSpec): EnsureRootResult;
47
+ export interface TombstoneResult {
48
+ removed: boolean;
49
+ path: string;
50
+ }
51
+ /**
52
+ * Remove a stale top-level `squad_state` entry from the project
53
+ * `.copilot/mcp-config.json` left there by older Squad versions or the
54
+ * SDK init writer. Preserves all sibling entries.
55
+ *
56
+ * Best-effort: silently no-ops on a missing or unparseable file rather
57
+ * than risking a partial overwrite of user-managed MCP config.
58
+ */
59
+ export declare function tombstoneStaleSquadStateInProjectMcp(dest: string): TombstoneResult;
60
+ /**
61
+ * Pin `squad_state` to user-level `~/.copilot/mcp-config.json` so that
62
+ * external `copilot -p` invocations (which skip workspace `.mcp.json` due
63
+ * to the folder-trust security gate) still have access to squad_state tools.
64
+ *
65
+ * Unlike the repo-root writer, this writes a SINGLE entry keyed by the
66
+ * project's absolute path hash to avoid collisions when multiple Squad
67
+ * projects coexist. The key format is `squad_state_<shortHash>`.
68
+ *
69
+ * Best-effort: silently no-ops on parse failure to avoid corrupting the
70
+ * user's hand-edited config.
71
+ */
72
+ export declare function ensureSquadStateMcpInUserConfig(dest: string, spec: SquadStateMcpSpec): EnsureRootResult;
73
+ //# sourceMappingURL=mcp-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-root.d.ts","sourceRoot":"","sources":["../../../src/cli/core/mcp-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAcD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,CAsDlB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAuBlF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,CAyDlB"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * iter-8: repo-root `.mcp.json` writer for the squad_state MCP entry.
3
+ *
4
+ * Background: iter-7 wrote `squad_state_<hash>` into the user's HOME
5
+ * `~/.copilot/mcp-config.json`. That polluted HOME with one entry per
6
+ * Squad project and required a stale-entry GC that we never built. It
7
+ * also touched a file outside the project, which is surprising for
8
+ * `squad init` / `squad upgrade`.
9
+ *
10
+ * iter-8 flips it back inside the project: we write `squad_state` to a
11
+ * repo-root `.mcp.json` under the plain (un-namespaced) `squad_state`
12
+ * key. Copilot CLI ≥1.0.59 auto-loads `.mcp.json` walking up from cwd to
13
+ * the git root, so the entry is picked up by bare
14
+ * `copilot --yolo --autopilot --agent squad ...` invocations with no
15
+ * wrapper script and no HOME modifications.
16
+ *
17
+ * `tombstoneStaleSquadStateInProjectMcp` keeps removing any pre-existing
18
+ * `squad_state` entry from `.copilot/mcp-config.json` (left over by the
19
+ * SDK init writer in older Squad versions), so we have exactly one
20
+ * authoritative `squad_state` definition per project.
21
+ *
22
+ * Safety: we refuse to overwrite a malformed `.mcp.json` rather than
23
+ * silently clobber a user-edited file; other `mcpServers.*` entries are
24
+ * preserved byte-for-byte through the JSON round-trip.
25
+ *
26
+ * @module cli/core/mcp-root
27
+ */
28
+ import path from 'node:path';
29
+ import { FSStorageProvider } from '@bradygaster/squad-sdk';
30
+ const storage = new FSStorageProvider();
31
+ /** Resolve the repo-root `.mcp.json` path for a Squad project dest. */
32
+ export function getProjectMcpJsonPath(dest) {
33
+ return path.join(dest, '.mcp.json');
34
+ }
35
+ /**
36
+ * Insert/update the `squad_state` entry in the project's repo-root
37
+ * `.mcp.json`. Preserves all other entries unchanged.
38
+ *
39
+ * @param dest Squad project root (absolute or relative).
40
+ * @param _cliVersion Reserved for forensic metadata (unused — Copilot
41
+ * CLI does not currently surface extra fields).
42
+ * @param spec Pinned/insider command + args from
43
+ * `resolveSquadStateMcpSpec`.
44
+ */
45
+ export function ensureSquadStateMcpInRoot(dest, _cliVersion, spec) {
46
+ const key = 'squad_state';
47
+ const cfgPath = getProjectMcpJsonPath(dest);
48
+ let parsed;
49
+ if (storage.existsSync(cfgPath)) {
50
+ const raw = storage.readSync(cfgPath) ?? '{}';
51
+ try {
52
+ const obj = JSON.parse(raw);
53
+ if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
54
+ throw new Error(`${cfgPath}: root must be a JSON object`);
55
+ }
56
+ parsed = obj;
57
+ }
58
+ catch (err) {
59
+ throw new Error(`Refusing to overwrite malformed ${cfgPath}: ${err instanceof Error ? err.message : String(err)}`);
60
+ }
61
+ }
62
+ else {
63
+ parsed = {};
64
+ }
65
+ if (!parsed.mcpServers || typeof parsed.mcpServers !== 'object') {
66
+ parsed.mcpServers = {};
67
+ }
68
+ const existing = parsed.mcpServers[key];
69
+ const desired = {
70
+ command: spec.command,
71
+ args: [...spec.args],
72
+ env: {},
73
+ tools: ['*'],
74
+ };
75
+ if (existing &&
76
+ existing.command === desired.command &&
77
+ Array.isArray(existing.args) &&
78
+ existing.args.length === desired.args.length &&
79
+ existing.args.every((a, i) => a === desired.args[i]) &&
80
+ existing.env &&
81
+ typeof existing.env === 'object' &&
82
+ Object.keys(existing.env).length === 0 &&
83
+ Array.isArray(existing.tools) &&
84
+ existing.tools.length === 1 &&
85
+ existing.tools[0] === '*') {
86
+ return { written: false, key, path: cfgPath };
87
+ }
88
+ parsed.mcpServers[key] = desired;
89
+ storage.writeSync(cfgPath, JSON.stringify(parsed, null, 2) + '\n');
90
+ return { written: true, key, path: cfgPath };
91
+ }
92
+ /**
93
+ * Remove a stale top-level `squad_state` entry from the project
94
+ * `.copilot/mcp-config.json` left there by older Squad versions or the
95
+ * SDK init writer. Preserves all sibling entries.
96
+ *
97
+ * Best-effort: silently no-ops on a missing or unparseable file rather
98
+ * than risking a partial overwrite of user-managed MCP config.
99
+ */
100
+ export function tombstoneStaleSquadStateInProjectMcp(dest) {
101
+ const cfgPath = path.join(dest, '.copilot', 'mcp-config.json');
102
+ if (!storage.existsSync(cfgPath))
103
+ return { removed: false, path: cfgPath };
104
+ let parsed;
105
+ try {
106
+ parsed = JSON.parse(storage.readSync(cfgPath) ?? '{}');
107
+ }
108
+ catch {
109
+ return { removed: false, path: cfgPath };
110
+ }
111
+ if (!parsed || typeof parsed !== 'object')
112
+ return { removed: false, path: cfgPath };
113
+ const config = parsed;
114
+ if (!config.mcpServers || typeof config.mcpServers !== 'object') {
115
+ return { removed: false, path: cfgPath };
116
+ }
117
+ if (!('squad_state' in config.mcpServers)) {
118
+ return { removed: false, path: cfgPath };
119
+ }
120
+ delete config.mcpServers.squad_state;
121
+ storage.writeSync(cfgPath, JSON.stringify(config, null, 2) + '\n');
122
+ return { removed: true, path: cfgPath };
123
+ }
124
+ /**
125
+ * Pin `squad_state` to user-level `~/.copilot/mcp-config.json` so that
126
+ * external `copilot -p` invocations (which skip workspace `.mcp.json` due
127
+ * to the folder-trust security gate) still have access to squad_state tools.
128
+ *
129
+ * Unlike the repo-root writer, this writes a SINGLE entry keyed by the
130
+ * project's absolute path hash to avoid collisions when multiple Squad
131
+ * projects coexist. The key format is `squad_state_<shortHash>`.
132
+ *
133
+ * Best-effort: silently no-ops on parse failure to avoid corrupting the
134
+ * user's hand-edited config.
135
+ */
136
+ export function ensureSquadStateMcpInUserConfig(dest, spec) {
137
+ const homedir = process.env.HOME || process.env.USERPROFILE || '';
138
+ if (!homedir)
139
+ return { written: false, key: '', path: '' };
140
+ const cfgPath = path.join(homedir, '.copilot', 'mcp-config.json');
141
+ // Stable short hash of the project path for the key suffix
142
+ const hash = simpleHash(path.resolve(dest));
143
+ const key = `squad_state_${hash}`;
144
+ let parsed;
145
+ if (storage.existsSync(cfgPath)) {
146
+ const raw = storage.readSync(cfgPath) ?? '{}';
147
+ try {
148
+ const obj = JSON.parse(raw);
149
+ if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
150
+ return { written: false, key, path: cfgPath };
151
+ }
152
+ parsed = obj;
153
+ }
154
+ catch {
155
+ return { written: false, key, path: cfgPath };
156
+ }
157
+ }
158
+ else {
159
+ parsed = {};
160
+ }
161
+ if (!parsed.mcpServers || typeof parsed.mcpServers !== 'object') {
162
+ parsed.mcpServers = {};
163
+ }
164
+ const existing = parsed.mcpServers[key];
165
+ const desired = {
166
+ command: spec.command,
167
+ args: [...spec.args],
168
+ env: {},
169
+ tools: ['*'],
170
+ };
171
+ if (existing &&
172
+ existing.command === desired.command &&
173
+ Array.isArray(existing.args) &&
174
+ existing.args.length === desired.args.length &&
175
+ existing.args.every((a, i) => a === desired.args[i])) {
176
+ return { written: false, key, path: cfgPath };
177
+ }
178
+ parsed.mcpServers[key] = desired;
179
+ // Ensure parent directory exists
180
+ const cfgDir = path.dirname(cfgPath);
181
+ if (!storage.existsSync(cfgDir)) {
182
+ storage.mkdirSync(cfgDir, { recursive: true });
183
+ }
184
+ storage.writeSync(cfgPath, JSON.stringify(parsed, null, 2) + '\n');
185
+ return { written: true, key, path: cfgPath };
186
+ }
187
+ /** Simple deterministic 8-char hex hash for path-based keys. */
188
+ function simpleHash(input) {
189
+ let h = 0;
190
+ for (let i = 0; i < input.length; i++) {
191
+ h = ((h << 5) - h + input.charCodeAt(i)) | 0;
192
+ }
193
+ return (h >>> 0).toString(16).padStart(8, '0');
194
+ }
195
+ //# sourceMappingURL=mcp-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-root.js","sourceRoot":"","sources":["../../../src/cli/core/mcp-root.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Shared helper for resolving the `squad_state` MCP launch spec.
3
+ *
4
+ * Used by BOTH `squad init` and `squad upgrade` so the runtime-MCP fallback
5
+ * behavior stays symmetric.
6
+ *
7
+ * Resolution order (iter-7, simplified to 2 tiers):
8
+ * 1. If `cliVersion` IS published on npm → `npx -y <pkg>@<version> state-mcp`
9
+ * (clean cross-machine UX, the steady-state happy path).
10
+ * 2. Else → `npx -y <pkg>@insider state-mcp`. We do NOT probe the registry;
11
+ * the `@insider` dist-tag is kept fresh by the publish flow and tier-2
12
+ * is the de-facto fallback whenever a pinned preview version isn't yet
13
+ * published. If it really isn't reachable at runtime, `npx` will fail
14
+ * loudly — same observable behavior as pre-iter-5.
15
+ *
16
+ * Iter-6 had two additional tiers (a local-install path resolver and a hard
17
+ * error) that the smoke data showed never fired in practice: `@insider` is
18
+ * always current, so tier-2 always wins before tier-3 is reached. Deleted
19
+ * in iter-7 per the "verify you didn't add code that's no longer needed"
20
+ * mandate.
21
+ */
22
+ export interface SquadStateMcpSpec {
23
+ /** Executable to spawn (always `npx` after iter-7). */
24
+ command: string;
25
+ /** Argv for the executable. */
26
+ args: string[];
27
+ /** How the spec was resolved — useful for logging + tests. */
28
+ source: 'pinned' | 'insider';
29
+ }
30
+ export interface ResolveSquadStateMcpSpecOptions {
31
+ /**
32
+ * Override the published-version check. Tests inject this to avoid real
33
+ * network traffic.
34
+ */
35
+ publishedCheck?: (version: string) => Promise<boolean>;
36
+ }
37
+ /** Reset internal caches (test-only helper; retained for compat). */
38
+ export declare function _resetMcpSpecCache(): void;
39
+ /**
40
+ * Resolve the squad_state MCP launch spec given the running CLI version.
41
+ *
42
+ * Always returns a spec. If the pinned version is unpublished we fall back
43
+ * to `@insider`; if even that turns out to be unreachable at runtime, `npx`
44
+ * will fail visibly when Copilot launches the MCP server — same behavior
45
+ * as pre-iter-5.
46
+ */
47
+ export declare function resolveSquadStateMcpSpec(cliVersion: string, options?: ResolveSquadStateMcpSpecOptions): Promise<SquadStateMcpSpec>;
48
+ //# sourceMappingURL=mcp-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-spec.d.ts","sourceRoot":"","sources":["../../../src/cli/core/mcp-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AAID,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAsB5B"}