specrails-core 4.9.1 → 4.10.0

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.
@@ -163,7 +163,7 @@ if (subcommand === 'init') {
163
163
  }
164
164
 
165
165
  // TUI succeeded — re-enter init with --from-config so the Node
166
- // command reads provider/tier/agent_teams from install-config.yaml.
166
+ // command reads provider/tier from install-config.yaml.
167
167
  const nextArgs = subargs
168
168
  .filter((a) => a !== '--no-tui' && a !== '--no-direct')
169
169
  .concat(['--yes', '--from-config'])
@@ -196,7 +196,6 @@ function writeInstallConfig(specrailsDir, cfg) {
196
196
  ` preset: ${cfg.modelPreset}`,
197
197
  ` defaults: { model: ${cfg.modelDefaults} }`,
198
198
  ` overrides:${overridesYaml}`,
199
- `agent_teams: ${cfg.agentTeams}`,
200
199
  '',
201
200
  ].join('\n');
202
201
 
@@ -214,7 +213,6 @@ function writeDefaultConfig(specrailsDir, provider) {
214
213
  modelPreset: 'balanced',
215
214
  modelDefaults: PROVIDER_DEFAULT_MODEL[provider] ?? 'sonnet',
216
215
  modelOverrides: {},
217
- agentTeams: false,
218
216
  });
219
217
  }
220
218
 
@@ -429,22 +427,6 @@ async function run() {
429
427
  console.log(` → Model: ${modelDefaults} (${provider} uses one model for all agents)\n`);
430
428
  }
431
429
 
432
- // ── Step 5: Agent Teams (Claude only) ──────────────────────────────────────
433
-
434
- clearScreen();
435
- console.log(` Provider: ${provider} | Tier: ${tier} | Agents: ${selectedAgents.length} | Preset: ${modelPreset}\n`);
436
-
437
- let agentTeams = false;
438
- if (provider === 'claude') {
439
- agentTeams = await select({
440
- message: 'Install Agent Teams commands? (experimental)',
441
- choices: [
442
- { value: false, name: 'No — standard single-agent workflow (recommended)' },
443
- { value: true, name: 'Yes — /specrails:team-review and :team-debug (requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)' },
444
- ],
445
- });
446
- }
447
-
448
430
  // ── Write config & exit fullscreen ──────────────────────────────────────────
449
431
 
450
432
  exitFullscreen();
@@ -457,7 +439,6 @@ async function run() {
457
439
  modelPreset,
458
440
  modelDefaults,
459
441
  modelOverrides,
460
- agentTeams,
461
442
  });
462
443
 
463
444
  console.log(`\n ✓ Config written to .specrails/install-config.yaml`);
@@ -52,7 +52,6 @@ Parse the YAML and extract:
52
52
  - `config.models.preset` — `balanced`, `budget`, or `max` (see Model Presets below)
53
53
  - `config.models.defaults.model` — default model override (overrides preset)
54
54
  - `config.models.overrides` — per-agent model overrides (highest priority)
55
- - `config.agent_teams` — boolean; whether to install team-review/team-debug commands
56
55
 
57
56
  Store all values in variables prefixed `FC_`.
58
57
 
@@ -94,7 +93,6 @@ If `FC_tier == "quick"`:
94
93
  - Generate only agents in `FC_AGENTS_SELECTED` (skip any not in the list)
95
94
  - Apply model resolution (FC1 preset/override logic) to each agent's frontmatter
96
95
  - Run all Phase 4 sub-phases (4.1, 4.2, 4.3, 4.4) normally but without interactive prompts
97
- - If `FC_agent_teams == true`, also install team-review and team-debug commands
98
96
 
99
97
  **Phase 5 (Normal):** Run Phase 5 cleanup normally.
100
98
 
@@ -52,7 +52,6 @@ export async function runInstallFramework(flags) {
52
52
  provider,
53
53
  providerDir,
54
54
  version,
55
- agentTeams: flags['agent-teams'] === true,
56
55
  swapCurrent,
57
56
  });
58
57
  if (swapCurrent) {
@@ -112,7 +111,6 @@ export async function runAssemble(flags) {
112
111
  codeRoot,
113
112
  scriptDir,
114
113
  selectedAgents,
115
- agentTeams: flags['agent-teams'] === true,
116
114
  });
117
115
  ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
118
116
  return { workspace, frameworkDir, provider, version, codeRoot, providerDir };
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../../src/installer/commands/framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../../src/installer/commands/framework.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,10 @@ export async function runInit(flags) {
20
20
  const repoRoot = path.resolve(typeof flags['root-dir'] === 'string' ? flags['root-dir'] : process.cwd());
21
21
  const autoYes = flags.yes === true;
22
22
  const skipPrereqs = process.env.SPECRAILS_SKIP_PREREQS === '1';
23
- // --from-config: read provider + tier + agent_teams from yaml.
23
+ // --from-config: read provider + tier from yaml.
24
24
  const fromConfigFlag = flags['from-config'];
25
25
  let providerHint;
26
26
  let tierHint;
27
- let agentTeamsHint = flags['agent-teams'] === true;
28
27
  let selectedAgentsHint;
29
28
  if (fromConfigFlag !== undefined) {
30
29
  const explicitPath = typeof fromConfigFlag === 'string' ? fromConfigFlag : undefined;
@@ -33,8 +32,6 @@ export async function runInit(flags) {
33
32
  if (config) {
34
33
  providerHint = config.provider;
35
34
  tierHint = config.tier;
36
- if (config.agent_teams)
37
- agentTeamsHint = true;
38
35
  selectedAgentsHint = config.agents.selected;
39
36
  info(`Loaded install config from ${resolved}`);
40
37
  }
@@ -59,17 +56,27 @@ export async function runInit(flags) {
59
56
  explicitProvider: providerHint,
60
57
  skipPrereqs,
61
58
  });
62
- // ─── Relocate-always: resolve where artifacts live ───────────────────
63
- // EVERY Specrails artifact lands under `artifactRoot` (the $HOME workspace),
64
- // never in the repo. The ONLY in-repo writes are `openspec/**` (below) and
65
- // git/worktree ops. `codeRoot` is always the repo.
59
+ // ─── Resolve where artifacts live: in-repo (default) vs relocated ─────
60
+ // Standalone `init` installs IN-REPO by default so a user's CLI finds the
61
+ // agents/commands in their own repo. Relocation (the $HOME workspace, with the
62
+ // framework symlinked in) is opt-in via `--relocate` / `SPECRAILS_RELOCATE=1`,
63
+ // and is what specrails-desktop drives (it pre-creates the registry entry, so
64
+ // `allocate:false` still resolves an EXISTING relocated entry → relocated).
65
+ //
66
+ // `allocate:false` + no existing entry ⇒ legacy in-repo layout where
67
+ // `artifactRoot === codeRoot === repoRoot`. `allocate:true` (relocate) allocates
68
+ // a $HOME workspace entry. EVERY Specrails artifact lands under `artifactRoot`;
69
+ // the ONLY in-repo writes are `openspec/**` (below) and git/worktree ops.
70
+ const relocate = flags.relocate === true || process.env.SPECRAILS_RELOCATE === '1';
66
71
  const { artifactRoot, codeRoot } = resolveArtifacts(repoRoot, {
67
- allocate: true,
72
+ allocate: relocate,
68
73
  allocator: 'core-standalone',
69
74
  home: process.env.SPECRAILS_REGISTRY_HOME,
70
75
  providers: [prereqs.provider],
71
76
  coreVersion: version,
72
77
  });
78
+ // In-repo when the resolution did NOT relocate the artifacts out of the repo.
79
+ const inRepo = artifactRoot === codeRoot;
73
80
  // ─── Phase 2 + 3 ──────────────────────────────────────────────────────
74
81
  // Bundled-framework flow: materialize the provider-INVARIANT framework ONCE
75
82
  // under `<home>/.specrails/framework/<version>/<providerDir>/`, point `current`
@@ -85,7 +92,6 @@ export async function runInit(flags) {
85
92
  provider: prereqs.provider,
86
93
  providerDir,
87
94
  version,
88
- agentTeams: agentTeamsHint,
89
95
  selectedAgents: selectedAgentsHint,
90
96
  });
91
97
  assembleProjectWorkspace({
@@ -97,9 +103,16 @@ export async function runInit(flags) {
97
103
  codeRoot,
98
104
  scriptDir,
99
105
  selectedAgents: selectedAgentsHint,
100
- agentTeams: agentTeamsHint,
106
+ // In-repo: COPY the framework statics as real, committable files. Relocated:
107
+ // symlink from the framework store (O(1) update on a version swap).
108
+ copyStatics: inRepo,
101
109
  });
102
- ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
110
+ if (inRepo) {
111
+ ok(`Copied ${providerDir}/ from framework ${version} into the repo + seeded project layer`);
112
+ }
113
+ else {
114
+ ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
115
+ }
103
116
  // openspec STAYS in the repo (codeRoot) — unchanged behaviour.
104
117
  await installOpenSpecProject(codeRoot, prereqs.provider);
105
118
  const tier = tierHint ?? 'full';
@@ -120,7 +133,6 @@ export async function runInit(flags) {
120
133
  repoRoot,
121
134
  provider: prereqs.provider,
122
135
  tier,
123
- agentTeams: agentTeamsHint,
124
136
  };
125
137
  }
126
138
  /**
@@ -142,7 +154,6 @@ export function ensureFramework(input) {
142
154
  provider: input.provider,
143
155
  providerDir: input.providerDir,
144
156
  version: input.version,
145
- agentTeams: input.agentTeams,
146
157
  selectedAgents: input.selectedAgents,
147
158
  });
148
159
  if (input.swapCurrent !== false) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/installer/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/installer/commands/init.ts"],"names":[],"mappings":"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"}
@@ -21,16 +21,19 @@ export async function runUpdate(flags) {
21
21
  const currentVersion = readVersion(scriptDir);
22
22
  const repoRoot = path.resolve(typeof flags['root-dir'] === 'string' ? flags['root-dir'] : process.cwd());
23
23
  const dryRun = flags['dry-run'] === true;
24
- // Read install-config.yaml so the user's original choices (tier,
25
- // agent_teams) survive the update. Flag overrides win when present;
26
- // missing config falls back to defaults (tier=full, agent_teams=false).
27
- // ─── Relocate-always: resolve where artifacts live ───────────────────
28
- // All Specrails artifacts (incl. the specrails-version marker, manifest,
29
- // install-config) live under `artifactRoot` (the $HOME workspace), never the
30
- // repo. On update the registry entry already exists (created by init), so the
31
- // `providers` hint is ignored; we resolve first, then read the install.
24
+ // Read install-config.yaml so the user's original choices (tier) survive
25
+ // the update. Flag overrides win when present; missing config falls back to
26
+ // defaults (tier=full).
27
+ // ─── Resolve where artifacts live: in-repo (default) vs relocated ─────
28
+ // Mirrors init: standalone updates resolve IN-REPO by default (`allocate:false`
29
+ // + no registry entry ⇒ `artifactRoot === codeRoot === repoRoot`); desktop and
30
+ // `--relocate`/`SPECRAILS_RELOCATE=1` users resolve the relocated $HOME
31
+ // workspace (desktop's registry entry already exists, so even `allocate:false`
32
+ // returns it). All Specrails artifacts (the specrails-version marker, manifest,
33
+ // install-config) live under `artifactRoot`.
34
+ const relocate = flags.relocate === true || process.env.SPECRAILS_RELOCATE === '1';
32
35
  const { artifactRoot, codeRoot } = resolveArtifacts(repoRoot, {
33
- allocate: true,
36
+ allocate: relocate,
34
37
  allocator: 'core-standalone',
35
38
  home: process.env.SPECRAILS_REGISTRY_HOME,
36
39
  coreVersion: currentVersion,
@@ -40,7 +43,6 @@ export async function runUpdate(flags) {
40
43
  // the artifactRoot. Falls back to a workspace copy if present (none today).
41
44
  const config = loadInstallConfig(resolveConfigPath(repoRoot)) ?? loadInstallConfig(resolveConfigPath(artifactRoot));
42
45
  const tier = config?.tier ?? 'full';
43
- const agentTeams = flags['agent-teams'] === true || config?.agent_teams === true;
44
46
  const selectedAgents = config?.agents.selected;
45
47
  const marker = path.join(artifactRoot, '.specrails', 'specrails-version');
46
48
  if (!pathExists(marker)) {
@@ -70,15 +72,15 @@ export async function runUpdate(flags) {
70
72
  if (scope === 'web-manager') {
71
73
  warn('--only=web-manager is deprecated. The standalone web-manager has been retired; ' +
72
74
  'specrails-desktop is the supported dashboard. Skipping with no changes.');
73
- return { repoRoot, previousVersion, currentVersion, provider, dryRun, scope, tier, agentTeams };
75
+ return { repoRoot, previousVersion, currentVersion, provider, dryRun, scope, tier };
74
76
  }
75
77
  if (config) {
76
- info(`Honouring install-config.yaml: tier=${tier}, agent_teams=${agentTeams}`);
78
+ info(`Honouring install-config.yaml: tier=${tier}`);
77
79
  }
78
80
  if (dryRun) {
79
- info(`Dry run: would update [${scope}, tier=${tier}, agent_teams=${agentTeams}] ` +
81
+ info(`Dry run: would update [${scope}, tier=${tier}] ` +
80
82
  `for ${previousVersion ?? '(unknown)'} → ${currentVersion}.`);
81
- return { repoRoot, previousVersion, currentVersion, provider, dryRun, scope, tier, agentTeams };
83
+ return { repoRoot, previousVersion, currentVersion, provider, dryRun, scope, tier };
82
84
  }
83
85
  step(`Update: refreshing scaffold [scope=${scope}] (${previousVersion ?? '?'} → ${currentVersion})`);
84
86
  if (scope === 'all' || scope === 'core') {
@@ -93,7 +95,6 @@ export async function runUpdate(flags) {
93
95
  provider,
94
96
  providerDir,
95
97
  version: currentVersion,
96
- agentTeams,
97
98
  selectedAgents,
98
99
  });
99
100
  assembleProjectWorkspace({
@@ -105,7 +106,8 @@ export async function runUpdate(flags) {
105
106
  codeRoot,
106
107
  scriptDir,
107
108
  selectedAgents,
108
- agentTeams,
109
+ // In-repo updates COPY real files; relocated workspaces symlink.
110
+ copyStatics: artifactRoot === codeRoot,
109
111
  });
110
112
  ok(`Re-linked ${providerDir}/ at framework ${currentVersion} + rewrote manifest`);
111
113
  }
@@ -125,7 +127,7 @@ export async function runUpdate(flags) {
125
127
  info(`specrails-core ${previousVersion ?? '?'} → ${currentVersion}`);
126
128
  // Terminal sentinel for programmatic consumers (see comment in init.ts).
127
129
  ok('update complete');
128
- return { repoRoot, previousVersion, currentVersion, provider, dryRun: false, scope, tier, agentTeams };
130
+ return { repoRoot, previousVersion, currentVersion, provider, dryRun: false, scope, tier };
129
131
  }
130
132
  /**
131
133
  * Re-applies a single subtree (rules or agents) from the bundled
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/installer/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/installer/commands/update.ts"],"names":[],"mappings":"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"}
@@ -89,9 +89,8 @@ export function validateInstallConfig(raw) {
89
89
  selected,
90
90
  },
91
91
  };
92
- if (typeof doc.agent_teams === 'boolean') {
93
- result.agent_teams = doc.agent_teams;
94
- }
92
+ // NOTE: a legacy `agent_teams` field may still be present in older configs.
93
+ // It is intentionally ignored (not rejected) for backward compatibility.
95
94
  if (doc.tier !== undefined) {
96
95
  result.tier = doc.tier;
97
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install-config.js","sourceRoot":"","sources":["../../../src/installer/phases/install-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-config.js","sourceRoot":"","sources":["../../../src/installer/phases/install-config.ts"],"names":[],"mappings":"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"}
@@ -346,19 +346,18 @@ export function installFramework(input) {
346
346
  // STATIC subtree (the project-named instruction files are skipped below), so
347
347
  // we hand it the framework dir to satisfy the contract — and we DELETE any
348
348
  // project-named instruction file the settings helpers wrote.
349
- // The SHARED framework store is always the FULL SUPERSET — EVERY agent and the
350
- // team commands — so a SECOND project with a DIFFERENT agent selection links
351
- // its specialists from the same materialized copy instead of inheriting the
352
- // first project's narrower set. Per-project filtering moves to the workspace
353
- // LINK step (`linkAgentFiles` via `assembleProjectWorkspace`). `selectedAgents`
354
- // / `agentTeams` on the input are intentionally IGNORED here.
349
+ // The SHARED framework store is always the FULL SUPERSET — EVERY agent so a
350
+ // SECOND project with a DIFFERENT agent selection links its specialists from
351
+ // the same materialized copy instead of inheriting the first project's
352
+ // narrower set. Per-project filtering moves to the workspace LINK step
353
+ // (`linkAgentFiles` via `assembleProjectWorkspace`). `selectedAgents` on the
354
+ // input is intentionally IGNORED here.
355
355
  const staticInput = {
356
356
  scriptDir: input.scriptDir,
357
357
  artifactRoot: versionDir,
358
358
  codeRoot: versionDir,
359
359
  provider: input.provider,
360
360
  providerDir: input.providerDir,
361
- agentTeams: true,
362
361
  tier: 'quick',
363
362
  selectedAgents: undefined,
364
363
  materializeAllAgents: true,
@@ -412,7 +411,9 @@ export function assembleProjectWorkspace(input) {
412
411
  const selectedAgentSet = input.selectedAgents
413
412
  ? new Set([...input.selectedAgents, ...CORE_AGENTS])
414
413
  : new Set([...CORE_AGENTS]);
415
- const agentTeams = input.agentTeams ?? false;
414
+ // In-repo standalone install COPIES the static subtrees as real files; the
415
+ // relocated (desktop / --relocate) path symlinks them. Defaults to symlink.
416
+ const preferCopy = input.copyStatics === true;
416
417
  const links = {};
417
418
  for (const sub of LINKED_PROVIDER_SUBTREES[input.provider]) {
418
419
  const target = path.join(currentProviderDir, sub);
@@ -420,17 +421,13 @@ export function assembleProjectWorkspace(input) {
420
421
  continue;
421
422
  const dest = path.join(workspaceProviderDir, sub);
422
423
  if (sub === 'agents') {
423
- links[sub] = linkAgentFiles(target, dest, selectedAgentSet);
424
- }
425
- else if (!agentTeams && subtreeHasTeamEntries(target)) {
426
- // Lean install AND the superset store actually carries `team-*` entries:
427
- // link this subtree PER-FILE, excluding the team commands/skills. The
428
- // common case (no team-* in the store) keeps the cheap whole-dir symlink
429
- // below — preserving the single-inode contract.
430
- links[sub] = linkSubtreeExcludingTeams(target, dest);
424
+ // `agents/` is linked PER-FILE so the workspace can carry user/desktop
425
+ // `custom-*.md` agents alongside the framework agents.
426
+ links[sub] = linkAgentFiles(target, dest, selectedAgentSet, preferCopy);
431
427
  }
432
428
  else {
433
- links[sub] = symlinkOrCopy(target, dest);
429
+ // Every other subtree holds no user files → whole-dir symlink (single inode).
430
+ links[sub] = symlinkOrCopy(target, dest, preferCopy);
434
431
  }
435
432
  }
436
433
  // Link the provider-invariant settings file (codex config.toml / gemini
@@ -441,7 +438,7 @@ export function assembleProjectWorkspace(input) {
441
438
  const settingsTarget = path.join(currentProviderDir, settingsFile);
442
439
  const settingsLink = path.join(workspaceProviderDir, settingsFile);
443
440
  if (pathExists(settingsTarget) && !pathExists(settingsLink)) {
444
- links[settingsFile] = symlinkOrCopy(settingsTarget, settingsLink);
441
+ links[settingsFile] = symlinkOrCopy(settingsTarget, settingsLink, preferCopy);
445
442
  }
446
443
  }
447
444
  // (b) Seed the PROJECT layer (real writable files / dirs).
@@ -527,10 +524,15 @@ function seedProjectLayer(input, currentProviderDir) {
527
524
  * superset, so this is where per-project filtering lands. `undefined` ⇒ link
528
525
  * every framework agent (used by the legacy callers / parity tests).
529
526
  *
527
+ * When `preferCopy` is true each agent is COPIED as a real file rather than
528
+ * symlinked (the in-repo standalone install — so a standalone user's CLI finds
529
+ * real agent files in the repo, not links into `$HOME`).
530
+ *
530
531
  * Returns the dominant mechanism used across the linked files (`copy` if any
531
- * file fell back to copy — the normal case on Windows without Developer Mode).
532
+ * file fell back to copy — the normal case on Windows without Developer Mode, or
533
+ * always when `preferCopy` is set).
532
534
  */
533
- function linkAgentFiles(frameworkAgentsDir, workspaceAgentsDir, selectedIds) {
535
+ function linkAgentFiles(frameworkAgentsDir, workspaceAgentsDir, selectedIds, preferCopy = false) {
534
536
  mkdirp(workspaceAgentsDir);
535
537
  // Names the framework currently PROVIDES (regardless of selection) — used to
536
538
  // distinguish a framework-owned file from a user `custom-*.md` during cleanup.
@@ -547,7 +549,7 @@ function linkAgentFiles(frameworkAgentsDir, workspaceAgentsDir, selectedIds) {
547
549
  if (selectedIds && (!selectedIds.has(id) || QUICK_EXCLUDED_AGENTS.has(id)))
548
550
  continue;
549
551
  linkedNames.add(name);
550
- const m = symlinkOrCopy(src, path.join(workspaceAgentsDir, name));
552
+ const m = symlinkOrCopy(src, path.join(workspaceAgentsDir, name), preferCopy);
551
553
  if (m === 'copy')
552
554
  mechanism = 'copy';
553
555
  else if (m === 'junction' && mechanism !== 'copy')
@@ -593,68 +595,6 @@ function linkAgentFiles(frameworkAgentsDir, workspaceAgentsDir, selectedIds) {
593
595
  function isFrameworkAgentName(name) {
594
596
  return /^sr-[a-z0-9-]+\.md$/.test(name);
595
597
  }
596
- /**
597
- * True when a framework subtree (`commands`/`skills`) contains any `team-*`
598
- * entry (a `team-*.md` file or a `team-*` skill dir), recursively. Gates the
599
- * per-file team-excluding link path: when no team entries exist the workspace
600
- * keeps the cheap whole-dir symlink. Recurses into real subdirs (e.g.
601
- * `.claude/commands/specrails/`).
602
- */
603
- function subtreeHasTeamEntries(subtreeDir) {
604
- for (const entry of listDir(subtreeDir)) {
605
- const name = path.basename(entry);
606
- if (/^team-/.test(name) || /^team-/.test(name.replace(/\.md$/, '')))
607
- return true;
608
- if (isDir(entry) && !isSymlink(entry) && subtreeHasTeamEntries(entry))
609
- return true;
610
- }
611
- return false;
612
- }
613
- /**
614
- * Link a whole framework subtree (`commands`/`skills`) into the workspace
615
- * PER-FILE, EXCLUDING the Agent-Teams `team-*` entries. Used when `agentTeams`
616
- * is off and the shared framework store (always the superset) carries the team
617
- * commands the lean install must not surface. Recurses into subdirs (e.g.
618
- * `.claude/commands/specrails/`). Returns the dominant mechanism.
619
- */
620
- function linkSubtreeExcludingTeams(frameworkSubtreeDir, workspaceSubtreeDir) {
621
- mkdirp(workspaceSubtreeDir);
622
- let mechanism = 'symlink';
623
- const bump = (m) => {
624
- if (m === 'copy')
625
- mechanism = 'copy';
626
- else if (m === 'junction' && mechanism !== 'copy')
627
- mechanism = 'junction';
628
- };
629
- const linkedNames = new Set();
630
- for (const src of listDir(frameworkSubtreeDir)) {
631
- const name = path.basename(src);
632
- // Exclude team commands/skills whether they ship as `team-*.md` files or
633
- // `team-*/` skill dirs.
634
- if (/^team-/.test(name) || /^team-/.test(name.replace(/\.md$/, '')))
635
- continue;
636
- linkedNames.add(name);
637
- const dest = path.join(workspaceSubtreeDir, name);
638
- if (isDir(src) && !isSymlink(src)) {
639
- // Recurse: a real framework subdir is mirrored as a real workspace subdir
640
- // so a future agentTeams=false re-link can prune team-* inside it too.
641
- bump(linkSubtreeExcludingTeams(src, dest));
642
- }
643
- else {
644
- bump(symlinkOrCopy(src, dest));
645
- }
646
- }
647
- // Drop stale framework entries (including team-* left from a prior agentTeams
648
- // run) that are no longer linked. Only symlinks/copied framework files — there
649
- // are no user files under commands/skills.
650
- for (const existing of listDir(workspaceSubtreeDir)) {
651
- const name = path.basename(existing);
652
- if (linkedNames.has(name))
653
- continue;
654
- removePath(existing);
655
- }
656
- return mechanism;
657
- }
658
598
  /** Write or sentinel-upsert a project instruction file (AGENTS.md/GEMINI.md). */
659
599
  function seedInstructionFile(filePath, content) {
660
600
  if (!pathExists(filePath)) {
@@ -683,8 +623,6 @@ function copyBundledCommands(input) {
683
623
  continue;
684
624
  if (name === 'setup.md')
685
625
  continue;
686
- if (!input.agentTeams && /^team-/.test(name))
687
- continue;
688
626
  const skillName = name.replace(/\.md$/, '');
689
627
  const destDir = path.join(input.artifactRoot, input.providerDir, 'skills', skillName);
690
628
  // A codex-native override (written for spawn_agent semantics + the
@@ -719,8 +657,6 @@ function copyBundledCommands(input) {
719
657
  continue;
720
658
  if (name === 'setup.md')
721
659
  continue;
722
- if (!input.agentTeams && /^team-/.test(name))
723
- continue;
724
660
  writeGeminiCommandFromCommand({
725
661
  src: entry,
726
662
  dest: path.join(destDir, `${name.replace(/\.md$/, '')}.toml`),
@@ -739,8 +675,6 @@ function copyBundledCommands(input) {
739
675
  continue;
740
676
  if (name === 'setup.md')
741
677
  continue;
742
- if (!input.agentTeams && /^team-/.test(name))
743
- continue;
744
678
  copyFile(entry, path.join(destDir, name));
745
679
  count++;
746
680
  }
@@ -1185,8 +1119,6 @@ function placeQuickTierArtefacts(input) {
1185
1119
  continue;
1186
1120
  if (name === 'setup.md')
1187
1121
  continue;
1188
- if (!input.agentTeams && /^team-/.test(name))
1189
- continue;
1190
1122
  const skillName = name.slice(0, -3);
1191
1123
  const dest = path.join(input.artifactRoot, input.providerDir, 'skills', skillName, 'SKILL.md');
1192
1124
  // If a codex-native override exists, ship it verbatim and skip the
@@ -1225,8 +1157,6 @@ function placeQuickTierArtefacts(input) {
1225
1157
  continue;
1226
1158
  if (name === 'setup.md')
1227
1159
  continue;
1228
- if (!input.agentTeams && /^team-/.test(name))
1229
- continue;
1230
1160
  const cmdName = name.slice(0, -3);
1231
1161
  const dest = path.join(input.artifactRoot, input.providerDir, 'commands', 'specrails', `${cmdName}.toml`);
1232
1162
  const overrideToml = path.join(overridesSrc, `${cmdName}.toml`);
@@ -1308,10 +1238,6 @@ function placeQuickTierArtefacts(input) {
1308
1238
  if (!hasAllRequired)
1309
1239
  excludedCommands.add(dep.command);
1310
1240
  }
1311
- if (!input.agentTeams) {
1312
- excludedCommands.add('team-debug');
1313
- excludedCommands.add('team-review');
1314
- }
1315
1241
  const commandsSrc = path.join(setupTemplates, 'commands', 'specrails');
1316
1242
  const commandsDest = path.join(providerDirAbs, 'commands', 'specrails');
1317
1243
  let commandsPlaced = 0;