sdd-mcp-server 3.4.0 → 3.5.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 (69) hide show
  1. package/README.md +75 -40
  2. package/dist/adapters/cli/SDDToolAdapter.js +3 -3
  3. package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
  4. package/dist/application/services/staticSteering.js +2 -4
  5. package/dist/application/services/staticSteering.js.map +1 -1
  6. package/dist/cli/install-skills.d.ts +10 -32
  7. package/dist/cli/install-skills.js +213 -176
  8. package/dist/cli/install-skills.js.map +1 -1
  9. package/dist/cli/install-target.d.ts +127 -0
  10. package/dist/cli/install-target.js +127 -0
  11. package/dist/cli/install-target.js.map +1 -0
  12. package/dist/cli/migrate-steering.js +13 -13
  13. package/dist/cli/migrate-steering.js.map +1 -1
  14. package/dist/cli/sdd-mcp-cli.d.ts +1 -1
  15. package/dist/cli/sdd-mcp-cli.js +14 -10
  16. package/dist/cli/sdd-mcp-cli.js.map +1 -1
  17. package/dist/cli/tool-support/antigravity.d.ts +6 -1
  18. package/dist/cli/tool-support/antigravity.js +55 -12
  19. package/dist/cli/tool-support/antigravity.js.map +1 -1
  20. package/dist/cli/tool-support/claude-code.d.ts +5 -0
  21. package/dist/cli/tool-support/claude-code.js +93 -0
  22. package/dist/cli/tool-support/claude-code.js.map +1 -0
  23. package/dist/cli/tool-support/codex.d.ts +18 -1
  24. package/dist/cli/tool-support/codex.js +161 -36
  25. package/dist/cli/tool-support/codex.js.map +1 -1
  26. package/dist/cli/tool-support/index.d.ts +2 -2
  27. package/dist/cli/tool-support/root-guidance.d.ts +9 -0
  28. package/dist/cli/tool-support/root-guidance.js +40 -0
  29. package/dist/cli/tool-support/root-guidance.js.map +1 -0
  30. package/dist/cli/tool-support/target-agent-renderer.d.ts +11 -0
  31. package/dist/cli/tool-support/target-agent-renderer.js +52 -0
  32. package/dist/cli/tool-support/target-agent-renderer.js.map +1 -0
  33. package/dist/cli/tool-support/target-installer.d.ts +40 -0
  34. package/dist/cli/tool-support/target-installer.js +116 -0
  35. package/dist/cli/tool-support/target-installer.js.map +1 -0
  36. package/dist/cli/utils/gitignore-manager.d.ts +5 -0
  37. package/dist/cli/utils/gitignore-manager.js +85 -0
  38. package/dist/cli/utils/gitignore-manager.js.map +1 -0
  39. package/dist/cli/utils/preserving-writer.d.ts +13 -0
  40. package/dist/cli/utils/preserving-writer.js +106 -0
  41. package/dist/cli/utils/preserving-writer.js.map +1 -0
  42. package/dist/hooks/HookLoader.js +9 -1
  43. package/dist/hooks/HookLoader.js.map +1 -1
  44. package/dist/index.js +6 -6
  45. package/dist/index.js.map +1 -1
  46. package/dist/shared/BaseManager.d.ts +10 -1
  47. package/dist/shared/BaseManager.js +34 -5
  48. package/dist/shared/BaseManager.js.map +1 -1
  49. package/dist/skills/SkillManager.d.ts +3 -1
  50. package/dist/skills/SkillManager.js +15 -3
  51. package/dist/skills/SkillManager.js.map +1 -1
  52. package/package.json +1 -1
  53. package/sdd-entry.js +2 -2
  54. package/skills/sdd-design/SKILL.md +4 -0
  55. package/skills/sdd-implement/SKILL.md +4 -0
  56. package/skills/sdd-requirements/SKILL.md +4 -0
  57. package/skills/sdd-review/SKILL.md +4 -0
  58. package/skills/sdd-security-check/SKILL.md +4 -0
  59. package/skills/sdd-steering/SKILL.md +4 -0
  60. package/skills/sdd-steering-custom/SKILL.md +4 -0
  61. package/skills/sdd-tasks/SKILL.md +4 -0
  62. package/skills/sdd-test-gen/SKILL.md +4 -0
  63. package/skills/simple-task/SKILL.md +4 -0
  64. package/templates/CLAUDE.md +2 -36
  65. package/templates/codex-AGENTS.md +1 -2
  66. package/templates/codex-hook-runner.js +85 -0
  67. package/dist/utils/sddPaths.d.ts +0 -69
  68. package/dist/utils/sddPaths.js +0 -138
  69. package/dist/utils/sddPaths.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
+ import { createInterface } from 'readline/promises';
4
5
  import { SkillManager } from '../skills/SkillManager.js';
5
6
  import { RulesManager } from '../rules/RulesManager.js';
6
7
  import { ContextManager } from '../contexts/ContextManager.js';
@@ -8,7 +9,11 @@ import { AgentManager } from '../agents/AgentManager.js';
8
9
  import { HookLoader } from '../hooks/HookLoader.js';
9
10
  import { generateCodexAgentsMd } from './tool-support/codex.js';
10
11
  import { createAntigravitySymlinks } from './tool-support/antigravity.js';
11
- import { getDistCliDir, findTemplate } from './utils/find-package-root.js';
12
+ import { getDistCliDir } from './utils/find-package-root.js';
13
+ import { CliUsageError, InstallCancelledError, getTargetPolicy, isInstallTarget, resolveInstallPaths, resolveInstallTarget, } from './install-target.js';
14
+ import { installClaudeCodeTarget } from './tool-support/claude-code.js';
15
+ import { installCodexTarget } from './tool-support/codex.js';
16
+ import { updateGeneratedIgnores } from './utils/gitignore-manager.js';
12
17
  /**
13
18
  * CLI for installing SDD components to a project
14
19
  */
@@ -19,12 +24,13 @@ export class InstallSkillsCLI {
19
24
  agentManager;
20
25
  hookLoader;
21
26
  steeringPath;
27
+ promptIO;
22
28
  /**
23
29
  * Create CLI instance
24
30
  * @param skillsPath - Optional path to skills directory (for testing)
25
31
  * @param steeringPath - Optional path to steering directory (for testing)
26
32
  */
27
- constructor(skillsPath, steeringPath) {
33
+ constructor(skillsPath, steeringPath, promptIO) {
28
34
  // If no path provided, determine from package location
29
35
  const resolvedSkillsPath = skillsPath || this.getDefaultPath('skills');
30
36
  const resolvedSteeringPath = steeringPath || this.getDefaultPath('steering');
@@ -38,6 +44,7 @@ export class InstallSkillsCLI {
38
44
  this.agentManager = new AgentManager(resolvedAgentsPath);
39
45
  this.hookLoader = new HookLoader(resolvedHooksPath);
40
46
  this.steeringPath = resolvedSteeringPath;
47
+ this.promptIO = promptIO ?? createProcessTargetPromptIO();
41
48
  }
42
49
  /**
43
50
  * Get the default path for a component type based on package location
@@ -100,40 +107,43 @@ export class InstallSkillsCLI {
100
107
  antigravity: false,
101
108
  allTools: false,
102
109
  installProfile: 'lean',
110
+ pathOverrides: {},
103
111
  };
104
112
  for (let i = 0; i < args.length; i++) {
105
113
  const arg = args[i];
106
114
  switch (arg) {
107
115
  case '--path':
108
- if (i + 1 < args.length) {
109
- options.targetPath = args[++i];
110
- }
116
+ options.targetPath = requireOptionValue(args, ++i, '--path');
117
+ options.pathOverrides.skills = options.targetPath;
111
118
  break;
112
119
  case '--steering-path':
113
- if (i + 1 < args.length) {
114
- options.steeringPath = args[++i];
115
- }
120
+ options.steeringPath = requireOptionValue(args, ++i, '--steering-path');
121
+ options.pathOverrides.steering = options.steeringPath;
116
122
  break;
117
123
  case '--rules-path':
118
- if (i + 1 < args.length) {
119
- options.rulesPath = args[++i];
120
- }
124
+ options.rulesPath = requireOptionValue(args, ++i, '--rules-path');
125
+ options.pathOverrides.rules = options.rulesPath;
121
126
  break;
122
127
  case '--contexts-path':
123
- if (i + 1 < args.length) {
124
- options.contextsPath = args[++i];
125
- }
128
+ options.contextsPath = requireOptionValue(args, ++i, '--contexts-path');
129
+ options.pathOverrides.contexts = options.contextsPath;
126
130
  break;
127
131
  case '--agents-path':
128
- if (i + 1 < args.length) {
129
- options.agentsPath = args[++i];
130
- }
132
+ options.agentsPath = requireOptionValue(args, ++i, '--agents-path');
133
+ options.pathOverrides.agents = options.agentsPath;
131
134
  break;
132
135
  case '--hooks-path':
133
- if (i + 1 < args.length) {
134
- options.hooksPath = args[++i];
136
+ options.hooksPath = requireOptionValue(args, ++i, '--hooks-path');
137
+ options.pathOverrides.hooks = options.hooksPath;
138
+ break;
139
+ case '--target': {
140
+ const target = requireOptionValue(args, ++i, '--target');
141
+ if (!isInstallTarget(target)) {
142
+ throw new CliUsageError(`Unsupported target "${target}". Choose codex or claude-code.`);
135
143
  }
144
+ options.target = target;
136
145
  break;
146
+ }
137
147
  case '--list':
138
148
  case '-l':
139
149
  options.listOnly = true;
@@ -167,11 +177,12 @@ export class InstallSkillsCLI {
167
177
  options.components.push('hooks');
168
178
  break;
169
179
  case '--profile':
170
- if (i + 1 < args.length) {
171
- const profile = args[++i];
172
- if (profile === 'lean' || profile === 'full') {
173
- options.installProfile = profile;
180
+ {
181
+ const profile = requireOptionValue(args, ++i, '--profile');
182
+ if (profile !== 'lean' && profile !== 'full') {
183
+ throw new CliUsageError(`Unsupported profile "${profile}". Choose lean or full.`);
174
184
  }
185
+ options.installProfile = profile;
175
186
  }
176
187
  break;
177
188
  case '--all':
@@ -208,7 +219,7 @@ export class InstallSkillsCLI {
208
219
  await this.installSkills(options.targetPath);
209
220
  }
210
221
  /**
211
- * Run unified install (all components)
222
+ * Run a target-aware component install
212
223
  * @param options - CLI options
213
224
  */
214
225
  async runUnified(options) {
@@ -220,63 +231,101 @@ export class InstallSkillsCLI {
220
231
  await this.listAll();
221
232
  return;
222
233
  }
234
+ const resolvedTarget = await resolveInstallTarget({
235
+ target: options.target,
236
+ legacyCodex: options.codex,
237
+ profile: options.installProfile,
238
+ }, this.promptIO);
239
+ const policy = getTargetPolicy(resolvedTarget.target);
240
+ const paths = resolveInstallPaths(policy, options.pathOverrides ?? legacyPathOverrides(options));
223
241
  // If specific components requested, install only those
224
242
  const hasSpecificComponents = options.components.length > 0;
225
243
  const componentsToInstall = hasSpecificComponents
226
244
  ? options.components
227
245
  : this.getDefaultComponents(options.installProfile);
228
- console.log(`\n🚀 SDD Component Installer (${options.installProfile} profile)\n`);
229
- for (const component of componentsToInstall) {
230
- switch (component) {
231
- case 'skills':
232
- await this.installSkills(options.targetPath);
233
- break;
234
- case 'steering':
235
- await this.installSteering(options.steeringPath);
236
- break;
237
- case 'rules':
238
- await this.installRules(options.rulesPath);
239
- break;
240
- case 'contexts':
241
- await this.installContexts(options.contextsPath);
242
- break;
243
- case 'agents':
244
- await this.installAgents(options.agentsPath);
245
- break;
246
- case 'hooks':
247
- await this.installHooks(options.hooksPath);
248
- break;
249
- }
246
+ console.log(`\n🚀 SDD Component Installer (${options.installProfile} profile, ${resolvedTarget.target})\n`);
247
+ const projectRoot = process.cwd();
248
+ const request = {
249
+ projectRoot,
250
+ paths,
251
+ components: componentsToInstall,
252
+ sources: {
253
+ skillManager: this.skillManager,
254
+ rulesManager: this.rulesManager,
255
+ contextManager: this.contextManager,
256
+ agentManager: this.agentManager,
257
+ hookLoader: this.hookLoader,
258
+ steeringSource: this.steeringPath,
259
+ },
260
+ };
261
+ const report = resolvedTarget.target === 'codex'
262
+ ? await installCodexTarget(request)
263
+ : await installClaudeCodeTarget(request);
264
+ try {
265
+ const ignore = await updateGeneratedIgnores(projectRoot, policy.ignoreEntries);
266
+ console.log(` .gitignore: ${ignore.status}`);
267
+ }
268
+ catch (error) {
269
+ report.failed.push({
270
+ component: 'root',
271
+ name: '.gitignore',
272
+ path: path.join(projectRoot, '.gitignore'),
273
+ error: error instanceof Error ? error.message : String(error),
274
+ });
250
275
  }
251
- // Generate CLAUDE.md in project root
252
- this.generateClaudeMd();
253
276
  // Multi-tool support: Codex CLI
254
- if (options.codex || options.allTools) {
255
- const projectRoot = process.cwd();
256
- await generateCodexAgentsMd(projectRoot, {
277
+ if (options.allTools && resolvedTarget.target !== 'codex') {
278
+ const failures = await generateCodexAgentsMd(projectRoot, {
257
279
  skillManager: this.skillManager,
258
280
  rulesManager: this.rulesManager,
259
281
  agentManager: this.agentManager,
260
282
  listSteering: () => this.listSteering(),
261
283
  }, {
262
- skillsPath: options.targetPath,
263
- rulesPath: options.rulesPath,
264
- agentsPath: options.agentsPath,
265
- steeringPath: options.steeringPath,
284
+ skillsPath: paths.skills,
285
+ rulesPath: paths.rules,
286
+ agentsPath: paths.agents,
287
+ steeringPath: paths.steering,
266
288
  }, {
267
289
  skills: componentsToInstall.includes('skills'),
268
290
  rules: componentsToInstall.includes('rules'),
269
291
  agents: componentsToInstall.includes('agents'),
270
292
  steering: componentsToInstall.includes('steering'),
271
293
  });
294
+ for (const failure of failures) {
295
+ report.failed.push({
296
+ component: 'root',
297
+ name: `codex/${failure.name}`,
298
+ path: failure.path,
299
+ error: failure.error,
300
+ });
301
+ }
272
302
  }
273
303
  // Multi-tool support: Google Antigravity
274
304
  if (options.antigravity || options.allTools) {
275
- const projectRoot = process.cwd();
276
- await createAntigravitySymlinks(projectRoot, {
277
- skillsPath: options.targetPath,
278
- rulesPath: options.rulesPath,
305
+ const failures = await createAntigravitySymlinks(projectRoot, {
306
+ skillsPath: paths.skills,
307
+ rulesPath: paths.rules,
279
308
  });
309
+ for (const failure of failures) {
310
+ report.failed.push({
311
+ component: 'root',
312
+ name: failure.name === '.agent' ? failure.name : `.agent/${failure.name}`,
313
+ path: failure.path,
314
+ error: failure.error,
315
+ });
316
+ }
317
+ }
318
+ console.log(`\nTarget: ${resolvedTarget.target} (${resolvedTarget.source})`);
319
+ console.log(`Installed: ${report.installed.length}`);
320
+ console.log(`Skipped: ${report.skipped.length}`);
321
+ console.log(`Failed: ${report.failed.length}`);
322
+ if (report.failed.length > 0) {
323
+ for (const failure of report.failed) {
324
+ console.error(` ${failure.component}/${failure.name} (${failure.path}): ${failure.error}`);
325
+ }
326
+ process.exitCode = 1;
327
+ console.error('\nInstallation incomplete.\n');
328
+ return;
280
329
  }
281
330
  console.log('\n✨ Installation complete!\n');
282
331
  }
@@ -286,30 +335,6 @@ export class InstallSkillsCLI {
286
335
  }
287
336
  return ['skills', 'steering', 'hooks'];
288
337
  }
289
- /**
290
- * Generate CLAUDE.md in the user's project root from the template
291
- */
292
- generateClaudeMd() {
293
- const targetPath = path.resolve(process.cwd(), 'CLAUDE.md');
294
- // Don't overwrite if user already has one
295
- if (fs.existsSync(targetPath)) {
296
- console.log(' ⏭️ CLAUDE.md already exists, skipping');
297
- return;
298
- }
299
- // Find the template
300
- const templatePath = findTemplate('CLAUDE.md');
301
- if (!templatePath) {
302
- console.log(' ⚠️ CLAUDE.md template not found, skipping');
303
- return;
304
- }
305
- try {
306
- fs.copyFileSync(templatePath, targetPath);
307
- console.log(' ✅ Created CLAUDE.md in project root');
308
- }
309
- catch (error) {
310
- console.error(' ❌ Failed to create CLAUDE.md:', error.message);
311
- }
312
- }
313
338
  /**
314
339
  * List available skills
315
340
  */
@@ -442,7 +467,7 @@ export class InstallSkillsCLI {
442
467
  }
443
468
  console.log(`\n Total: ${hooks.length} hooks\n`);
444
469
  }
445
- console.log('Run "npx sdd-mcp-server install" to install all components.\n');
470
+ console.log('Run "npx sdd-mcp-server install --profile full" to install all components.\n');
446
471
  }
447
472
  /**
448
473
  * Install skills to target directory
@@ -456,49 +481,6 @@ export class InstallSkillsCLI {
456
481
  console.log(' Use /sdd-requirements, /sdd-design, etc. in Claude Code.\n');
457
482
  }
458
483
  }
459
- /**
460
- * Install steering documents to target directory
461
- */
462
- async installSteering(targetPath) {
463
- console.log(`\nInstalling steering documents to: ${targetPath}\n`);
464
- const result = await this.installSteeringFiles(targetPath);
465
- this.logInstallResult(result, 'steering documents');
466
- if (result.installed.length > 0) {
467
- console.log('Steering documents installed successfully!');
468
- console.log(' These provide project-wide guidance for AI interactions.\n');
469
- }
470
- }
471
- /**
472
- * Copy steering files to target directory
473
- */
474
- async installSteeringFiles(targetPath) {
475
- const installed = [];
476
- const failed = [];
477
- try {
478
- await fs.promises.mkdir(targetPath, { recursive: true });
479
- const entries = await fs.promises.readdir(this.steeringPath);
480
- for (const entry of entries) {
481
- if (!entry.endsWith('.md'))
482
- continue;
483
- try {
484
- const sourceFile = path.join(this.steeringPath, entry);
485
- const destFile = path.join(targetPath, entry);
486
- await fs.promises.copyFile(sourceFile, destFile);
487
- installed.push(entry);
488
- }
489
- catch (error) {
490
- failed.push({
491
- name: entry,
492
- error: error instanceof Error ? error.message : String(error),
493
- });
494
- }
495
- }
496
- }
497
- catch (error) {
498
- console.error(`Failed to read steering directory: ${error instanceof Error ? error.message : String(error)}`);
499
- }
500
- return { installed, failed };
501
- }
502
484
  /**
503
485
  * Log installation results with consistent formatting
504
486
  */
@@ -518,38 +500,6 @@ export class InstallSkillsCLI {
518
500
  console.log('');
519
501
  }
520
502
  }
521
- /**
522
- * Install rules to target directory
523
- */
524
- async installRules(targetPath) {
525
- console.log(`Installing rules to: ${targetPath}\n`);
526
- const result = await this.rulesManager.installComponents(targetPath);
527
- this.logInstallResult(result, 'rules');
528
- }
529
- /**
530
- * Install contexts to target directory
531
- */
532
- async installContexts(targetPath) {
533
- console.log(`Installing contexts to: ${targetPath}\n`);
534
- const result = await this.contextManager.installComponents(targetPath);
535
- this.logInstallResult(result, 'contexts');
536
- }
537
- /**
538
- * Install agents to target directory
539
- */
540
- async installAgents(targetPath) {
541
- console.log(`Installing agents to: ${targetPath}\n`);
542
- const result = await this.agentManager.installComponents(targetPath);
543
- this.logInstallResult(result, 'agents');
544
- }
545
- /**
546
- * Install hooks to target directory
547
- */
548
- async installHooks(targetPath) {
549
- console.log(`Installing hooks to: ${targetPath}\n`);
550
- const result = await this.hookLoader.installComponents(targetPath);
551
- this.logInstallResult(result, 'hooks');
552
- }
553
503
  /**
554
504
  * Get help text
555
505
  * @returns Help message
@@ -594,26 +544,27 @@ Installs SDD components to your project. The default lean profile installs skill
594
544
  steering, and hooks only to reduce always-on context and token usage.
595
545
 
596
546
  Component Options (install specific types):
597
- --skills Install skills only (to .claude/skills)
547
+ --target <target> Primary agent target: codex or claude-code
548
+ --skills Install skills only (to the selected target)
598
549
  --steering Install steering documents only (to .spec/steering)
599
- --rules Install rules only (to .claude/rules)
600
- --contexts Install contexts only (to .claude/contexts)
601
- --agents Install agents only (to .claude/agents)
602
- --hooks Install hooks only (to .claude/hooks)
550
+ --rules Install rules only (to the selected target)
551
+ --contexts Install contexts only (to the selected target)
552
+ --agents Install agents only (to the selected target)
553
+ --hooks Install hooks only (to the selected target)
603
554
  --all Install all component types
604
555
  --profile <profile> Install profile when no component flags are provided:
605
556
  lean (default) or full
606
557
 
607
558
  Path Options (customize installation targets):
608
- --path <dir> Target for skills (default: .claude/skills)
559
+ --path <dir> Override the selected target's skills path
609
560
  --steering-path <dir> Target for steering (default: .spec/steering)
610
- --rules-path <dir> Target for rules (default: .claude/rules)
611
- --contexts-path <dir> Target for contexts (default: .claude/contexts)
612
- --agents-path <dir> Target for agents (default: .claude/agents)
613
- --hooks-path <dir> Target for hooks (default: .claude/hooks)
561
+ --rules-path <dir> Override the selected target's rules path
562
+ --contexts-path <dir> Override the selected target's contexts path
563
+ --agents-path <dir> Override the selected target's agents path
564
+ --hooks-path <dir> Override the selected target's hooks path
614
565
 
615
566
  Multi-Tool Support:
616
- --codex Also generate AGENTS.md for OpenAI Codex CLI
567
+ --codex Deprecated alias for --target codex
617
568
  --antigravity Also create .agent/ symlinks for Google Antigravity
618
569
  --all-tools Enable all tool integrations (codex + antigravity)
619
570
 
@@ -623,12 +574,13 @@ Other Options:
623
574
 
624
575
  Examples:
625
576
  npx sdd-mcp-server install # Lean install for lower token usage
626
- npx sdd-mcp-server install --profile full # Install all components
627
577
  npx sdd-mcp-server install --skills --rules # Install skills and rules only
628
578
  npx sdd-mcp-server install --list # List available components
629
- npx sdd-mcp-server install --codex # Claude + Codex CLI support
630
- npx sdd-mcp-server install --antigravity # Claude + Antigravity support
631
- npx sdd-mcp-server install --all-tools # Claude + all tool integrations
579
+ npx sdd-mcp-server install --profile full # Prompt for Codex or Claude Code
580
+ npx sdd-mcp-server install --target codex # Native Codex files
581
+ npx sdd-mcp-server install --target claude-code # Native Claude Code files
582
+ npx sdd-mcp-server install --antigravity # Add Antigravity support
583
+ npx sdd-mcp-server install --all-tools # Add all tool integrations
632
584
 
633
585
  Component Types:
634
586
  Skills - Workflow guidance for SDD phases (/sdd-requirements, /sdd-design, etc.)
@@ -638,7 +590,7 @@ Component Types:
638
590
  Agents - Specialized AI personas (planner, architect, reviewer)
639
591
  Hooks - Event-driven automation (pre-tool-use, post-tool-use, etc.)
640
592
 
641
- After installation, use skills in Claude Code:
593
+ After installation, use skills in the selected agent:
642
594
  /sdd-requirements <feature-name>
643
595
  /sdd-design <feature-name>
644
596
  /sdd-tasks <feature-name>
@@ -646,6 +598,11 @@ After installation, use skills in Claude Code:
646
598
  /sdd-review [file-path]
647
599
  /sdd-security-check [scope]
648
600
  /sdd-test-gen [file-path]
601
+
602
+ Model Routing:
603
+ Codex high-level roles: gpt-5.6-sol (xhigh); default implementation/TDD: gpt-5.6-sol (medium)
604
+ Codex supported models: gpt-5.6-sol, gpt-5.6-luna, gpt-5.6-terra
605
+ Claude Code high-level roles: opus; implementation/TDD: sonnet
649
606
  `;
650
607
  }
651
608
  }
@@ -661,6 +618,11 @@ export async function mainInstall() {
661
618
  const options = cli.parseArgs(process.argv.slice(2));
662
619
  await cli.runUnified(options);
663
620
  }
621
+ export function cliExitCode(error) {
622
+ if (error instanceof InstallCancelledError)
623
+ return 130;
624
+ return 1;
625
+ }
664
626
  // ESM main module detection: check if this file is the entry point
665
627
  // Use path matching instead of import.meta.url for Jest compatibility
666
628
  const isMainModule = process.argv[1] && (process.argv[1].endsWith('/install-skills.js') ||
@@ -670,7 +632,82 @@ const isMainModule = process.argv[1] && (process.argv[1].endsWith('/install-skil
670
632
  if (isMainModule) {
671
633
  main().catch((error) => {
672
634
  console.error('Error:', error.message);
673
- process.exit(1);
635
+ process.exit(cliExitCode(error));
674
636
  });
675
637
  }
638
+ function requireOptionValue(args, index, option) {
639
+ const value = args[index];
640
+ if (!value || value.startsWith('--')) {
641
+ throw new CliUsageError(`${option} requires a value`);
642
+ }
643
+ return value;
644
+ }
645
+ function legacyPathOverrides(options) {
646
+ const defaults = getTargetPolicy('claude-code').defaultPaths;
647
+ return {
648
+ ...(options.targetPath !== defaults.skills ? { skills: options.targetPath } : {}),
649
+ ...(options.steeringPath !== defaults.steering ? { steering: options.steeringPath } : {}),
650
+ ...(options.rulesPath !== defaults.rules ? { rules: options.rulesPath } : {}),
651
+ ...(options.contextsPath !== defaults.contexts ? { contexts: options.contextsPath } : {}),
652
+ ...(options.agentsPath !== defaults.agents ? { agents: options.agentsPath } : {}),
653
+ ...(options.hooksPath !== defaults.hooks ? { hooks: options.hooksPath } : {}),
654
+ };
655
+ }
656
+ function createProcessTargetPromptIO() {
657
+ return {
658
+ isInteractive: () => Boolean(process.stdin.isTTY && process.stdout.isTTY),
659
+ writeNotice: message => console.warn(message),
660
+ async chooseTarget() {
661
+ const prompt = createInterface({ input: process.stdin, output: process.stdout });
662
+ let cancelled = false;
663
+ try {
664
+ while (!cancelled) {
665
+ const answer = await new Promise(resolve => {
666
+ let settled = false;
667
+ const cleanup = () => {
668
+ prompt.off('line', onLine);
669
+ prompt.off('close', onClose);
670
+ prompt.off('SIGINT', onSigint);
671
+ };
672
+ const settle = (value) => {
673
+ if (settled)
674
+ return;
675
+ settled = true;
676
+ cleanup();
677
+ resolve(value);
678
+ };
679
+ const onLine = (line) => settle(line);
680
+ const onClose = () => settle(null);
681
+ const onSigint = () => {
682
+ settle(null);
683
+ prompt.close();
684
+ };
685
+ prompt.once('line', onLine);
686
+ prompt.once('close', onClose);
687
+ prompt.once('SIGINT', onSigint);
688
+ prompt.question('Choose the primary LLM agent target:\n 1) Codex\n 2) Claude Code\nSelection: ').then(settle).catch(() => settle(null));
689
+ });
690
+ if (answer === null) {
691
+ cancelled = true;
692
+ continue;
693
+ }
694
+ const normalized = answer.trim().toLowerCase();
695
+ if (normalized === '1' || normalized === 'codex')
696
+ return 'codex';
697
+ if (normalized === '2' || normalized === 'claude' || normalized === 'claude-code') {
698
+ return 'claude-code';
699
+ }
700
+ console.warn('Choose 1 (Codex) or 2 (Claude Code).');
701
+ }
702
+ return null;
703
+ }
704
+ catch {
705
+ return null;
706
+ }
707
+ finally {
708
+ prompt.close();
709
+ }
710
+ },
711
+ };
712
+ }
676
713
  //# sourceMappingURL=install-skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../../src/cli/install-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../../src/cli/install-skills.ts"],"names":[],"mappings":"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"}