@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.
- package/CHANGELOG.md +555 -0
- package/README.md +5 -5
- package/dist/cli/commands/build.js +3 -3
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/copilot-bridge.d.ts.map +1 -1
- package/dist/cli/commands/copilot-bridge.js +5 -1
- package/dist/cli/commands/copilot-bridge.js.map +1 -1
- package/dist/cli/commands/cross-squad.d.ts +15 -2
- package/dist/cli/commands/cross-squad.d.ts.map +1 -1
- package/dist/cli/commands/cross-squad.js +78 -4
- package/dist/cli/commands/cross-squad.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +6 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +92 -6
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-hooks.d.ts.map +1 -1
- package/dist/cli/commands/install-hooks.js +50 -5
- package/dist/cli/commands/install-hooks.js.map +1 -1
- package/dist/cli/commands/loop.d.ts.map +1 -1
- package/dist/cli/commands/loop.js +7 -5
- package/dist/cli/commands/loop.js.map +1 -1
- package/dist/cli/commands/migrate-backend.d.ts +36 -5
- package/dist/cli/commands/migrate-backend.d.ts.map +1 -1
- package/dist/cli/commands/migrate-backend.js +250 -40
- package/dist/cli/commands/migrate-backend.js.map +1 -1
- package/dist/cli/commands/notes.d.ts +27 -0
- package/dist/cli/commands/notes.d.ts.map +1 -0
- package/dist/cli/commands/notes.js +222 -0
- package/dist/cli/commands/notes.js.map +1 -0
- package/dist/cli/commands/plugin.js +3 -3
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +31 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +498 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +9 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/state-mcp.d.ts.map +1 -1
- package/dist/cli/commands/state-mcp.js +6 -0
- package/dist/cli/commands/state-mcp.js.map +1 -1
- package/dist/cli/commands/watch/agent-spawn.d.ts +62 -0
- package/dist/cli/commands/watch/agent-spawn.d.ts.map +1 -0
- package/dist/cli/commands/watch/agent-spawn.js +127 -0
- package/dist/cli/commands/watch/agent-spawn.js.map +1 -0
- package/dist/cli/commands/watch/capabilities/decision-hygiene.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/decision-hygiene.js +2 -1
- package/dist/cli/commands/watch/capabilities/decision-hygiene.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/execute.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/execute.js +2 -1
- package/dist/cli/commands/watch/capabilities/execute.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/index.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/index.js +2 -0
- package/dist/cli/commands/watch/capabilities/index.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/monitor-email.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/monitor-email.js +2 -1
- package/dist/cli/commands/watch/capabilities/monitor-email.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/monitor-teams.js +2 -1
- package/dist/cli/commands/watch/capabilities/monitor-teams.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/notes-promote.d.ts +11 -0
- package/dist/cli/commands/watch/capabilities/notes-promote.d.ts.map +1 -0
- package/dist/cli/commands/watch/capabilities/notes-promote.js +124 -0
- package/dist/cli/commands/watch/capabilities/notes-promote.js.map +1 -0
- package/dist/cli/commands/watch/capabilities/retro.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/retro.js +2 -1
- package/dist/cli/commands/watch/capabilities/retro.js.map +1 -1
- package/dist/cli/commands/watch/capabilities/wave-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/watch/capabilities/wave-dispatch.js +2 -1
- package/dist/cli/commands/watch/capabilities/wave-dispatch.js.map +1 -1
- package/dist/cli/commands/watch/index.d.ts.map +1 -1
- package/dist/cli/commands/watch/index.js +7 -6
- package/dist/cli/commands/watch/index.js.map +1 -1
- package/dist/cli/core/cast.d.ts.map +1 -1
- package/dist/cli/core/cast.js +84 -0
- package/dist/cli/core/cast.js.map +1 -1
- package/dist/cli/core/command-help.d.ts +44 -0
- package/dist/cli/core/command-help.d.ts.map +1 -0
- package/dist/cli/core/command-help.js +401 -0
- package/dist/cli/core/command-help.js.map +1 -0
- package/dist/cli/core/copilot-invocation.d.ts +57 -0
- package/dist/cli/core/copilot-invocation.d.ts.map +1 -0
- package/dist/cli/core/copilot-invocation.js +84 -0
- package/dist/cli/core/copilot-invocation.js.map +1 -0
- package/dist/cli/core/effective-squad-dir.d.ts +33 -0
- package/dist/cli/core/effective-squad-dir.d.ts.map +1 -0
- package/dist/cli/core/effective-squad-dir.js +37 -0
- package/dist/cli/core/effective-squad-dir.js.map +1 -0
- package/dist/cli/core/init.d.ts.map +1 -1
- package/dist/cli/core/init.js +117 -0
- package/dist/cli/core/init.js.map +1 -1
- package/dist/cli/core/mcp-root.d.ts +73 -0
- package/dist/cli/core/mcp-root.d.ts.map +1 -0
- package/dist/cli/core/mcp-root.js +195 -0
- package/dist/cli/core/mcp-root.js.map +1 -0
- package/dist/cli/core/mcp-spec.d.ts +48 -0
- package/dist/cli/core/mcp-spec.d.ts.map +1 -0
- package/dist/cli/core/mcp-spec.js +62 -0
- package/dist/cli/core/mcp-spec.js.map +1 -0
- package/dist/cli/core/npm-registry.d.ts +25 -0
- package/dist/cli/core/npm-registry.d.ts.map +1 -0
- package/dist/cli/core/npm-registry.js +65 -0
- package/dist/cli/core/npm-registry.js.map +1 -0
- package/dist/cli/core/templates.d.ts.map +1 -1
- package/dist/cli/core/templates.js +77 -30
- package/dist/cli/core/templates.js.map +1 -1
- package/dist/cli/core/upgrade.d.ts +28 -0
- package/dist/cli/core/upgrade.d.ts.map +1 -1
- package/dist/cli/core/upgrade.js +249 -18
- package/dist/cli/core/upgrade.js.map +1 -1
- package/dist/cli/shell/coordinator.d.ts.map +1 -1
- package/dist/cli/shell/coordinator.js +9 -3
- package/dist/cli/shell/coordinator.js.map +1 -1
- package/dist/cli/shell/index.d.ts.map +1 -1
- package/dist/cli/shell/index.js +12 -6
- package/dist/cli/shell/index.js.map +1 -1
- package/dist/cli/shell/lifecycle.d.ts.map +1 -1
- package/dist/cli/shell/lifecycle.js +12 -7
- package/dist/cli/shell/lifecycle.js.map +1 -1
- package/dist/cli/shell/session-store.d.ts +4 -4
- package/dist/cli/shell/session-store.d.ts.map +1 -1
- package/dist/cli/shell/session-store.js +11 -11
- package/dist/cli/shell/session-store.js.map +1 -1
- package/dist/cli-entry.js +125 -46
- package/dist/cli-entry.js.map +1 -1
- package/package.json +4 -3
- package/scripts/patch-esm-imports.mjs +3 -1
- package/templates/after-agent-reference.md +2 -2
- package/templates/fact-checker-policy.md +104 -0
- package/templates/scribe-charter.md +1 -1
- package/templates/skills/cross-squad/SKILL.md +66 -6
- package/templates/skills/cross-squad-communication/SKILL.md +399 -0
- package/templates/skills/fact-checking/SKILL.md +61 -0
- package/templates/skills/release-process/SKILL.md +2 -2
- package/templates/skills/{squad-commands → squad}/SKILL.md +6 -10
- package/templates/skills/squad-help/SKILL.md +97 -0
- package/templates/skills/squad-version-check/SKILL.md +9 -0
- package/templates/skills/tiered-memory/SKILL.md +31 -44
- package/templates/spawn-reference.md +1 -2
- package/templates/squad.agent.md.template +141 -18
- package/templates/workflow-wiring-appendix-a-code-reviewer.md +131 -0
- package/templates/workflow-wiring-appendix-b-documenter.md +140 -0
- package/templates/workflow-wiring-guide.md +276 -0
- 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;
|
|
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"}
|
package/dist/cli/core/init.js
CHANGED
|
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,EAAoB,MAAM,wBAAwB,CAAC;AACvL,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,oCAAoC,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAExC,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;YACpE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC9D,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7D,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM;QAC9B,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,SAAiB,CAAC;IAC9D,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,WAAW,CAAC,KAAe,EAAE,UAAkB,EAAE;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE;YAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,cAAc,GAAG;IACrB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACxC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACxC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC3C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE;CAC/C,CAAC;AAEF;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,yEAAyE,KAAK,EAAE,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,yFAAyF,KAAK,EAAE,CAAC,CAAC;IACvH,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,+DAA+D,KAAK,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAwBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,UAA0B,EAAE;IACtE,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IAEpC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,MAAM,SAAS,CAAC,GAAG,GAAG,yBAAyB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sBAAsB;IACtB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE5C,oEAAoE;IACpE,6DAA6D;IAC7D,8DAA8D;IAC9D,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,6CAA6C;IACvE,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,aAAa,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,8CAA8C,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0BAA0B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,+DAA+D;QAC/D,mEAAmE;QACnE,aAAa,GAAG,aAAa,CAAC;IAChC,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEvC,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,qBAAqB,YAAY,GAAG,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,mCAAmC,KAAK,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,KAAK,0CAA0C,GAAG,gBAAgB,KAAK,EAAE,CAAC,CAAC;YACtG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,KAAK,iDAAiD,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACnE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC1F,SAAS,GAAG,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC;gBACnD,CAAC;wBAAS,CAAC;oBACT,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,wDAAwD,KAAK,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,KAAK,8BAA8B,YAAY,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0BAA0B,IAAI,GAAG,IAAI,wBAAwB,KAAK,GAAG,GAAG,oCAAoC,KAAK,EAAE,CAAC,CAAC;gBACvI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,KAAK,uCAAuC,IAAI,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,sBAAsB,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAgB;QAC/B,QAAQ,EAAE,IAAI;QACd,aAAa;QACb,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY;QAChD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,OAAO;aACrB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,KAAK;aACnB;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,cAAc;aAC5B;SACF;QACD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QAC9C,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,KAAK,KAAK;QACpD,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc;QAC5E,WAAW,EAAE,WAAkB;QAC/B,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IAEF,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;IAChC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpC,gFAAgF;IAChF,kFAAkF;IAClF,6EAA6E;IAC7E,gFAAgF;IAChF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,iCAAiC;IAC3C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAErC,wEAAwE;IACxE,+EAA+E;IAC/E,2EAA2E;IAC3E,kEAAkE;IAClE,iDAAiD;IACjD,sBAAsB,EAAE,CAAC;IAEzB,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAClF,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACvD,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACnE,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,MAAM,GAA4B,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,GAAG;oBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;YAC9C,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtE,OAAO,CAAC,kBAAkB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAElD,0DAA0D;YAC1D,8FAA8F;YAC9F,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBAC9E,IAAI,CAAC;oBACH,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,wBAAwB,CAAC,EAAE;wBACvE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qBAC9D,CAAC,CAAC;oBACH,OAAO,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC;wBACH,0DAA0D;wBAC1D,MAAM,aAAa,GAAG,kIAAkI,CAAC;wBACzJ,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE;4BACrE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBACpF,CAAC,CAAC,IAAI,EAAE,CAAC;wBACV,qCAAqC;wBACrC,MAAM,SAAS,GAAG,eAAe,QAAQ,eAAe,CAAC;wBACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAC/C,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAChF,CAAC,CAAC,IAAI,EAAE,CAAC;wBACV,8CAA8C;wBAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE;4BACzG,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAC9D,CAAC,CAAC,IAAI,EAAE,CAAC;wBACV,yCAAyC;wBACzC,YAAY,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,wBAAwB,EAAE,UAAU,CAAC,EAAE;4BACxE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAC3C,CAAC,CAAC;wBACH,OAAO,CAAC,4DAA4D,CAAC,CAAC;oBACxE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;wBACpH,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,OAAO,CAAC,YAAY,+CAA+C,KAAK,EAAE,CAAC,CAAC;oBAC7G,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAExC,iEAAiE;gBACjE,sEAAsE;gBACtE,qEAAqE;gBACrE,sEAAsE;gBACtE,mDAAmD;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,OAAO,CAAC,YAAY,MAAM,CAAC,MAAM,4EAA4E,CAAC,CAAC;oBACjH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;gBACvI,CAAC;gBAED,qEAAqE;gBACrE,yEAAyE;gBACzE,wEAAwE;gBACxE,iEAAiE;gBACjE,qEAAqE;gBACrE,mEAAmE;gBACnE,+DAA+D;gBAC/D,2DAA2D;gBAC3D,qDAAqD;gBACrD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;oBACjF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,OAAO,CAAC,kDAAkD,eAAe,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;wBACvI,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,2BAA2B,UAAU,CAAC,IAAI,0BAA0B,KAAK,EAAE,CAAC,CAAC;oBACjG,CAAC;oBACD,MAAM,IAAI,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,CAAC,kCAAkC,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;gBACvI,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,4BAA4B,OAAO,CAAC,YAAY,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,kDAAkD,eAAe,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;QACzI,CAAC;QACD,oEAAoE;QACpE,qEAAqE;QACrE,+DAA+D;QAC/D,qEAAqE;QACrE,+DAA+D;QAC/D,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,IAAI,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,kCAAkC,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,wDAAwD,IAAI,GAAG,IAAI,wBAAwB,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,6DAA6D;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,6DAA6D;QAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,6BAA6B,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,yEAAyE;IACzE,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,WAAW,KAAK,wCAAwC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC/H,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBACzD,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC/B,OAAO,CAAC,8CAA8C,CAAC,CAAC;oBAExD,8CAA8C;oBAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAC7F,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;wBACtC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;oBAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAChG,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;oBAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;oBAE/E,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACjF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;wBACpD,OAAO,CAAC,iCAAiC,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,mDAAmD,KAAK,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,yFAAyF,KAAK,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,UAAU,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,EAAE;QAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,WAAW,CACf,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EACnD,EAAE,CACH,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE;QAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,qBAAqB,KAAK,QAAQ,IAAI,GAAG,IAAI,wBAAwB,KAAK,oCAAoC,CAAC,CAAC;IAC3I,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,qFAAqF,KAAK,EAAE,CAAC,CAAC;IAChH,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gFAAgF,KAAK,EAAE,CAAC,CAAC;IAC3G,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,uEAAuE;IACvE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,yEAAyE;QACzE,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,KAAK,kCAAkC,GAAG,GAAG,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,6DAA6D,KAAK,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,KAAK,yEAAyE,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,sBAAsB,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -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"}
|