sdd-mcp-server 2.2.0 → 3.0.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.
Files changed (51) hide show
  1. package/README.md +107 -46
  2. package/dist/adapters/cli/SDDToolAdapter.js +1 -1
  3. package/dist/agents/AgentManager.d.ts +61 -0
  4. package/dist/agents/AgentManager.js +75 -0
  5. package/dist/agents/AgentManager.js.map +1 -0
  6. package/dist/agents/index.d.ts +1 -0
  7. package/dist/agents/index.js +3 -0
  8. package/dist/agents/index.js.map +1 -0
  9. package/dist/cli/install-skills.d.ts +52 -9
  10. package/dist/cli/install-skills.js +330 -78
  11. package/dist/cli/install-skills.js.map +1 -1
  12. package/dist/cli/migrate-kiro.js +4 -4
  13. package/dist/cli/sdd-mcp-cli.js +10 -10
  14. package/dist/contexts/ContextManager.d.ts +53 -0
  15. package/dist/contexts/ContextManager.js +64 -0
  16. package/dist/contexts/ContextManager.js.map +1 -0
  17. package/dist/contexts/index.d.ts +1 -0
  18. package/dist/contexts/index.js +3 -0
  19. package/dist/contexts/index.js.map +1 -0
  20. package/dist/hooks/HookLoader.d.ts +67 -0
  21. package/dist/hooks/HookLoader.js +180 -0
  22. package/dist/hooks/HookLoader.js.map +1 -0
  23. package/dist/index.js +7 -5
  24. package/dist/index.js.map +1 -1
  25. package/dist/infrastructure/di/container.js +24 -0
  26. package/dist/infrastructure/di/container.js.map +1 -1
  27. package/dist/infrastructure/di/types.d.ts +4 -0
  28. package/dist/infrastructure/di/types.js +5 -0
  29. package/dist/infrastructure/di/types.js.map +1 -1
  30. package/dist/rules/RulesManager.d.ts +53 -0
  31. package/dist/rules/RulesManager.js +62 -0
  32. package/dist/rules/RulesManager.js.map +1 -0
  33. package/dist/rules/index.d.ts +1 -0
  34. package/dist/rules/index.js +3 -0
  35. package/dist/rules/index.js.map +1 -0
  36. package/dist/shared/BaseManager.d.ts +130 -0
  37. package/dist/shared/BaseManager.js +274 -0
  38. package/dist/shared/BaseManager.js.map +1 -0
  39. package/dist/shared/index.d.ts +1 -0
  40. package/dist/shared/index.js +3 -0
  41. package/dist/shared/index.js.map +1 -0
  42. package/dist/utils/sddPaths.d.ts +69 -0
  43. package/dist/utils/sddPaths.js +138 -0
  44. package/dist/utils/sddPaths.js.map +1 -0
  45. package/documentGenerator.js +1 -1
  46. package/mcp-server.js +39 -39
  47. package/package.json +3 -3
  48. package/sdd-entry.js +31 -0
  49. package/skills/sdd-review/SKILL.md +191 -0
  50. package/skills/sdd-security-check/SKILL.md +193 -0
  51. package/skills/sdd-test-gen/SKILL.md +295 -0
@@ -1,16 +1,43 @@
1
1
  #!/usr/bin/env node
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
- import { fileURLToPath } from 'url';
5
4
  import { SkillManager } from '../skills/SkillManager.js';
6
- // ESM equivalent of __dirname
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = path.dirname(__filename);
5
+ import { RulesManager } from '../rules/RulesManager.js';
6
+ import { ContextManager } from '../contexts/ContextManager.js';
7
+ import { AgentManager } from '../agents/AgentManager.js';
8
+ import { HookLoader } from '../hooks/HookLoader.js';
9
+ // Get directory name - works in both ESM and test environments
10
+ // In test environments, we use process.cwd() as a fallback
11
+ function getDirname() {
12
+ // Try to find the package root by looking for package.json
13
+ let dir = process.cwd();
14
+ while (dir !== path.dirname(dir)) {
15
+ if (fs.existsSync(path.join(dir, 'package.json'))) {
16
+ try {
17
+ const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
18
+ if (pkg.name === 'sdd-mcp-server') {
19
+ // Found the package root, return the expected cli directory
20
+ return path.join(dir, 'dist', 'cli');
21
+ }
22
+ }
23
+ catch {
24
+ // Continue searching
25
+ }
26
+ }
27
+ dir = path.dirname(dir);
28
+ }
29
+ // Fallback to process.cwd() based path
30
+ return path.join(process.cwd(), 'dist', 'cli');
31
+ }
9
32
  /**
10
- * CLI for installing SDD skills to a project
33
+ * CLI for installing SDD components to a project
11
34
  */
12
35
  export class InstallSkillsCLI {
13
36
  skillManager;
37
+ rulesManager;
38
+ contextManager;
39
+ agentManager;
40
+ hookLoader;
14
41
  steeringPath;
15
42
  /**
16
43
  * Create CLI instance
@@ -19,26 +46,35 @@ export class InstallSkillsCLI {
19
46
  */
20
47
  constructor(skillsPath, steeringPath) {
21
48
  // If no path provided, determine from package location
22
- const resolvedSkillsPath = skillsPath || this.getDefaultSkillsPath();
23
- const resolvedSteeringPath = steeringPath || this.getDefaultSteeringPath();
49
+ const resolvedSkillsPath = skillsPath || this.getDefaultPath('skills');
50
+ const resolvedSteeringPath = steeringPath || this.getDefaultPath('steering');
51
+ const resolvedRulesPath = this.getDefaultPath('rules');
52
+ const resolvedContextsPath = this.getDefaultPath('contexts');
53
+ const resolvedAgentsPath = this.getDefaultPath('agents');
54
+ const resolvedHooksPath = this.getDefaultPath('hooks');
24
55
  this.skillManager = new SkillManager(resolvedSkillsPath);
56
+ this.rulesManager = new RulesManager(resolvedRulesPath);
57
+ this.contextManager = new ContextManager(resolvedContextsPath);
58
+ this.agentManager = new AgentManager(resolvedAgentsPath);
59
+ this.hookLoader = new HookLoader(resolvedHooksPath);
25
60
  this.steeringPath = resolvedSteeringPath;
26
61
  }
27
62
  /**
28
- * Get the default skills path based on package location
63
+ * Get the default path for a component type based on package location
64
+ * @param componentDir - The component directory name (skills, steering, rules, etc.)
29
65
  */
30
- getDefaultSkillsPath() {
66
+ getDefaultPath(componentDir) {
31
67
  // Try multiple paths and return the first one that exists
32
68
  const possiblePaths = [
33
- // Relative to this file (dist/cli/install-skills.js -> skills/)
34
- path.resolve(__dirname, '../../skills'),
69
+ // Relative to this file (dist/cli/install-skills.js -> componentDir/)
70
+ path.resolve(getDirname(), `../../${componentDir}`),
35
71
  // Alternative: one level up
36
- path.resolve(__dirname, '../skills'),
72
+ path.resolve(getDirname(), `../${componentDir}`),
37
73
  // From package root when installed globally or via npx
38
- path.resolve(__dirname, '../../../skills'),
74
+ path.resolve(getDirname(), `../../../${componentDir}`),
39
75
  // From current working directory
40
- path.resolve(process.cwd(), 'node_modules/sdd-mcp-server/skills'),
41
- path.resolve(process.cwd(), 'skills'),
76
+ path.resolve(process.cwd(), `node_modules/sdd-mcp-server/${componentDir}`),
77
+ path.resolve(process.cwd(), componentDir),
42
78
  ];
43
79
  // Return the first path that exists
44
80
  for (const p of possiblePaths) {
@@ -46,32 +82,7 @@ export class InstallSkillsCLI {
46
82
  return p;
47
83
  }
48
84
  }
49
- // Fallback to first path (will error in SkillManager if not found)
50
- return possiblePaths[0];
51
- }
52
- /**
53
- * Get the default steering path based on package location
54
- */
55
- getDefaultSteeringPath() {
56
- // Try multiple paths and return the first one that exists
57
- const possiblePaths = [
58
- // Relative to this file (dist/cli/install-skills.js -> steering/)
59
- path.resolve(__dirname, '../../steering'),
60
- // Alternative: one level up
61
- path.resolve(__dirname, '../steering'),
62
- // From package root when installed globally or via npx
63
- path.resolve(__dirname, '../../../steering'),
64
- // From current working directory
65
- path.resolve(process.cwd(), 'node_modules/sdd-mcp-server/steering'),
66
- path.resolve(process.cwd(), 'steering'),
67
- ];
68
- // Return the first path that exists
69
- for (const p of possiblePaths) {
70
- if (fs.existsSync(p)) {
71
- return p;
72
- }
73
- }
74
- // Fallback to first path
85
+ // Fallback to first path (will error in manager if not found)
75
86
  return possiblePaths[0];
76
87
  }
77
88
  /**
@@ -83,10 +94,19 @@ export class InstallSkillsCLI {
83
94
  const options = {
84
95
  targetPath: '.claude/skills',
85
96
  steeringPath: '.spec/steering',
97
+ rulesPath: '.claude/rules',
98
+ contextsPath: '.claude/contexts',
99
+ agentsPath: '.claude/agents',
100
+ hooksPath: '.claude/hooks',
86
101
  listOnly: false,
87
102
  showHelp: false,
88
103
  skillsOnly: false,
89
104
  steeringOnly: false,
105
+ rulesOnly: false,
106
+ contextsOnly: false,
107
+ agentsOnly: false,
108
+ hooksOnly: false,
109
+ components: [],
90
110
  };
91
111
  for (let i = 0; i < args.length; i++) {
92
112
  const arg = args[i];
@@ -101,6 +121,26 @@ export class InstallSkillsCLI {
101
121
  options.steeringPath = args[++i];
102
122
  }
103
123
  break;
124
+ case '--rules-path':
125
+ if (i + 1 < args.length) {
126
+ options.rulesPath = args[++i];
127
+ }
128
+ break;
129
+ case '--contexts-path':
130
+ if (i + 1 < args.length) {
131
+ options.contextsPath = args[++i];
132
+ }
133
+ break;
134
+ case '--agents-path':
135
+ if (i + 1 < args.length) {
136
+ options.agentsPath = args[++i];
137
+ }
138
+ break;
139
+ case '--hooks-path':
140
+ if (i + 1 < args.length) {
141
+ options.hooksPath = args[++i];
142
+ }
143
+ break;
104
144
  case '--list':
105
145
  case '-l':
106
146
  options.listOnly = true;
@@ -111,9 +151,31 @@ export class InstallSkillsCLI {
111
151
  break;
112
152
  case '--skills':
113
153
  options.skillsOnly = true;
154
+ options.components.push('skills');
114
155
  break;
115
156
  case '--steering':
116
157
  options.steeringOnly = true;
158
+ options.components.push('steering');
159
+ break;
160
+ case '--rules':
161
+ options.rulesOnly = true;
162
+ options.components.push('rules');
163
+ break;
164
+ case '--contexts':
165
+ options.contextsOnly = true;
166
+ options.components.push('contexts');
167
+ break;
168
+ case '--agents':
169
+ options.agentsOnly = true;
170
+ options.components.push('agents');
171
+ break;
172
+ case '--hooks':
173
+ options.hooksOnly = true;
174
+ options.components.push('hooks');
175
+ break;
176
+ case '--all':
177
+ // Install all component types
178
+ options.components = ['skills', 'steering', 'rules', 'contexts', 'agents', 'hooks'];
117
179
  break;
118
180
  }
119
181
  }
@@ -135,7 +197,7 @@ export class InstallSkillsCLI {
135
197
  await this.installSkills(options.targetPath);
136
198
  }
137
199
  /**
138
- * Run unified install (skills + steering)
200
+ * Run unified install (all components)
139
201
  * @param options - CLI options
140
202
  */
141
203
  async runUnified(options) {
@@ -147,15 +209,35 @@ export class InstallSkillsCLI {
147
209
  await this.listAll();
148
210
  return;
149
211
  }
150
- // Determine what to install
151
- const installSkills = !options.steeringOnly;
152
- const installSteering = !options.skillsOnly;
153
- if (installSkills) {
154
- await this.installSkills(options.targetPath);
155
- }
156
- if (installSteering) {
157
- await this.installSteering(options.steeringPath);
212
+ // If specific components requested, install only those
213
+ const hasSpecificComponents = options.components.length > 0;
214
+ const componentsToInstall = hasSpecificComponents
215
+ ? options.components
216
+ : ['skills', 'steering', 'rules', 'contexts', 'agents', 'hooks'];
217
+ console.log('\n🚀 SDD Component Installer\n');
218
+ for (const component of componentsToInstall) {
219
+ switch (component) {
220
+ case 'skills':
221
+ await this.installSkills(options.targetPath);
222
+ break;
223
+ case 'steering':
224
+ await this.installSteering(options.steeringPath);
225
+ break;
226
+ case 'rules':
227
+ await this.installRules(options.rulesPath);
228
+ break;
229
+ case 'contexts':
230
+ await this.installContexts(options.contextsPath);
231
+ break;
232
+ case 'agents':
233
+ await this.installAgents(options.agentsPath);
234
+ break;
235
+ case 'hooks':
236
+ await this.installHooks(options.hooksPath);
237
+ break;
238
+ }
158
239
  }
240
+ console.log('\n✨ Installation complete!\n');
159
241
  }
160
242
  /**
161
243
  * List available skills
@@ -175,7 +257,7 @@ export class InstallSkillsCLI {
175
257
  console.log('');
176
258
  }
177
259
  console.log(`Total: ${skills.length} skills\n`);
178
- console.log('Run "npx sdd-mcp install-skills" to install all skills.\n');
260
+ console.log('Run "npx sdd-mcp-server install-skills" to install all skills.\n');
179
261
  }
180
262
  /**
181
263
  * List available steering documents
@@ -196,11 +278,15 @@ export class InstallSkillsCLI {
196
278
  return steeringDocs;
197
279
  }
198
280
  /**
199
- * List all available skills and steering documents
281
+ * List all available components
200
282
  */
201
283
  async listAll() {
202
284
  const skills = await this.skillManager.listSkills();
203
285
  const steeringDocs = await this.listSteering();
286
+ const rules = await this.rulesManager.listComponents();
287
+ const contexts = await this.contextManager.listComponents();
288
+ const agents = await this.agentManager.listComponents();
289
+ const hooks = await this.hookLoader.listComponents();
204
290
  console.log('\n📚 Available Skills:\n');
205
291
  if (skills.length === 0) {
206
292
  console.log(' (none)\n');
@@ -215,7 +301,7 @@ export class InstallSkillsCLI {
215
301
  }
216
302
  console.log(` Total: ${skills.length} skills\n`);
217
303
  }
218
- console.log('📄 Available Steering Documents:\n');
304
+ console.log('📄 Steering Documents:\n');
219
305
  if (steeringDocs.length === 0) {
220
306
  console.log(' (none)\n');
221
307
  }
@@ -223,9 +309,69 @@ export class InstallSkillsCLI {
223
309
  for (const doc of steeringDocs) {
224
310
  console.log(` • ${doc}`);
225
311
  }
226
- console.log(`\n Total: ${steeringDocs.length} steering documents\n`);
312
+ console.log(`\n Total: ${steeringDocs.length} documents\n`);
313
+ }
314
+ console.log('📏 Rules:\n');
315
+ if (rules.length === 0) {
316
+ console.log(' (none)\n');
317
+ }
318
+ else {
319
+ for (const rule of rules) {
320
+ console.log(` • ${rule.name} (priority: ${rule.priority})`);
321
+ if (rule.description) {
322
+ console.log(` ${rule.description}`);
323
+ }
324
+ }
325
+ console.log(`\n Total: ${rules.length} rules\n`);
326
+ }
327
+ console.log('🎭 Contexts:\n');
328
+ if (contexts.length === 0) {
329
+ console.log(' (none)\n');
330
+ }
331
+ else {
332
+ for (const ctx of contexts) {
333
+ console.log(` • ${ctx.name} (mode: ${ctx.mode})`);
334
+ if (ctx.description) {
335
+ console.log(` ${ctx.description}`);
336
+ }
337
+ }
338
+ console.log(`\n Total: ${contexts.length} contexts\n`);
339
+ }
340
+ console.log('🤖 Agents:\n');
341
+ if (agents.length === 0) {
342
+ console.log(' (none)\n');
343
+ }
344
+ else {
345
+ for (const agent of agents) {
346
+ console.log(` • ${agent.name} (${agent.role})`);
347
+ if (agent.description) {
348
+ console.log(` ${agent.description}`);
349
+ }
350
+ }
351
+ console.log(`\n Total: ${agents.length} agents\n`);
352
+ }
353
+ console.log('🪝 Hooks:\n');
354
+ if (hooks.length === 0) {
355
+ console.log(' (none)\n');
356
+ }
357
+ else {
358
+ // Group hooks by event type
359
+ const hooksByEvent = new Map();
360
+ for (const hook of hooks) {
361
+ const existing = hooksByEvent.get(hook.event) || [];
362
+ existing.push(hook);
363
+ hooksByEvent.set(hook.event, existing);
364
+ }
365
+ for (const [event, eventHooks] of hooksByEvent) {
366
+ console.log(` ${event}/`);
367
+ for (const hook of eventHooks) {
368
+ const status = hook.enabled ? '✓' : '○';
369
+ console.log(` ${status} ${hook.name}`);
370
+ }
371
+ }
372
+ console.log(`\n Total: ${hooks.length} hooks\n`);
227
373
  }
228
- console.log('Run "npx sdd-mcp install" to install all skills and steering documents.\n');
374
+ console.log('Run "npx sdd-mcp-server install" to install all components.\n');
229
375
  }
230
376
  /**
231
377
  * Install skills to target directory
@@ -308,6 +454,94 @@ export class InstallSkillsCLI {
308
454
  console.log(' These provide project-wide guidance for AI interactions.\n');
309
455
  }
310
456
  }
457
+ /**
458
+ * Install rules to target directory
459
+ * @param targetPath - Target directory (e.g., .claude/rules)
460
+ */
461
+ async installRules(targetPath) {
462
+ console.log(`📏 Installing rules to: ${targetPath}\n`);
463
+ const result = await this.rulesManager.installComponents(targetPath);
464
+ if (result.installed.length > 0) {
465
+ console.log(`✅ Installed ${result.installed.length} rules:`);
466
+ for (const name of result.installed) {
467
+ console.log(` • ${name}`);
468
+ }
469
+ console.log('');
470
+ }
471
+ if (result.failed.length > 0) {
472
+ console.error(`❌ Failed to install ${result.failed.length} rule(s):`);
473
+ for (const failure of result.failed) {
474
+ console.error(` • ${failure.name}: ${failure.error}`);
475
+ }
476
+ console.log('');
477
+ }
478
+ }
479
+ /**
480
+ * Install contexts to target directory
481
+ * @param targetPath - Target directory (e.g., .claude/contexts)
482
+ */
483
+ async installContexts(targetPath) {
484
+ console.log(`🎭 Installing contexts to: ${targetPath}\n`);
485
+ const result = await this.contextManager.installComponents(targetPath);
486
+ if (result.installed.length > 0) {
487
+ console.log(`✅ Installed ${result.installed.length} contexts:`);
488
+ for (const name of result.installed) {
489
+ console.log(` • ${name}`);
490
+ }
491
+ console.log('');
492
+ }
493
+ if (result.failed.length > 0) {
494
+ console.error(`❌ Failed to install ${result.failed.length} context(s):`);
495
+ for (const failure of result.failed) {
496
+ console.error(` • ${failure.name}: ${failure.error}`);
497
+ }
498
+ console.log('');
499
+ }
500
+ }
501
+ /**
502
+ * Install agents to target directory
503
+ * @param targetPath - Target directory (e.g., .claude/agents)
504
+ */
505
+ async installAgents(targetPath) {
506
+ console.log(`🤖 Installing agents to: ${targetPath}\n`);
507
+ const result = await this.agentManager.installComponents(targetPath);
508
+ if (result.installed.length > 0) {
509
+ console.log(`✅ Installed ${result.installed.length} agents:`);
510
+ for (const name of result.installed) {
511
+ console.log(` • ${name}`);
512
+ }
513
+ console.log('');
514
+ }
515
+ if (result.failed.length > 0) {
516
+ console.error(`❌ Failed to install ${result.failed.length} agent(s):`);
517
+ for (const failure of result.failed) {
518
+ console.error(` • ${failure.name}: ${failure.error}`);
519
+ }
520
+ console.log('');
521
+ }
522
+ }
523
+ /**
524
+ * Install hooks to target directory
525
+ * @param targetPath - Target directory (e.g., .claude/hooks)
526
+ */
527
+ async installHooks(targetPath) {
528
+ console.log(`🪝 Installing hooks to: ${targetPath}\n`);
529
+ const result = await this.hookLoader.installComponents(targetPath);
530
+ if (result.installed.length > 0) {
531
+ console.log(`✅ Installed ${result.installed.length} hooks:`);
532
+ for (const name of result.installed) {
533
+ console.log(` • ${name}`);
534
+ }
535
+ console.log('');
536
+ }
537
+ if (result.failed.length > 0) {
538
+ console.error(`❌ Failed to install ${result.failed.length} hook(s):`);
539
+ for (const failure of result.failed) {
540
+ console.error(` • ${failure.name}: ${failure.error}`);
541
+ }
542
+ console.log('');
543
+ }
544
+ }
311
545
  /**
312
546
  * Get help text
313
547
  * @returns Help message
@@ -316,7 +550,7 @@ export class InstallSkillsCLI {
316
550
  return `
317
551
  SDD Skills Installer
318
552
 
319
- Usage: npx sdd-mcp install-skills [options]
553
+ Usage: npx sdd-mcp-server install-skills [options]
320
554
 
321
555
  Options:
322
556
  --path <dir> Target directory for skills (default: .claude/skills)
@@ -324,9 +558,9 @@ Options:
324
558
  --help, -h Show this help message
325
559
 
326
560
  Examples:
327
- npx sdd-mcp install-skills # Install to .claude/skills
328
- npx sdd-mcp install-skills --path ./ # Install to current directory
329
- npx sdd-mcp install-skills --list # List available skills
561
+ npx sdd-mcp-server install-skills # Install to .claude/skills
562
+ npx sdd-mcp-server install-skills --path ./ # Install to current directory
563
+ npx sdd-mcp-server install-skills --list # List available skills
330
564
 
331
565
  Skills will be installed to your project's .claude/skills directory.
332
566
  After installation, you can use them in Claude Code with:
@@ -346,36 +580,52 @@ After installation, you can use them in Claude Code with:
346
580
  return `
347
581
  SDD Unified Installer
348
582
 
349
- Usage: npx sdd-mcp install [options]
583
+ Usage: npx sdd-mcp-server install [options]
350
584
 
351
- Installs both SDD skills and steering documents to your project.
585
+ Installs SDD components (skills, steering, rules, contexts, agents, hooks) to your project.
352
586
 
353
- Options:
587
+ Component Options (install specific types):
354
588
  --skills Install skills only (to .claude/skills)
355
589
  --steering Install steering documents only (to .spec/steering)
356
- --path <dir> Target directory for skills (default: .claude/skills)
357
- --steering-path <dir> Target directory for steering (default: .spec/steering)
358
- --list, -l List available skills and steering documents
590
+ --rules Install rules only (to .claude/rules)
591
+ --contexts Install contexts only (to .claude/contexts)
592
+ --agents Install agents only (to .claude/agents)
593
+ --hooks Install hooks only (to .claude/hooks)
594
+ --all Install all component types (default behavior)
595
+
596
+ Path Options (customize installation targets):
597
+ --path <dir> Target for skills (default: .claude/skills)
598
+ --steering-path <dir> Target for steering (default: .spec/steering)
599
+ --rules-path <dir> Target for rules (default: .claude/rules)
600
+ --contexts-path <dir> Target for contexts (default: .claude/contexts)
601
+ --agents-path <dir> Target for agents (default: .claude/agents)
602
+ --hooks-path <dir> Target for hooks (default: .claude/hooks)
603
+
604
+ Other Options:
605
+ --list, -l List all available components
359
606
  --help, -h Show this help message
360
607
 
361
608
  Examples:
362
- npx sdd-mcp install # Install both skills and steering
363
- npx sdd-mcp install --skills # Install skills only
364
- npx sdd-mcp install --steering # Install steering only
365
- npx sdd-mcp install --list # List available content
609
+ npx sdd-mcp-server install # Install all components
610
+ npx sdd-mcp-server install --skills --rules # Install skills and rules only
611
+ npx sdd-mcp-server install --list # List available components
366
612
 
367
- Skills are installed to .claude/skills/ and provide workflow guidance.
368
- Steering documents are installed to .spec/steering/ and provide project-wide rules.
613
+ Component Types:
614
+ Skills - Workflow guidance for SDD phases (/sdd-requirements, /sdd-design, etc.)
615
+ Steering - Project-wide rules and conventions
616
+ Rules - Always-active guidelines (coding-style, security, etc.)
617
+ Contexts - Mode-specific system prompts (dev, review, planning)
618
+ Agents - Specialized AI personas (planner, architect, reviewer)
619
+ Hooks - Event-driven automation (pre-tool-use, post-tool-use, etc.)
369
620
 
370
621
  After installation, use skills in Claude Code:
371
622
  /sdd-requirements <feature-name>
372
623
  /sdd-design <feature-name>
373
624
  /sdd-tasks <feature-name>
374
625
  /sdd-implement <feature-name>
375
- /sdd-steering
376
- /sdd-commit
377
-
378
- Steering documents are automatically loaded by the SDD MCP server.
626
+ /sdd-review [file-path]
627
+ /sdd-security-check [scope]
628
+ /sdd-test-gen [file-path]
379
629
  `;
380
630
  }
381
631
  }
@@ -392,9 +642,11 @@ export async function mainInstall() {
392
642
  await cli.runUnified(options);
393
643
  }
394
644
  // ESM main module detection: check if this file is the entry point
395
- const isMainModule = process.argv[1] && (process.argv[1] === __filename ||
396
- process.argv[1].endsWith('/install-skills.js') ||
397
- process.argv[1].endsWith('/sdd-install-skills'));
645
+ // Use path matching instead of import.meta.url for Jest compatibility
646
+ const isMainModule = process.argv[1] && (process.argv[1].endsWith('/install-skills.js') ||
647
+ process.argv[1].endsWith('/sdd-install-skills') ||
648
+ process.argv[1].endsWith('\\install-skills.js') ||
649
+ process.argv[1].endsWith('\\sdd-install-skills'));
398
650
  if (isMainModule) {
399
651
  main().catch((error) => {
400
652
  console.error('Error:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../../src/cli/install-skills.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAoB3C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,YAAY,CAAe;IAC3B,YAAY,CAAS;IAE7B;;;;OAIG;IACH,YAAY,UAAmB,EAAE,YAAqB;QACpD,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACrE,MAAM,oBAAoB,GAAG,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,0DAA0D;QAC1D,MAAM,aAAa,GAAG;YACpB,gEAAgE;YAChE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;YACvC,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;YACpC,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC1C,iCAAiC;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oCAAoC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;SACtC,CAAC;QAEF,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,0DAA0D;QAC1D,MAAM,aAAa,GAAG;YACpB,kEAAkE;YAClE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACzC,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;YACtC,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;YAC5C,iCAAiC;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sCAAsC,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC;SACxC,CAAC;QAEF,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAc;QACtB,MAAM,OAAO,GAAe;YAC1B,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,QAAQ;oBACX,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM;gBACR,KAAK,iBAAiB;oBACpB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnC,CAAC;oBACD,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACxB,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd,KAAK,IAAI;oBACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACxB,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC1B,MAAM;gBACR,KAAK,YAAY;oBACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC5B,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,OAAmB;QAC3B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAAmB;QAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5C,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QAE5C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,UAAkB;QAC5C,OAAO,CAAC,GAAG,CAAC,kCAAkC,UAAU,IAAI,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;YACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;YACvE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,IAAI,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzD,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wBAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBACjD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC9D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChH,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,aAAa,MAAM,GAAG,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;YACnE,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;IACA,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCV,CAAC;IACA,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,mEAAmE;AACnE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAChD,CAAC;AAEF,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../../src/cli/install-skills.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ SDD Directory Migration Tool
6
6
 
7
7
  Migrates .kiro directory to .spec for updated SDD workflow.
8
8
 
9
- Usage: npx sdd-mcp migrate-kiro [options]
9
+ Usage: npx sdd-mcp-server migrate-kiro [options]
10
10
 
11
11
  Options:
12
12
  --path <dir> Project directory (default: current directory)
@@ -15,9 +15,9 @@ Options:
15
15
  --help, -h Show this help
16
16
 
17
17
  Examples:
18
- npx sdd-mcp migrate-kiro
19
- npx sdd-mcp migrate-kiro --dry-run
20
- npx sdd-mcp migrate-kiro --path ./my-project
18
+ npx sdd-mcp-server migrate-kiro
19
+ npx sdd-mcp-server migrate-kiro --dry-run
20
+ npx sdd-mcp-server migrate-kiro --path ./my-project
21
21
  `;
22
22
  function getAllFiles(dir) {
23
23
  const files = [];