forgecraft-mcp 0.2.0 → 0.3.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 (110) hide show
  1. package/README.md +25 -5
  2. package/dist/analyzers/language-detector.d.ts +17 -0
  3. package/dist/analyzers/language-detector.d.ts.map +1 -0
  4. package/dist/analyzers/language-detector.js +89 -0
  5. package/dist/analyzers/language-detector.js.map +1 -0
  6. package/dist/analyzers/package-json.d.ts.map +1 -1
  7. package/dist/analyzers/package-json.js +5 -5
  8. package/dist/analyzers/package-json.js.map +1 -1
  9. package/dist/analyzers/project-context.d.ts +23 -0
  10. package/dist/analyzers/project-context.d.ts.map +1 -0
  11. package/dist/analyzers/project-context.js +181 -0
  12. package/dist/analyzers/project-context.js.map +1 -0
  13. package/dist/index.js +6 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/registry/composer.d.ts +3 -1
  16. package/dist/registry/composer.d.ts.map +1 -1
  17. package/dist/registry/composer.js +28 -0
  18. package/dist/registry/composer.js.map +1 -1
  19. package/dist/registry/loader.d.ts.map +1 -1
  20. package/dist/registry/loader.js +65 -1
  21. package/dist/registry/loader.js.map +1 -1
  22. package/dist/registry/mcp-discovery.d.ts +82 -0
  23. package/dist/registry/mcp-discovery.d.ts.map +1 -0
  24. package/dist/registry/mcp-discovery.js +203 -0
  25. package/dist/registry/mcp-discovery.js.map +1 -0
  26. package/dist/registry/renderer.d.ts +19 -2
  27. package/dist/registry/renderer.d.ts.map +1 -1
  28. package/dist/registry/renderer.js +64 -2
  29. package/dist/registry/renderer.js.map +1 -1
  30. package/dist/shared/errors/index.d.ts +4 -0
  31. package/dist/shared/errors/index.d.ts.map +1 -1
  32. package/dist/shared/errors/index.js +6 -0
  33. package/dist/shared/errors/index.js.map +1 -1
  34. package/dist/shared/filesystem.d.ts +45 -0
  35. package/dist/shared/filesystem.d.ts.map +1 -0
  36. package/dist/shared/filesystem.js +122 -0
  37. package/dist/shared/filesystem.js.map +1 -0
  38. package/dist/shared/types.d.ts +92 -1
  39. package/dist/shared/types.d.ts.map +1 -1
  40. package/dist/shared/types.js +6 -0
  41. package/dist/shared/types.js.map +1 -1
  42. package/dist/tools/configure-mcp.d.ts +24 -0
  43. package/dist/tools/configure-mcp.d.ts.map +1 -1
  44. package/dist/tools/configure-mcp.js +123 -24
  45. package/dist/tools/configure-mcp.js.map +1 -1
  46. package/dist/tools/generate-claude-md.d.ts +1 -0
  47. package/dist/tools/generate-claude-md.d.ts.map +1 -1
  48. package/dist/tools/generate-claude-md.js +23 -57
  49. package/dist/tools/generate-claude-md.js.map +1 -1
  50. package/dist/tools/get-reference.d.ts +28 -0
  51. package/dist/tools/get-reference.d.ts.map +1 -0
  52. package/dist/tools/get-reference.js +63 -0
  53. package/dist/tools/get-reference.js.map +1 -0
  54. package/dist/tools/list.d.ts +18 -2
  55. package/dist/tools/list.d.ts.map +1 -1
  56. package/dist/tools/list.js +74 -2
  57. package/dist/tools/list.js.map +1 -1
  58. package/dist/tools/refresh-project.d.ts.map +1 -1
  59. package/dist/tools/refresh-project.js +8 -10
  60. package/dist/tools/refresh-project.js.map +1 -1
  61. package/dist/tools/scaffold.d.ts +4 -0
  62. package/dist/tools/scaffold.d.ts.map +1 -1
  63. package/dist/tools/scaffold.js +58 -31
  64. package/dist/tools/scaffold.js.map +1 -1
  65. package/dist/tools/setup-project.d.ts.map +1 -1
  66. package/dist/tools/setup-project.js +5 -1
  67. package/dist/tools/setup-project.js.map +1 -1
  68. package/package.json +7 -3
  69. package/templates/analytics/mcp-servers.yaml +11 -0
  70. package/templates/api/mcp-servers.yaml +13 -0
  71. package/templates/api/skills.yaml +54 -0
  72. package/templates/cli/mcp-servers.yaml +11 -0
  73. package/templates/data-lineage/instructions.yaml +28 -0
  74. package/templates/data-lineage/mcp-servers.yaml +22 -0
  75. package/templates/data-pipeline/mcp-servers.yaml +13 -0
  76. package/templates/data-pipeline/skills.yaml +56 -0
  77. package/templates/fintech/mcp-servers.yaml +13 -0
  78. package/templates/fintech/skills.yaml +35 -0
  79. package/templates/game/mcp-servers.yaml +11 -0
  80. package/templates/healthcare/mcp-servers.yaml +13 -0
  81. package/templates/healthcare/skills.yaml +35 -0
  82. package/templates/hipaa/instructions.yaml +41 -0
  83. package/templates/hipaa/mcp-servers.yaml +13 -0
  84. package/templates/hipaa/skills.yaml +39 -0
  85. package/templates/infra/mcp-servers.yaml +20 -0
  86. package/templates/library/mcp-servers.yaml +20 -0
  87. package/templates/medallion-architecture/instructions.yaml +41 -0
  88. package/templates/medallion-architecture/mcp-servers.yaml +22 -0
  89. package/templates/ml/mcp-servers.yaml +11 -0
  90. package/templates/mobile/mcp-servers.yaml +11 -0
  91. package/templates/observability-xray/instructions.yaml +40 -0
  92. package/templates/observability-xray/mcp-servers.yaml +15 -0
  93. package/templates/realtime/mcp-servers.yaml +13 -0
  94. package/templates/soc2/instructions.yaml +41 -0
  95. package/templates/soc2/mcp-servers.yaml +24 -0
  96. package/templates/social/mcp-servers.yaml +24 -0
  97. package/templates/state-machine/mcp-servers.yaml +11 -0
  98. package/templates/universal/hooks.yaml +63 -0
  99. package/templates/universal/instructions.yaml +41 -118
  100. package/templates/universal/mcp-servers.yaml +38 -0
  101. package/templates/universal/nfr.yaml +1 -1
  102. package/templates/universal/reference.yaml +111 -0
  103. package/templates/universal/review.yaml +2 -2
  104. package/templates/universal/skills.yaml +106 -0
  105. package/templates/web-react/mcp-servers.yaml +20 -0
  106. package/templates/web-react/skills.yaml +56 -0
  107. package/templates/web-static/mcp-servers.yaml +20 -0
  108. package/templates/web3/mcp-servers.yaml +11 -0
  109. package/templates/zero-trust/instructions.yaml +41 -0
  110. package/templates/zero-trust/mcp-servers.yaml +15 -0
@@ -79,6 +79,31 @@ export function renderNfrs(blocks, context) {
79
79
  }
80
80
  return sections.join("\n");
81
81
  }
82
+ /**
83
+ * Render design reference blocks (DDD, CQRS, GoF patterns) for on-demand retrieval.
84
+ *
85
+ * @param blocks - Composed reference blocks
86
+ * @param context - Project context for variable substitution
87
+ * @returns Formatted markdown content
88
+ */
89
+ export function renderReference(blocks, context) {
90
+ const sections = [];
91
+ for (const block of blocks) {
92
+ sections.push(renderTemplate(block.content, context));
93
+ }
94
+ return sections.join("\n");
95
+ }
96
+ /**
97
+ * Render a skill template's content with project-specific variable substitution.
98
+ * Skills are written as individual `.md` files in `.claude/commands/`.
99
+ *
100
+ * @param content - Raw skill content with {{variable}} placeholders
101
+ * @param context - Project context for variable substitution
102
+ * @returns Rendered skill content ready to write to file
103
+ */
104
+ export function renderSkill(content, context) {
105
+ return renderTemplate(content, context);
106
+ }
82
107
  /** Dimension display order for review output. */
83
108
  const DIMENSION_ORDER = [
84
109
  "architecture",
@@ -257,12 +282,49 @@ export function renderTechSpecSkeleton(context) {
257
282
  | | H/M/L | H/M/L | |
258
283
  `;
259
284
  }
285
+ /**
286
+ * Process conditional blocks in template content.
287
+ *
288
+ * Supports `{{#if CONDITION}}...{{/if}}` where CONDITION is evaluated
289
+ * against the render context. Special synthetic variables:
290
+ * - `language_is_typescript` → true when context.language === "typescript"
291
+ * - `language_is_python` → true when context.language === "python"
292
+ *
293
+ * Truthy conditions keep content; falsy conditions strip the block.
294
+ *
295
+ * @param template - Raw template string with conditionals
296
+ * @param context - Render context for condition evaluation
297
+ * @returns Template with conditionals resolved
298
+ */
299
+ function processConditionals(template, context) {
300
+ return template.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{\/if\}\}/g, (_match, condition, content) => {
301
+ const value = resolveCondition(condition, context);
302
+ return value ? content : "";
303
+ });
304
+ }
305
+ /**
306
+ * Resolve a conditional variable to a boolean value.
307
+ */
308
+ function resolveCondition(name, context) {
309
+ // Synthetic language conditionals
310
+ if (name === "language_is_typescript") {
311
+ return context.language === "typescript";
312
+ }
313
+ if (name === "language_is_python") {
314
+ return context.language === "python";
315
+ }
316
+ // General context lookup (truthy check)
317
+ const value = resolveVariable(name, context);
318
+ return value !== undefined && value !== null && value !== "" && value !== false;
319
+ }
260
320
  /**
261
321
  * Render a template string by substituting {{variable}} placeholders.
262
- * Supports {{variable | default: value}} syntax.
322
+ * Supports {{variable | default: value}} syntax and {{#if}}...{{/if}} conditionals.
263
323
  */
264
324
  export function renderTemplate(template, context) {
265
- return template.replace(/\{\{(\s*[\w.]+\s*(?:\|\s*default:\s*[^}]+)?)\}\}/g, (_match, expression) => {
325
+ // Process conditionals first, then variable substitution
326
+ const withConditionals = processConditionals(template, context);
327
+ return withConditionals.replace(/\{\{(\s*[\w.]+\s*(?:\|\s*default:\s*[^}]+)?)\}\}/g, (_match, expression) => {
266
328
  const parts = expression.split("|").map((p) => p.trim());
267
329
  const varName = parts[0];
268
330
  // Look up variable in context
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/registry/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/registry/renderer.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,8 @@ export declare class AnalysisError extends ForgeError {
27
27
  export declare class TemplateParseError extends ForgeError {
28
28
  constructor(filePath: string, reason: string);
29
29
  }
30
+ /** Remote MCP server discovery failed. */
31
+ export declare class DiscoveryError extends ForgeError {
32
+ constructor(message: string, url?: string);
33
+ }
30
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAKnE;AAED,iEAAiE;AACjE,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C;AAED,+CAA+C;AAC/C,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAG5C;AAED,oCAAoC;AACpC,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAG9C;AAED,0CAA0C;AAC1C,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,kDAAkD;AAClD,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAKnE;AAED,iEAAiE;AACjE,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C;AAED,+CAA+C;AAC/C,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAG5C;AAED,oCAAoC;AACpC,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAG9C;AAED,0CAA0C;AAC1C,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,kDAAkD;AAClD,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C;AAED,0CAA0C;AAC1C,qBAAa,cAAe,SAAQ,UAAU;gBAChC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG1C"}
@@ -41,4 +41,10 @@ export class TemplateParseError extends ForgeError {
41
41
  super(`Failed to parse template: ${reason}`, { filePath, reason });
42
42
  }
43
43
  }
44
+ /** Remote MCP server discovery failed. */
45
+ export class DiscoveryError extends ForgeError {
46
+ constructor(message, url) {
47
+ super(message, { url });
48
+ }
49
+ }
44
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,OAAO,CAA0B;IAEjD,YAAY,OAAe,EAAE,UAAmC,EAAE;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,GAAW,EAAE,OAAgB;QACvC,KAAK,CACH,2BAA2B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACxE,EAAE,GAAG,EAAE,OAAO,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,oCAAoC;AACpC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,6BAA6B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,OAAO,CAA0B;IAEjD,YAAY,OAAe,EAAE,UAAmC,EAAE;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,GAAW,EAAE,OAAgB;QACvC,KAAK,CACH,2BAA2B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACxE,EAAE,GAAG,EAAE,OAAO,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,oCAAoC;AACpC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,6BAA6B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,GAAY;QACvC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Filesystem safety utilities.
3
+ *
4
+ * Provides safe file writing (skip existing), git status checks,
5
+ * and instruction file merging for tools that modify the user's project directory.
6
+ */
7
+ /** Result of a safe file write operation. */
8
+ export type WriteResult = "created" | "skipped" | "overwritten";
9
+ /**
10
+ * Write a file only if it does not already exist.
11
+ * Creates parent directories as needed.
12
+ *
13
+ * @param filePath - Absolute path to write
14
+ * @param content - File content
15
+ * @param force - If true, overwrite existing files
16
+ * @returns Write status
17
+ */
18
+ export declare function writeFileIfMissing(filePath: string, content: string, force?: boolean): WriteResult;
19
+ /**
20
+ * Check if the project directory has uncommitted git changes.
21
+ * Returns a warning message if dirty, null if clean or not a git repo.
22
+ *
23
+ * @param projectDir - Absolute path to project root
24
+ * @returns Warning string or null
25
+ */
26
+ export declare function checkGitSafety(projectDir: string): string | null;
27
+ /**
28
+ * Merge a generated instruction file with an existing one.
29
+ * Preserves any custom sections (## or ###) from the existing file
30
+ * that are not present in the generated output.
31
+ *
32
+ * @param existing - Current file content with possible user-added sections
33
+ * @param generated - Newly generated content from ForgeCraft
34
+ * @returns Merged content with custom sections appended
35
+ */
36
+ export declare function mergeInstructionFiles(existing: string, generated: string): string;
37
+ /**
38
+ * Write an instruction file, merging with the existing file if present.
39
+ * Always preserves user-added custom sections.
40
+ *
41
+ * @param filePath - Absolute path to the instruction file
42
+ * @param content - New generated content
43
+ */
44
+ export declare function writeInstructionFileWithMerge(filePath: string, content: string): void;
45
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/shared/filesystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEhE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,UAAQ,GACZ,WAAW,CAcb;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CA0CR;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAYN"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Filesystem safety utilities.
3
+ *
4
+ * Provides safe file writing (skip existing), git status checks,
5
+ * and instruction file merging for tools that modify the user's project directory.
6
+ */
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
+ import { execSync } from "node:child_process";
9
+ import { dirname } from "node:path";
10
+ import { createLogger } from "./logger/index.js";
11
+ const logger = createLogger("shared/filesystem");
12
+ /**
13
+ * Write a file only if it does not already exist.
14
+ * Creates parent directories as needed.
15
+ *
16
+ * @param filePath - Absolute path to write
17
+ * @param content - File content
18
+ * @param force - If true, overwrite existing files
19
+ * @returns Write status
20
+ */
21
+ export function writeFileIfMissing(filePath, content, force = false) {
22
+ const exists = existsSync(filePath);
23
+ if (exists && !force) {
24
+ logger.debug("Skipping existing file", { filePath });
25
+ return "skipped";
26
+ }
27
+ mkdirSync(dirname(filePath), { recursive: true });
28
+ writeFileSync(filePath, content, "utf-8");
29
+ const result = exists ? "overwritten" : "created";
30
+ logger.debug("File written", { filePath, result });
31
+ return result;
32
+ }
33
+ /**
34
+ * Check if the project directory has uncommitted git changes.
35
+ * Returns a warning message if dirty, null if clean or not a git repo.
36
+ *
37
+ * @param projectDir - Absolute path to project root
38
+ * @returns Warning string or null
39
+ */
40
+ export function checkGitSafety(projectDir) {
41
+ try {
42
+ const output = execSync("git status --porcelain", {
43
+ cwd: projectDir,
44
+ timeout: 5_000,
45
+ encoding: "utf-8",
46
+ stdio: ["pipe", "pipe", "pipe"],
47
+ }).trim();
48
+ if (output.length > 0) {
49
+ const lines = output.split("\n").length;
50
+ return `${lines} uncommitted change${lines === 1 ? "" : "s"} detected. Consider committing or stashing before scaffolding.`;
51
+ }
52
+ return null;
53
+ }
54
+ catch {
55
+ // Not a git repo or git not available — no warning needed
56
+ return null;
57
+ }
58
+ }
59
+ /**
60
+ * Merge a generated instruction file with an existing one.
61
+ * Preserves any custom sections (## or ###) from the existing file
62
+ * that are not present in the generated output.
63
+ *
64
+ * @param existing - Current file content with possible user-added sections
65
+ * @param generated - Newly generated content from ForgeCraft
66
+ * @returns Merged content with custom sections appended
67
+ */
68
+ export function mergeInstructionFiles(existing, generated) {
69
+ const existingLines = existing.split("\n");
70
+ const generatedLines = generated.split("\n");
71
+ const generatedHeaders = new Set(generatedLines
72
+ .filter((l) => l.startsWith("## ") || l.startsWith("### "))
73
+ .map((l) => l.trim()));
74
+ const customSections = [];
75
+ let inCustomSection = false;
76
+ let currentSection = [];
77
+ for (const line of existingLines) {
78
+ if (line.startsWith("## ") || line.startsWith("### ")) {
79
+ if (inCustomSection && currentSection.length > 0) {
80
+ customSections.push(currentSection.join("\n"));
81
+ }
82
+ inCustomSection = !generatedHeaders.has(line.trim());
83
+ currentSection = inCustomSection ? [line] : [];
84
+ }
85
+ else if (inCustomSection) {
86
+ currentSection.push(line);
87
+ }
88
+ }
89
+ if (inCustomSection && currentSection.length > 0) {
90
+ customSections.push(currentSection.join("\n"));
91
+ }
92
+ if (customSections.length > 0) {
93
+ logger.info("Preserving custom sections during merge", {
94
+ sectionCount: customSections.length,
95
+ });
96
+ return (generated +
97
+ "\n\n<!-- Custom Sections (preserved from previous file) -->\n\n" +
98
+ customSections.join("\n\n"));
99
+ }
100
+ return generated;
101
+ }
102
+ /**
103
+ * Write an instruction file, merging with the existing file if present.
104
+ * Always preserves user-added custom sections.
105
+ *
106
+ * @param filePath - Absolute path to the instruction file
107
+ * @param content - New generated content
108
+ */
109
+ export function writeInstructionFileWithMerge(filePath, content) {
110
+ mkdirSync(dirname(filePath), { recursive: true });
111
+ if (existsSync(filePath)) {
112
+ const existing = readFileSync(filePath, "utf-8");
113
+ const merged = mergeInstructionFiles(existing, content);
114
+ writeFileSync(filePath, merged, "utf-8");
115
+ logger.debug("Instruction file merged", { filePath });
116
+ }
117
+ else {
118
+ writeFileSync(filePath, content, "utf-8");
119
+ logger.debug("Instruction file created", { filePath });
120
+ }
121
+ }
122
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/shared/filesystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAKjD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,OAAe,EACf,KAAK,GAAG,KAAK;IAEb,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAgB,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YAChD,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxC,OAAO,GAAG,KAAK,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gEAAgE,CAAC;QAC9H,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,SAAiB;IAEjB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,cAAc;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACxB,CAAC;IAEF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,eAAe,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,eAAe,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,eAAe,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;YACrD,YAAY,EAAE,cAAc,CAAC,MAAM;SACpC,CAAC,CAAC;QACH,OAAO,CACL,SAAS;YACT,iEAAiE;YACjE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAgB,EAChB,OAAe;IAEf,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * structures are defined here as the single source of truth.
6
6
  */
7
7
  /** All supported project classification tags. */
8
- export declare const ALL_TAGS: readonly ["UNIVERSAL", "WEB-REACT", "WEB-STATIC", "API", "DATA-PIPELINE", "ML", "HEALTHCARE", "FINTECH", "WEB3", "REALTIME", "STATE-MACHINE", "GAME", "SOCIAL", "CLI", "LIBRARY", "INFRA", "MOBILE", "ANALYTICS"];
8
+ export declare const ALL_TAGS: readonly ["UNIVERSAL", "WEB-REACT", "WEB-STATIC", "API", "DATA-PIPELINE", "ML", "HEALTHCARE", "FINTECH", "WEB3", "REALTIME", "STATE-MACHINE", "GAME", "SOCIAL", "CLI", "LIBRARY", "INFRA", "MOBILE", "ANALYTICS", "HIPAA", "SOC2", "DATA-LINEAGE", "OBSERVABILITY-XRAY", "MEDALLION-ARCHITECTURE", "ZERO-TRUST"];
9
9
  export type Tag = (typeof ALL_TAGS)[number];
10
10
  /** Description metadata for a single tag. */
11
11
  export interface TagInfo {
@@ -154,6 +154,18 @@ export interface NfrTemplate {
154
154
  readonly section: "nfr";
155
155
  readonly blocks: NfrBlock[];
156
156
  }
157
+ /** A design reference block (DDD, CQRS, GoF patterns) served on demand, not in instruction files. */
158
+ export interface ReferenceBlock {
159
+ readonly id: string;
160
+ readonly title: string;
161
+ readonly content: string;
162
+ }
163
+ /** A reference template for a tag. */
164
+ export interface ReferenceTemplate {
165
+ readonly tag: Tag;
166
+ readonly section: "reference";
167
+ readonly blocks: ReferenceBlock[];
168
+ }
157
169
  /** Hook template definition. */
158
170
  export interface HookTemplate {
159
171
  readonly name: string;
@@ -162,6 +174,36 @@ export interface HookTemplate {
162
174
  readonly filename: string;
163
175
  readonly script: string;
164
176
  }
177
+ /** Skill template — a reusable Claude Code custom command (.claude/commands/*.md). */
178
+ export interface SkillTemplate {
179
+ /** Unique identifier for deduplication across tags. */
180
+ readonly id: string;
181
+ /** Human-readable name shown in skill listings. */
182
+ readonly name: string;
183
+ /** Filename without .md extension — becomes .claude/commands/{filename}.md. */
184
+ readonly filename: string;
185
+ /** Brief description of what the skill does. */
186
+ readonly description: string;
187
+ /** Markdown content of the skill prompt. Supports {{vars}} and $ARGUMENTS. */
188
+ readonly content: string;
189
+ /** Content tier for filtering. Skills are tier-filtered (unlike hooks). */
190
+ readonly tier?: ContentTier;
191
+ }
192
+ /** Information about an available skill for listing. */
193
+ export interface SkillInfo {
194
+ readonly id: string;
195
+ readonly name: string;
196
+ readonly tag: Tag;
197
+ readonly filename: string;
198
+ readonly description: string;
199
+ readonly tier?: ContentTier;
200
+ }
201
+ /** Shape of the skills.yaml template file. */
202
+ export interface SkillsTemplate {
203
+ readonly tag: Tag;
204
+ readonly section: "skills";
205
+ readonly skills: SkillTemplate[];
206
+ }
165
207
  /** Review dimension (section) within a review template. */
166
208
  export type ReviewDimension = "architecture" | "code-quality" | "tests" | "performance";
167
209
  /** A single checklist item within a review block. */
@@ -205,7 +247,10 @@ export interface TagTemplateSet {
205
247
  readonly nfr?: NfrTemplate;
206
248
  readonly structure?: StructureTemplate;
207
249
  readonly hooks?: HookTemplate[];
250
+ readonly skills?: SkillTemplate[];
208
251
  readonly review?: ReviewTemplate;
252
+ readonly mcpServers?: McpServersTemplate;
253
+ readonly reference?: ReferenceTemplate;
209
254
  /**
210
255
  * @deprecated Use `instructions` instead. Alias kept for backward compatibility.
211
256
  */
@@ -223,6 +268,52 @@ export interface McpServerConfig {
223
268
  readonly args: string[];
224
269
  readonly env?: Record<string, string>;
225
270
  }
271
+ /** Category grouping for MCP server recommendations. */
272
+ export type McpServerCategory = "scaffolding" | "code-search" | "testing" | "debugging" | "devtools" | "deployment" | "database" | "documentation" | "game-engine" | "ai-ml" | "monitoring" | "general";
273
+ /** An MCP server entry in a curated registry YAML file. */
274
+ export interface McpServerEntry {
275
+ readonly name: string;
276
+ readonly description: string;
277
+ readonly command: string;
278
+ readonly args: string[];
279
+ readonly env?: Record<string, string>;
280
+ readonly tags: Tag[];
281
+ readonly category: McpServerCategory;
282
+ readonly url?: string;
283
+ /** Content tier for token budget control. Defaults to "recommended" if omitted. */
284
+ readonly tier?: ContentTier;
285
+ }
286
+ /** Shape of the mcp-servers.yaml template file. */
287
+ export interface McpServersTemplate {
288
+ readonly tag: Tag;
289
+ readonly section: "mcp-servers";
290
+ readonly servers: McpServerEntry[];
291
+ }
292
+ /** Source of a discovered MCP server recommendation. */
293
+ export type McpServerSource = "built-in" | "community" | "remote";
294
+ /** A recommended MCP server with discovery metadata. */
295
+ export interface McpServerRecommendation {
296
+ readonly name: string;
297
+ readonly description: string;
298
+ readonly command: string;
299
+ readonly args: string[];
300
+ readonly env?: Record<string, string>;
301
+ readonly relevantTags: Tag[];
302
+ readonly category: McpServerCategory;
303
+ readonly url?: string;
304
+ readonly source: McpServerSource;
305
+ /** Content tier for token budget control. Defaults to "recommended" if omitted. */
306
+ readonly tier?: ContentTier;
307
+ }
308
+ /** Options for controlling MCP server discovery behavior. */
309
+ export interface McpDiscoveryOptions {
310
+ /** Whether to also fetch from a remote registry. Defaults to false. */
311
+ readonly includeRemote?: boolean;
312
+ /** Override the default remote registry URL. */
313
+ readonly remoteRegistryUrl?: string;
314
+ /** Request timeout in milliseconds for remote fetches. Defaults to 5000. */
315
+ readonly remoteTimeoutMs?: number;
316
+ }
226
317
  /** User override configuration from forgecraft.yaml / .forgecraft.json. */
227
318
  export interface ForgeCraftConfig {
228
319
  /** Human-readable project name. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ export const ALL_TAGS = [
24
24
  "INFRA",
25
25
  "MOBILE",
26
26
  "ANALYTICS",
27
+ "HIPAA",
28
+ "SOC2",
29
+ "DATA-LINEAGE",
30
+ "OBSERVABILITY-XRAY",
31
+ "MEDALLION-ARCHITECTURE",
32
+ "ZERO-TRUST",
27
33
  ];
28
34
  /** All valid content tiers as a constant array for schema validation. */
29
35
  export const CONTENT_TIERS = ["core", "recommended", "optional"];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,KAAK;IACL,eAAe;IACf,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;CACH,CAAC;AA4EX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAElG,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;CACC,CAAC;AAoBX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,IAAI;KACtB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,yBAAyB;QACnC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,OAAO;KACrB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,QAAQ,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB;IACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,KAAK;IACL,eAAe;IACf,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,YAAY;CACJ,CAAC;AA4EX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAElG,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;CACC,CAAC;AAoBX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,IAAI;KACtB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,yBAAyB;QACnC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,OAAO;KACrB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,QAAQ,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB;IACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC"}
@@ -2,8 +2,11 @@
2
2
  * configure_mcp tool handler.
3
3
  *
4
4
  * Generates .claude/settings.json with recommended MCP servers based on tags.
5
+ * Uses the McpDiscoveryService to load curated servers from YAML templates
6
+ * and optionally fetch from a remote registry at setup time.
5
7
  */
6
8
  import { z } from "zod";
9
+ import type { McpDiscoveryService } from "../registry/mcp-discovery.js";
7
10
  export declare const configureMcpSchema: z.ZodObject<{
8
11
  tags: z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">;
9
12
  project_dir: z.ZodString;
@@ -21,15 +24,21 @@ export declare const configureMcpSchema: z.ZodObject<{
21
24
  env?: Record<string, string> | undefined;
22
25
  }>>>;
23
26
  auto_approve_tools: z.ZodDefault<z.ZodBoolean>;
27
+ include_remote: z.ZodDefault<z.ZodBoolean>;
28
+ remote_registry_url: z.ZodOptional<z.ZodString>;
29
+ max_servers: z.ZodOptional<z.ZodNumber>;
24
30
  }, "strip", z.ZodTypeAny, {
25
31
  tags: string[];
26
32
  project_dir: string;
27
33
  auto_approve_tools: boolean;
34
+ include_remote: boolean;
28
35
  custom_servers?: Record<string, {
29
36
  command: string;
30
37
  args: string[];
31
38
  env?: Record<string, string> | undefined;
32
39
  }> | undefined;
40
+ remote_registry_url?: string | undefined;
41
+ max_servers?: number | undefined;
33
42
  }, {
34
43
  tags: string[];
35
44
  project_dir: string;
@@ -39,7 +48,22 @@ export declare const configureMcpSchema: z.ZodObject<{
39
48
  env?: Record<string, string> | undefined;
40
49
  }> | undefined;
41
50
  auto_approve_tools?: boolean | undefined;
51
+ include_remote?: boolean | undefined;
52
+ remote_registry_url?: string | undefined;
53
+ max_servers?: number | undefined;
42
54
  }>;
55
+ /**
56
+ * Inject a custom discovery service (for testing).
57
+ *
58
+ * @param service - Discovery service to use, or undefined to reset to default
59
+ */
60
+ export declare function setDiscoveryService(service: McpDiscoveryService | undefined): void;
61
+ /**
62
+ * Generate .claude/settings.json with discovered MCP servers for active tags.
63
+ *
64
+ * @param args - Validated tool input
65
+ * @returns MCP tool response with configuration summary
66
+ */
43
67
  export declare function configureMcpHandler(args: z.infer<typeof configureMcpSchema>): Promise<{
44
68
  content: Array<{
45
69
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"configure-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC;AAmBH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4F7D"}
1
+ {"version":3,"file":"configure-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C7B,CAAC;AAOH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAElF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2H7D"}