forgecraft-mcp 0.1.0 → 0.2.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 (105) hide show
  1. package/README.md +41 -19
  2. package/dist/analyzers/completeness.js +29 -1
  3. package/dist/analyzers/completeness.js.map +1 -1
  4. package/dist/index.js +6 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/registry/composer.d.ts +6 -2
  7. package/dist/registry/composer.d.ts.map +1 -1
  8. package/dist/registry/composer.js +16 -7
  9. package/dist/registry/composer.js.map +1 -1
  10. package/dist/registry/loader.d.ts.map +1 -1
  11. package/dist/registry/loader.js +41 -9
  12. package/dist/registry/loader.js.map +1 -1
  13. package/dist/registry/mcp-discovery.d.ts +82 -0
  14. package/dist/registry/mcp-discovery.d.ts.map +1 -0
  15. package/dist/registry/mcp-discovery.js +202 -0
  16. package/dist/registry/mcp-discovery.js.map +1 -0
  17. package/dist/registry/renderer.d.ts +14 -4
  18. package/dist/registry/renderer.d.ts.map +1 -1
  19. package/dist/registry/renderer.js +41 -12
  20. package/dist/registry/renderer.js.map +1 -1
  21. package/dist/shared/errors/index.d.ts +4 -0
  22. package/dist/shared/errors/index.d.ts.map +1 -1
  23. package/dist/shared/errors/index.js +6 -0
  24. package/dist/shared/errors/index.js.map +1 -1
  25. package/dist/shared/types.d.ts +98 -8
  26. package/dist/shared/types.d.ts.map +1 -1
  27. package/dist/shared/types.js +77 -0
  28. package/dist/shared/types.js.map +1 -1
  29. package/dist/tools/audit.js +2 -2
  30. package/dist/tools/audit.js.map +1 -1
  31. package/dist/tools/configure-mcp.d.ts +21 -0
  32. package/dist/tools/configure-mcp.d.ts.map +1 -1
  33. package/dist/tools/configure-mcp.js +86 -24
  34. package/dist/tools/configure-mcp.js.map +1 -1
  35. package/dist/tools/convert.js +2 -2
  36. package/dist/tools/convert.js.map +1 -1
  37. package/dist/tools/generate-claude-md.d.ts +29 -3
  38. package/dist/tools/generate-claude-md.d.ts.map +1 -1
  39. package/dist/tools/generate-claude-md.js +58 -27
  40. package/dist/tools/generate-claude-md.js.map +1 -1
  41. package/dist/tools/list.d.ts.map +1 -1
  42. package/dist/tools/list.js +24 -0
  43. package/dist/tools/list.js.map +1 -1
  44. package/dist/tools/refresh-project.d.ts +3 -0
  45. package/dist/tools/refresh-project.d.ts.map +1 -1
  46. package/dist/tools/refresh-project.js +22 -10
  47. package/dist/tools/refresh-project.js.map +1 -1
  48. package/dist/tools/scaffold.d.ts +3 -0
  49. package/dist/tools/scaffold.d.ts.map +1 -1
  50. package/dist/tools/scaffold.js +20 -8
  51. package/dist/tools/scaffold.js.map +1 -1
  52. package/dist/tools/setup-project.d.ts +3 -0
  53. package/dist/tools/setup-project.d.ts.map +1 -1
  54. package/dist/tools/setup-project.js +58 -31
  55. package/dist/tools/setup-project.js.map +1 -1
  56. package/package.json +7 -3
  57. package/templates/analytics/{claude-md.yaml → instructions.yaml} +1 -1
  58. package/templates/analytics/mcp-servers.yaml +10 -0
  59. package/templates/api/{claude-md.yaml → instructions.yaml} +1 -1
  60. package/templates/api/mcp-servers.yaml +12 -0
  61. package/templates/cli/{claude-md.yaml → instructions.yaml} +1 -1
  62. package/templates/cli/mcp-servers.yaml +10 -0
  63. package/templates/data-lineage/instructions.yaml +28 -0
  64. package/templates/data-lineage/mcp-servers.yaml +20 -0
  65. package/templates/data-pipeline/{claude-md.yaml → instructions.yaml} +1 -1
  66. package/templates/data-pipeline/mcp-servers.yaml +12 -0
  67. package/templates/fintech/{claude-md.yaml → instructions.yaml} +1 -1
  68. package/templates/fintech/mcp-servers.yaml +12 -0
  69. package/templates/game/{claude-md.yaml → instructions.yaml} +1 -1
  70. package/templates/game/mcp-servers.yaml +10 -0
  71. package/templates/healthcare/{claude-md.yaml → instructions.yaml} +1 -1
  72. package/templates/healthcare/mcp-servers.yaml +12 -0
  73. package/templates/hipaa/instructions.yaml +41 -0
  74. package/templates/hipaa/mcp-servers.yaml +12 -0
  75. package/templates/infra/{claude-md.yaml → instructions.yaml} +1 -1
  76. package/templates/infra/mcp-servers.yaml +18 -0
  77. package/templates/library/{claude-md.yaml → instructions.yaml} +1 -1
  78. package/templates/library/mcp-servers.yaml +18 -0
  79. package/templates/medallion-architecture/instructions.yaml +41 -0
  80. package/templates/medallion-architecture/mcp-servers.yaml +20 -0
  81. package/templates/ml/{claude-md.yaml → instructions.yaml} +1 -1
  82. package/templates/ml/mcp-servers.yaml +10 -0
  83. package/templates/mobile/{claude-md.yaml → instructions.yaml} +1 -1
  84. package/templates/mobile/mcp-servers.yaml +10 -0
  85. package/templates/observability-xray/instructions.yaml +40 -0
  86. package/templates/observability-xray/mcp-servers.yaml +14 -0
  87. package/templates/realtime/{claude-md.yaml → instructions.yaml} +1 -1
  88. package/templates/realtime/mcp-servers.yaml +12 -0
  89. package/templates/soc2/instructions.yaml +41 -0
  90. package/templates/soc2/mcp-servers.yaml +22 -0
  91. package/templates/social/{claude-md.yaml → instructions.yaml} +1 -1
  92. package/templates/social/mcp-servers.yaml +22 -0
  93. package/templates/state-machine/{claude-md.yaml → instructions.yaml} +1 -1
  94. package/templates/state-machine/mcp-servers.yaml +10 -0
  95. package/templates/universal/hooks.yaml +1 -1
  96. package/templates/universal/{claude-md.yaml → instructions.yaml} +3 -3
  97. package/templates/universal/mcp-servers.yaml +26 -0
  98. package/templates/web-react/{claude-md.yaml → instructions.yaml} +1 -1
  99. package/templates/web-react/mcp-servers.yaml +18 -0
  100. package/templates/web-static/{claude-md.yaml → instructions.yaml} +1 -1
  101. package/templates/web-static/mcp-servers.yaml +18 -0
  102. package/templates/web3/{claude-md.yaml → instructions.yaml} +1 -1
  103. package/templates/web3/mcp-servers.yaml +10 -0
  104. package/templates/zero-trust/instructions.yaml +41 -0
  105. package/templates/zero-trust/mcp-servers.yaml +14 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <p align="center">
2
2
  <h1 align="center">ForgeCraft</h1>
3
3
  <p align="center">
4
- <strong>Give Claude Code real engineering standards. Automatically.</strong>
4
+ <strong>Production engineering standards for any AI coding assistant.</strong>
5
5
  </p>
6
6
  <p align="center">
7
7
  <a href="https://www.npmjs.com/package/forgecraft-mcp"><img src="https://img.shields.io/npm/v/forgecraft-mcp.svg" alt="npm version"></a>
@@ -12,11 +12,9 @@
12
12
 
13
13
  ---
14
14
 
15
- `claude init` gets you startedit scans your project and generates a basic CLAUDE.md. That's a great first step.
15
+ AI coding assistants work better with clear engineering standards. Most start with a generic instruction file ForgeCraft replaces that with production-grade standards: SOLID principles, testing pyramids, architecture patterns, CI/CD pipelines, domain-specific rules, and quality-gate hooks all composed from 112 curated template blocks matched to your actual stack.
16
16
 
17
- **ForgeCraft is the next step.**
18
-
19
- `claude init` gives you a generic starting point. ForgeCraft gives you production engineering standards: SOLID principles, testing pyramids with coverage targets, architecture patterns, CI/CD pipelines, domain-specific rules, and quality-gate hooks — all composed from 112 curated template blocks matched to your actual stack.
17
+ **Supports:** Claude (CLAUDE.md) · Cursor (.cursor/rules/) · GitHub Copilot (.github/copilot-instructions.md) · Windsurf (.windsurfrules) · Cline (.clinerules) · Aider (CONVENTIONS.md)
20
18
 
21
19
  ```bash
22
20
  claude mcp add forgecraft -- npx -y forgecraft-mcp
@@ -26,13 +24,14 @@ Then tell Claude:
26
24
 
27
25
  > "Set up this project for production"
28
26
 
29
- Done. Claude now has a tailored CLAUDE.md with SOLID principles, testing standards, architecture patterns, CI/CD guidance, and quality-gate hooks — all matched to your stack.
27
+ Done. Your AI assistant now has tailored instruction files with SOLID principles, testing standards, architecture patterns, CI/CD guidance, and quality-gate hooks — all matched to your stack.
30
28
 
31
29
  ## `claude init` vs ForgeCraft
32
30
 
33
31
  | | `claude init` | ForgeCraft |
34
32
  |---|---|---|
35
- | **CLAUDE.md** | Generic, one-size-fits-all | 112 curated blocks matched to your stack |
33
+ | **Instruction file** | Generic, one-size-fits-all | 112 curated blocks matched to your stack |
34
+ | **AI assistants** | Claude only | Claude, Cursor, Copilot, Windsurf, Cline, Aider |
36
35
  | **Architecture** | None | SOLID, hexagonal, clean code, DDD |
37
36
  | **Testing** | Basic mention | Testing pyramid with coverage targets (80%+) |
38
37
  | **Domain rules** | None | 18 domains (fintech, healthcare, gaming…) |
@@ -50,14 +49,14 @@ You: "Set up this project for production"
50
49
 
51
50
  Claude calls setup_project → scans your code → detects [API] + [WEB-REACT]
52
51
  → creates forgecraft.yaml
53
- → generates CLAUDE.md from 112 curated template blocks
52
+ → generates instruction files for your AI assistant(s)
54
53
  → adds quality-gate hooks
55
54
  → done
56
55
  ```
57
56
 
58
57
  ForgeCraft is an [MCP server](https://modelcontextprotocol.io/) — it gives Claude 14 specialized tools. Claude picks the right ones automatically. You just describe what you want in plain English.
59
58
 
60
- > **Already ran `claude init`?** ForgeCraft's `generate_claude_md` can merge with your existing CLAUDE.md (`merge_with_existing: true`), keeping your custom sections while adding production standards.
59
+ > **Already ran `claude init`?** ForgeCraft's `generate_instructions` can merge with your existing CLAUDE.md (`merge_with_existing: true`), keeping your custom sections while adding production standards.
61
60
 
62
61
  ## Install
63
62
 
@@ -92,7 +91,9 @@ After `setup_project`, your project has:
92
91
  ```
93
92
  your-project/
94
93
  ├── forgecraft.yaml ← Your config (tags, tier, customizations)
95
- ├── CLAUDE.md ← Engineering standards tailored to your stack
94
+ ├── CLAUDE.md ← Engineering standards (Claude)
95
+ ├── .cursor/rules/ ← Engineering standards (Cursor)
96
+ ├── .github/copilot-instructions.md ← Engineering standards (Copilot)
96
97
  ├── Status.md ← Session continuity tracker
97
98
  ├── .claude/hooks/ ← Pre-commit quality gates
98
99
  ├── docs/
@@ -101,7 +102,7 @@ your-project/
101
102
  └── src/shared/ ← Config, errors, logger starters
102
103
  ```
103
104
 
104
- ### The CLAUDE.md
105
+ ### The Instruction Files
105
106
 
106
107
  This is the core value. Assembled from curated blocks covering:
107
108
 
@@ -115,7 +116,7 @@ This is the core value. Assembled from curated blocks covering:
115
116
 
116
117
  Every block is sourced from established engineering literature (Martin, Evans, Wiggins) and adapted for AI-assisted development.
117
118
 
118
- ## 18 Tags — Pick What Fits
119
+ ## 24 Tags — Pick What Fits
119
120
 
120
121
  Tags are domain classifiers. ForgeCraft auto-detects them from your code, or you choose manually. Combine freely — blocks merge without conflicts.
121
122
 
@@ -139,6 +140,12 @@ Tags are domain classifiers. ForgeCraft auto-detects them from your code, or you
139
140
  | `ANALYTICS` | Event tracking, dashboards, data warehousing |
140
141
  | `STATE-MACHINE` | Transitions, guards, event-driven workflows |
141
142
  | `WEB3` | Smart contracts, gas optimization, wallet security |
143
+ | `HIPAA` | PII masking, encryption checks, audit logging |
144
+ | `SOC2` | Access control, change management, incident response |
145
+ | `DATA-LINEAGE` | 100% field coverage, lineage tracking decorators |
146
+ | `OBSERVABILITY-XRAY` | Auto X-Ray instrumentation for Lambdas |
147
+ | `MEDALLION-ARCHITECTURE` | Bronze=immutable, Silver=validated, Gold=aggregated |
148
+ | `ZERO-TRUST` | Deny-by-default IAM, explicit allow rules |
142
149
 
143
150
  ## Content Tiers
144
151
 
@@ -165,26 +172,27 @@ tier: recommended
165
172
  | `refresh_project` | Re-scan after changes. Detects new tags, updates config. |
166
173
  | `classify_project` | Analyze code to suggest tags |
167
174
  | `scaffold_project` | Generate full project structure |
168
- | `generate_claude_md` | Create/regenerate CLAUDE.md |
175
+ | `generate_instructions` | Create instruction files for any AI assistant |
169
176
  | `audit_project` | Score compliance (0-100). Run in CI. |
170
177
  | `review_project` | Structured review checklist |
171
178
  | `convert_existing` | Phased migration plan for legacy code |
172
179
  | `add_hook` | Add quality-gate hooks |
173
180
  | `add_module` | Scaffold a feature module |
174
- | `configure_mcp` | Generate `.claude/settings.json` |
181
+ | `configure_mcp` | Discover & configure recommended MCP servers |
175
182
  | `get_nfr_template` | NFR sections for tech specs |
176
183
  | `list_tags` | Show all available tags |
177
184
  | `list_hooks` | Show hooks, filterable by tag |
178
185
 
179
186
  ## Configuration
180
187
 
181
- ### Fine-tune what Claude sees
188
+ ### Fine-tune what your AI assistant sees
182
189
 
183
190
  ```yaml
184
191
  # forgecraft.yaml
185
192
  projectName: my-api
186
193
  tags: [UNIVERSAL, API, FINTECH]
187
194
  tier: recommended
195
+ outputTargets: [claude, cursor, copilot] # Generate for multiple assistants
188
196
 
189
197
  exclude:
190
198
  - cqrs-event-patterns # Don't need this yet
@@ -209,7 +217,7 @@ templateDirs:
209
217
  ```
210
218
  Score: 72/100 Grade: C
211
219
 
212
- CLAUDE.md exists
220
+ Instruction files exist
213
221
  ✅ Hooks installed (3/3)
214
222
  ✅ Test script configured
215
223
  🔴 hardcoded_url: src/auth/service.ts
@@ -227,15 +235,29 @@ Templates are YAML, not code. You can add patterns without writing TypeScript.
227
235
 
228
236
  ```
229
237
  templates/your-tag/
230
- ├── claude-md.yaml # CLAUDE.md blocks (with tier metadata)
238
+ ├── instructions.yaml # Instruction file blocks (with tier metadata)
231
239
  ├── structure.yaml # Folder structure
232
240
  ├── nfr.yaml # Non-functional requirements
233
241
  ├── hooks.yaml # Quality gate scripts
234
- └── review.yaml # Code review checklists
242
+ ├── review.yaml # Code review checklists
243
+ └── mcp-servers.yaml # Recommended MCP servers for this tag
235
244
  ```
236
245
 
237
246
  PRs welcome. See [`templates/universal/`](templates/universal/) for the format.
238
247
 
248
+ ### MCP Server Discovery
249
+
250
+ `configure_mcp` dynamically discovers recommended MCP servers matching your project tags. Servers are curated in `mcp-servers.yaml` per tag — community-contributable via PRs.
251
+
252
+ Built-in recommendations include Context7 (docs), Playwright (testing), Chrome DevTools (debugging), Stripe (fintech), Docker/K8s (infra), and more across all 24 tags.
253
+
254
+ Optionally fetch from a remote registry at setup time:
255
+ ```yaml
256
+ # In forgecraft.yaml or via tool parameter
257
+ include_remote: true
258
+ remote_registry_url: https://your-org.com/mcp-registry.json
259
+ ```
260
+
239
261
  ## Development
240
262
 
241
263
  ```bash
@@ -243,7 +265,7 @@ git clone https://github.com/jghiringhelli/forgecraft-mcp.git
243
265
  cd forgecraft-mcp
244
266
  npm install
245
267
  npm run build
246
- npm test # 111 tests, 9 suites
268
+ npm test # 128 tests, 10 suites
247
269
  ```
248
270
 
249
271
  ## License
@@ -15,7 +15,7 @@ export function checkCompleteness(projectDir, activeTags) {
15
15
  const passing = [];
16
16
  const failing = [];
17
17
  // UNIVERSAL checks — always run
18
- checkFileExists(projectDir, "CLAUDE.md", "claude_md_exists", "CLAUDE.md is the CC instruction set", passing, failing);
18
+ checkInstructionFileExists(projectDir, passing, failing);
19
19
  checkFileExists(projectDir, "Status.md", "status_md_exists", "Status.md enables session continuity", passing, failing);
20
20
  checkFileExists(projectDir, ".env.example", "env_example_exists", ".env.example documents required env vars", passing, failing);
21
21
  // Check Status.md freshness
@@ -40,6 +40,34 @@ export function checkCompleteness(projectDir, activeTags) {
40
40
  });
41
41
  return { passing, failing };
42
42
  }
43
+ /** Known AI assistant instruction file paths to check. */
44
+ const KNOWN_INSTRUCTION_PATHS = [
45
+ "CLAUDE.md",
46
+ ".cursor/rules",
47
+ ".github/copilot-instructions.md",
48
+ ".windsurfrules",
49
+ ".clinerules",
50
+ "CONVENTIONS.md",
51
+ ];
52
+ /**
53
+ * Check if any AI assistant instruction file exists.
54
+ */
55
+ function checkInstructionFileExists(projectDir, passing, failing) {
56
+ const found = KNOWN_INSTRUCTION_PATHS.filter((p) => existsSync(join(projectDir, p)));
57
+ if (found.length > 0) {
58
+ passing.push({
59
+ check: "instruction_file_exists",
60
+ message: `✅ Instruction file(s) found: ${found.join(", ")}`,
61
+ });
62
+ }
63
+ else {
64
+ failing.push({
65
+ check: "instruction_file_exists",
66
+ message: "No AI assistant instruction file found — run `generate_instructions` to create one",
67
+ severity: "error",
68
+ });
69
+ }
70
+ }
43
71
  /**
44
72
  * Check if a file or directory exists.
45
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"completeness.js","sourceRoot":"","sources":["../../src/analyzers/completeness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completeness.js","sourceRoot":"","sources":["../../src/analyzers/completeness.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import { createLogger } from "./shared/logger/index.js";
12
12
  import { listTagsSchema, listTagsHandler, listHooksSchema, listHooksHandler, } from "./tools/list.js";
13
13
  import { classifyProjectSchema, classifyProjectHandler, } from "./tools/classify.js";
14
14
  import { scaffoldProjectSchema, scaffoldProjectHandler, } from "./tools/scaffold.js";
15
- import { generateClaudeMdSchema, generateClaudeMdHandler, } from "./tools/generate-claude-md.js";
15
+ import { generateInstructionsSchema, generateInstructionsHandler, } from "./tools/generate-claude-md.js";
16
16
  import { auditProjectSchema, auditProjectHandler, } from "./tools/audit.js";
17
17
  import { addHookSchema, addHookHandler, } from "./tools/add-hook.js";
18
18
  import { addModuleSchema, addModuleHandler, } from "./tools/add-module.js";
@@ -28,14 +28,14 @@ async function main() {
28
28
  logger.info("Starting ForgeCraft MCP server");
29
29
  const server = new McpServer({
30
30
  name: "forgecraft",
31
- version: "0.1.0",
31
+ version: "0.2.0",
32
32
  });
33
33
  // ── Register Tools ───────────────────────────────────────────────
34
34
  server.tool("list_tags", "List all available project classification tags with descriptions.", listTagsSchema.shape, listTagsHandler);
35
35
  server.tool("list_hooks", "List available hooks, optionally filtered by tags.", listHooksSchema.shape, listHooksHandler);
36
36
  server.tool("classify_project", "Analyze a project directory and/or description to suggest classification tags.", classifyProjectSchema.shape, classifyProjectHandler);
37
- server.tool("scaffold_project", "Generate full project structure (CLAUDE.md, Status.md, hooks, folders) from tags.", scaffoldProjectSchema.shape, scaffoldProjectHandler);
38
- server.tool("generate_claude_md", "Generate or regenerate a production-grade CLAUDE.md for given tags. Goes far beyond what 'claude init' produces adds SOLID principles, testing pyramid, architecture patterns, CI/CD, and domain-specific standards from 112 curated blocks. Can merge with an existing CLAUDE.md to preserve custom sections.", generateClaudeMdSchema.shape, generateClaudeMdHandler);
37
+ server.tool("scaffold_project", "Generate full project structure (instruction files, Status.md, hooks, folders) from tags. Supports multiple AI assistant targets.", scaffoldProjectSchema.shape, scaffoldProjectHandler);
38
+ server.tool("generate_instructions", "Generate AI assistant instruction files for given tags. Supports multiple targets: Claude (CLAUDE.md), Cursor (.cursor/rules/), GitHub Copilot (.github/copilot-instructions.md), Windsurf (.windsurfrules), Cline (.clinerules), Aider (CONVENTIONS.md). Adds SOLID principles, testing pyramid, architecture patterns, CI/CD, and domain-specific standards from 112 curated blocks. Can merge with existing files to preserve custom sections.", generateInstructionsSchema.shape, generateInstructionsHandler);
39
39
  server.tool("audit_project", "Audit project against template standards and report violations with a score.", auditProjectSchema.shape, auditProjectHandler);
40
40
  server.tool("add_hook", "Add a specific quality-gate hook script to the project.", addHookSchema.shape, addHookHandler);
41
41
  server.tool("add_module", "Scaffold a new feature module following established patterns.", addModuleSchema.shape, addModuleHandler);
@@ -43,8 +43,8 @@ async function main() {
43
43
  server.tool("get_nfr_template", "Get NFR (Non-Functional Requirement) sections for specific tags.", getNfrTemplateSchema.shape, getNfrTemplateHandler);
44
44
  server.tool("convert_existing", "Analyze an existing codebase and generate a phased migration plan.", convertExistingSchema.shape, convertExistingHandler);
45
45
  server.tool("review_project", "Generate a structured code review checklist for active tags. Covers architecture, code quality, tests, and performance with per-issue guidance format.", reviewProjectSchema.shape, reviewProjectHandler);
46
- server.tool("setup_project", "RECOMMENDED FIRST STEP — goes beyond 'claude init' by generating production-grade CLAUDE.md from 112 curated template blocks. Analyzes project, auto-detects tags from code/dependencies, creates forgecraft.yaml config, and adds engineering standards (SOLID, testing pyramid, architecture patterns, CI/CD, domain rules). Call this when starting a new project, onboarding an existing codebase, or when 'claude init' gave you a basic CLAUDE.md and you want real standards. Works for new and existing projects. Supports tier-based content filtering (core/recommended/optional).", setupProjectSchema.shape, setupProjectHandler);
47
- server.tool("refresh_project", "Re-analyze a project that already has forgecraft.yaml. Detects tag drift (e.g. new framework added), proposes adding/removing tags, shows content impact. Use when project scope changes, new dependencies are added, or to upgrade content tier. Preview changes before applying.", refreshProjectSchema.shape, refreshProjectHandler);
46
+ server.tool("setup_project", "RECOMMENDED FIRST STEP — generates production-grade AI assistant instruction files from 112 curated template blocks. Supports Claude, Cursor, Copilot, Windsurf, Cline, and Aider. Analyzes project, auto-detects tags from code/dependencies, creates forgecraft.yaml config, and adds engineering standards (SOLID, testing pyramid, architecture patterns, CI/CD, domain rules). Works for new and existing projects. Supports tier-based content filtering (core/recommended/optional).", setupProjectSchema.shape, setupProjectHandler);
47
+ server.tool("refresh_project", "Re-analyze a project that already has forgecraft.yaml. Detects tag drift (e.g. new framework added), proposes adding/removing tags, shows content impact. Updates instruction files for all configured AI assistant targets. Preview changes before applying.", refreshProjectSchema.shape, refreshProjectHandler);
48
48
  // ── Start Stdio Transport ────────────────────────────────────────
49
49
  const transport = new StdioServerTransport();
50
50
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,wEAAwE;AACxE,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,wEAAwE;AAExE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEtC,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,oEAAoE;IAEpE,MAAM,CAAC,IAAI,CACT,WAAW,EACX,mEAAmE,EACnE,cAAc,CAAC,KAAK,EACpB,eAAe,CAChB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,oDAAoD,EACpD,eAAe,CAAC,KAAK,EACrB,gBAAgB,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gFAAgF,EAChF,qBAAqB,CAAC,KAAK,EAC3B,sBAAsB,CACvB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,mIAAmI,EACnI,qBAAqB,CAAC,KAAK,EAC3B,sBAAsB,CACvB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,mbAAmb,EACnb,0BAA0B,CAAC,KAAK,EAChC,2BAA2B,CAC5B,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8EAA8E,EAC9E,kBAAkB,CAAC,KAAK,EACxB,mBAAmB,CACpB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,yDAAyD,EACzD,aAAa,CAAC,KAAK,EACnB,cAAc,CACf,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,+DAA+D,EAC/D,eAAe,CAAC,KAAK,EACrB,gBAAgB,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8EAA8E,EAC9E,kBAAkB,CAAC,KAAK,EACxB,mBAAmB,CACpB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,kEAAkE,EAClE,oBAAoB,CAAC,KAAK,EAC1B,qBAAqB,CACtB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,oEAAoE,EACpE,qBAAqB,CAAC,KAAK,EAC3B,sBAAsB,CACvB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,wJAAwJ,EACxJ,mBAAmB,CAAC,KAAK,EACzB,oBAAoB,CACrB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6dAA6d,EAC7d,kBAAkB,CAAC,KAAK,EACxB,mBAAmB,CACpB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+PAA+P,EAC/P,oBAAoB,CAAC,KAAK,EAC1B,qBAAqB,CACtB,CAAC;IAEF,oEAAoE;IAEpE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;QACjC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC9D,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -5,14 +5,18 @@
5
5
  * hooks, and NFRs from all matching templates into unified outputs.
6
6
  * Handles merge, deduplication, ordering, and tier-based filtering.
7
7
  */
8
- import type { Tag, TagTemplateSet, ClaudeMdBlock, StructureEntry, NfrBlock, HookTemplate, ReviewBlock, ForgeCraftConfig } from "../shared/types.js";
8
+ import type { Tag, TagTemplateSet, InstructionBlock, StructureEntry, NfrBlock, HookTemplate, ReviewBlock, ForgeCraftConfig } from "../shared/types.js";
9
9
  /** Composed output for a set of active tags. */
10
10
  export interface ComposedTemplates {
11
- readonly claudeMdBlocks: ClaudeMdBlock[];
11
+ readonly instructionBlocks: InstructionBlock[];
12
12
  readonly structureEntries: StructureEntry[];
13
13
  readonly nfrBlocks: NfrBlock[];
14
14
  readonly hooks: HookTemplate[];
15
15
  readonly reviewBlocks: ReviewBlock[];
16
+ /**
17
+ * @deprecated Use `instructionBlocks` instead. Alias for backward compatibility.
18
+ */
19
+ readonly claudeMdBlocks: InstructionBlock[];
16
20
  }
17
21
  /** Options for controlling template composition. */
18
22
  export interface ComposeOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EAEX,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAoB5B,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;CACtC;AAED,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAwCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EAAE,EACjB,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,iBAAiB,CAuGnB"}
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EAEX,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAoB5B,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC;CAC7C;AAED,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAwCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EAAE,EACjB,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,iBAAiB,CAgHnB"}
@@ -67,7 +67,7 @@ export function composeTemplates(activeTags, allTemplates, options) {
67
67
  const excludeList = config?.exclude;
68
68
  // Ensure UNIVERSAL is first and present
69
69
  const orderedTags = normalizeTagOrder(activeTags);
70
- const claudeMdBlocks = [];
70
+ const instructionBlocks = [];
71
71
  const structureEntries = [];
72
72
  const nfrBlocks = [];
73
73
  const hooks = [];
@@ -83,14 +83,15 @@ export function composeTemplates(activeTags, allTemplates, options) {
83
83
  logger.warn("No templates found for tag", { tag });
84
84
  continue;
85
85
  }
86
- // Compose CLAUDE.md blocks (deduplicate by id, filter by tier)
87
- if (templateSet.claudeMd?.blocks) {
88
- for (const block of templateSet.claudeMd.blocks) {
86
+ // Compose instruction blocks (deduplicate by id, filter by tier)
87
+ const instrSource = templateSet.instructions ?? templateSet.claudeMd;
88
+ if (instrSource?.blocks) {
89
+ for (const block of instrSource.blocks) {
89
90
  if (!seenBlockIds.has(block.id) &&
90
91
  isTierAllowed(block.tier, allowedTiers) &&
91
92
  isBlockAllowed(block.id, includeList, excludeList)) {
92
93
  seenBlockIds.add(block.id);
93
- claudeMdBlocks.push(block);
94
+ instructionBlocks.push(block);
94
95
  }
95
96
  }
96
97
  }
@@ -138,13 +139,21 @@ export function composeTemplates(activeTags, allTemplates, options) {
138
139
  logger.info("Templates composed", {
139
140
  tags: orderedTags,
140
141
  tier: tierLevel,
141
- claudeMdBlocks: claudeMdBlocks.length,
142
+ instructionBlocks: instructionBlocks.length,
142
143
  structureEntries: structureEntries.length,
143
144
  nfrBlocks: nfrBlocks.length,
144
145
  hooks: hooks.length,
145
146
  reviewBlocks: reviewBlocks.length,
146
147
  });
147
- return { claudeMdBlocks, structureEntries, nfrBlocks, hooks, reviewBlocks };
148
+ return {
149
+ instructionBlocks,
150
+ structureEntries,
151
+ nfrBlocks,
152
+ hooks,
153
+ reviewBlocks,
154
+ // Backward-compat alias
155
+ claudeMdBlocks: instructionBlocks,
156
+ };
148
157
  }
149
158
  /**
150
159
  * Ensure UNIVERSAL is always first in the tag list.
@@ -1 +1 @@
1
- {"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAMd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CA0B1B;AA8FD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CA4BzB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAuC1B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAOd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CA0B1B;AAmHD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CA4BzB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAwC1B"}
@@ -65,15 +65,23 @@ export function loadAllTemplates(templatesDir) {
65
65
  * Load a single tag's template set from its directory.
66
66
  */
67
67
  function loadTagTemplateSet(tag, tagDir) {
68
- let claudeMd;
68
+ let instructions;
69
69
  let nfr;
70
70
  let structure;
71
71
  let hooks;
72
72
  let review;
73
- // Load claude-md.yaml
74
- const claudeMdPath = join(tagDir, "claude-md.yaml");
75
- if (existsSync(claudeMdPath)) {
76
- claudeMd = loadYamlFile(claudeMdPath);
73
+ let mcpServers;
74
+ // Load instructions.yaml (formerly claude-md.yaml)
75
+ const instructionsPath = join(tagDir, "instructions.yaml");
76
+ if (existsSync(instructionsPath)) {
77
+ instructions = loadYamlFile(instructionsPath);
78
+ }
79
+ // Backward compat: try claude-md.yaml if instructions.yaml not found
80
+ if (!instructions) {
81
+ const legacyPath = join(tagDir, "claude-md.yaml");
82
+ if (existsSync(legacyPath)) {
83
+ instructions = loadYamlFile(legacyPath);
84
+ }
77
85
  }
78
86
  // Load nfr.yaml
79
87
  const nfrPath = join(tagDir, "nfr.yaml");
@@ -96,7 +104,12 @@ function loadTagTemplateSet(tag, tagDir) {
96
104
  if (existsSync(reviewPath)) {
97
105
  review = loadYamlFile(reviewPath);
98
106
  }
99
- return { tag, claudeMd, nfr, structure, hooks, review };
107
+ // Load mcp-servers.yaml
108
+ const mcpServersPath = join(tagDir, "mcp-servers.yaml");
109
+ if (existsSync(mcpServersPath)) {
110
+ mcpServers = loadYamlFile(mcpServersPath);
111
+ }
112
+ return { tag, instructions, nfr, structure, hooks, review, mcpServers };
100
113
  }
101
114
  /**
102
115
  * Load and parse a single YAML template file.
@@ -142,6 +155,12 @@ function tagDirNameToTag(dirName) {
142
155
  infra: "INFRA",
143
156
  mobile: "MOBILE",
144
157
  analytics: "ANALYTICS",
158
+ hipaa: "HIPAA",
159
+ soc2: "SOC2",
160
+ "data-lineage": "DATA-LINEAGE",
161
+ "observability-xray": "OBSERVABILITY-XRAY",
162
+ "medallion-architecture": "MEDALLION-ARCHITECTURE",
163
+ "zero-trust": "ZERO-TRUST",
145
164
  };
146
165
  return mapping[dirName] ?? null;
147
166
  }
@@ -216,11 +235,12 @@ export function loadAllTemplatesWithExtras(builtInDir, extraDirs) {
216
235
  // Merge each template section additively
217
236
  const merged = {
218
237
  tag,
219
- claudeMd: mergeClaudeMdTemplates(baseSet.claudeMd, extraSet.claudeMd),
238
+ instructions: mergeInstructionTemplates(baseSet.instructions, extraSet.instructions),
220
239
  nfr: mergeNfrTemplates(baseSet.nfr, extraSet.nfr),
221
240
  structure: extraSet.structure ?? baseSet.structure,
222
241
  hooks: mergeHookTemplates(baseSet.hooks, extraSet.hooks),
223
242
  review: mergeReviewTemplates(baseSet.review, extraSet.review),
243
+ mcpServers: mergeMcpServersTemplates(baseSet.mcpServers, extraSet.mcpServers),
224
244
  };
225
245
  base.set(tag, merged);
226
246
  }
@@ -228,9 +248,9 @@ export function loadAllTemplatesWithExtras(builtInDir, extraDirs) {
228
248
  return base;
229
249
  }
230
250
  /**
231
- * Merge two ClaudeMdTemplates, appending non-duplicate blocks from the extra template.
251
+ * Merge two InstructionTemplates, appending non-duplicate blocks from the extra template.
232
252
  */
233
- function mergeClaudeMdTemplates(base, extra) {
253
+ function mergeInstructionTemplates(base, extra) {
234
254
  if (!extra)
235
255
  return base;
236
256
  if (!base)
@@ -275,4 +295,16 @@ function mergeReviewTemplates(base, extra) {
275
295
  const newBlocks = extra.blocks.filter((b) => !seenIds.has(b.id));
276
296
  return { ...base, blocks: [...base.blocks, ...newBlocks] };
277
297
  }
298
+ /**
299
+ * Merge two McpServersTemplates, appending non-duplicate servers by name.
300
+ */
301
+ function mergeMcpServersTemplates(base, extra) {
302
+ if (!extra)
303
+ return base;
304
+ if (!base)
305
+ return extra;
306
+ const seenNames = new Set(base.servers.map((s) => s.name));
307
+ const newServers = extra.servers.filter((s) => !seenNames.has(s.name));
308
+ return { ...base, servers: [...base.servers, ...newServers] };
309
+ }
278
310
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}