forgecraft-mcp 1.4.0 → 1.7.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 (418) hide show
  1. package/LICENSE +67 -0
  2. package/README.md +527 -525
  3. package/dist/analyzers/anchors/anchor-loader.d.ts +47 -0
  4. package/dist/analyzers/anchors/anchor-loader.d.ts.map +1 -0
  5. package/dist/analyzers/anchors/anchor-loader.js +113 -0
  6. package/dist/analyzers/anchors/anchor-loader.js.map +1 -0
  7. package/dist/analyzers/anti-pattern.d.ts.map +1 -1
  8. package/dist/analyzers/anti-pattern.js +38 -26
  9. package/dist/analyzers/anti-pattern.js.map +1 -1
  10. package/dist/analyzers/completeness-helpers.d.ts +5 -0
  11. package/dist/analyzers/completeness-helpers.d.ts.map +1 -1
  12. package/dist/analyzers/completeness-helpers.js +17 -0
  13. package/dist/analyzers/completeness-helpers.js.map +1 -1
  14. package/dist/analyzers/completeness.d.ts.map +1 -1
  15. package/dist/analyzers/completeness.js +4 -4
  16. package/dist/analyzers/completeness.js.map +1 -1
  17. package/dist/analyzers/gs-scorer.d.ts +3 -1
  18. package/dist/analyzers/gs-scorer.d.ts.map +1 -1
  19. package/dist/analyzers/gs-scorer.js +5 -2
  20. package/dist/analyzers/gs-scorer.js.map +1 -1
  21. package/dist/analyzers/package-json.d.ts.map +1 -1
  22. package/dist/analyzers/package-json.js +194 -34
  23. package/dist/analyzers/package-json.js.map +1 -1
  24. package/dist/analyzers/scorers/composable-scorer.d.ts +4 -2
  25. package/dist/analyzers/scorers/composable-scorer.d.ts.map +1 -1
  26. package/dist/analyzers/scorers/composable-scorer.js +50 -2
  27. package/dist/analyzers/scorers/composable-scorer.js.map +1 -1
  28. package/dist/analyzers/scorers/executable-scorer.d.ts +3 -2
  29. package/dist/analyzers/scorers/executable-scorer.d.ts.map +1 -1
  30. package/dist/analyzers/scorers/executable-scorer.js +64 -4
  31. package/dist/analyzers/scorers/executable-scorer.js.map +1 -1
  32. package/dist/analyzers/scorers/scorer-utils.d.ts +5 -3
  33. package/dist/analyzers/scorers/scorer-utils.d.ts.map +1 -1
  34. package/dist/analyzers/scorers/scorer-utils.js +34 -9
  35. package/dist/analyzers/scorers/scorer-utils.js.map +1 -1
  36. package/dist/analyzers/scorers/self-describing-scorer.d.ts +7 -4
  37. package/dist/analyzers/scorers/self-describing-scorer.d.ts.map +1 -1
  38. package/dist/analyzers/scorers/self-describing-scorer.js +17 -18
  39. package/dist/analyzers/scorers/self-describing-scorer.js.map +1 -1
  40. package/dist/cli/help.js +51 -51
  41. package/dist/disciplines/catalog.d.ts +16 -0
  42. package/dist/disciplines/catalog.d.ts.map +1 -0
  43. package/dist/disciplines/catalog.js +196 -0
  44. package/dist/disciplines/catalog.js.map +1 -0
  45. package/dist/disciplines/runner.d.ts +13 -0
  46. package/dist/disciplines/runner.d.ts.map +1 -0
  47. package/dist/disciplines/runner.js +35 -0
  48. package/dist/disciplines/runner.js.map +1 -0
  49. package/dist/registry/composer.d.ts.map +1 -1
  50. package/dist/registry/composer.js +9 -4
  51. package/dist/registry/composer.js.map +1 -1
  52. package/dist/registry/loader-tag.d.ts.map +1 -1
  53. package/dist/registry/loader-tag.js +1 -0
  54. package/dist/registry/loader-tag.js.map +1 -1
  55. package/dist/registry/remote-gates.js +1 -1
  56. package/dist/registry/remote-gates.js.map +1 -1
  57. package/dist/registry/renderer-skeletons.js +92 -92
  58. package/dist/registry/sentinel-renderer.js +299 -20
  59. package/dist/registry/sentinel-renderer.js.map +1 -1
  60. package/dist/sentinel/detect.d.ts +41 -0
  61. package/dist/sentinel/detect.d.ts.map +1 -0
  62. package/dist/sentinel/detect.js +122 -0
  63. package/dist/sentinel/detect.js.map +1 -0
  64. package/dist/sentinel/write.d.ts +54 -0
  65. package/dist/sentinel/write.d.ts.map +1 -0
  66. package/dist/sentinel/write.js +75 -0
  67. package/dist/sentinel/write.js.map +1 -0
  68. package/dist/shared/cnt-health.d.ts +16 -0
  69. package/dist/shared/cnt-health.d.ts.map +1 -1
  70. package/dist/shared/cnt-health.js +55 -8
  71. package/dist/shared/cnt-health.js.map +1 -1
  72. package/dist/shared/config.d.ts +14 -0
  73. package/dist/shared/config.d.ts.map +1 -1
  74. package/dist/shared/config.js +45 -0
  75. package/dist/shared/config.js.map +1 -1
  76. package/dist/shared/gs-score-logger.js +6 -6
  77. package/dist/shared/hook-installer.d.ts +58 -0
  78. package/dist/shared/hook-installer.d.ts.map +1 -0
  79. package/dist/shared/hook-installer.js +316 -0
  80. package/dist/shared/hook-installer.js.map +1 -0
  81. package/dist/shared/project-gates-helpers.d.ts +9 -0
  82. package/dist/shared/project-gates-helpers.d.ts.map +1 -1
  83. package/dist/shared/project-gates-helpers.js +35 -0
  84. package/dist/shared/project-gates-helpers.js.map +1 -1
  85. package/dist/shared/types/config.d.ts +7 -1
  86. package/dist/shared/types/config.d.ts.map +1 -1
  87. package/dist/shared/types/gates.d.ts +34 -0
  88. package/dist/shared/types/gates.d.ts.map +1 -1
  89. package/dist/shared/types/project.d.ts +68 -2
  90. package/dist/shared/types/project.d.ts.map +1 -1
  91. package/dist/shared/types/project.js +1 -0
  92. package/dist/shared/types/project.js.map +1 -1
  93. package/dist/shared/types/templates.d.ts +8 -1
  94. package/dist/shared/types/templates.d.ts.map +1 -1
  95. package/dist/shared/types/verify.d.ts +51 -1
  96. package/dist/shared/types/verify.d.ts.map +1 -1
  97. package/dist/shared/types/verify.js +37 -1
  98. package/dist/shared/types/verify.js.map +1 -1
  99. package/dist/tools/add-hook.d.ts.map +1 -1
  100. package/dist/tools/add-hook.js +8 -1
  101. package/dist/tools/add-hook.js.map +1 -1
  102. package/dist/tools/add-module.js +123 -123
  103. package/dist/tools/advice-registry.d.ts.map +1 -1
  104. package/dist/tools/advice-registry.js +108 -18
  105. package/dist/tools/advice-registry.js.map +1 -1
  106. package/dist/tools/advise-session-advisor.d.ts +16 -0
  107. package/dist/tools/advise-session-advisor.d.ts.map +1 -0
  108. package/dist/tools/advise-session-advisor.js +89 -0
  109. package/dist/tools/advise-session-advisor.js.map +1 -0
  110. package/dist/tools/advise-session-signals.d.ts +21 -0
  111. package/dist/tools/advise-session-signals.d.ts.map +1 -0
  112. package/dist/tools/advise-session-signals.js +113 -0
  113. package/dist/tools/advise-session-signals.js.map +1 -0
  114. package/dist/tools/advise-session.d.ts +22 -0
  115. package/dist/tools/advise-session.d.ts.map +1 -0
  116. package/dist/tools/advise-session.js +31 -0
  117. package/dist/tools/advise-session.js.map +1 -0
  118. package/dist/tools/analyze-harness.d.ts +18 -0
  119. package/dist/tools/analyze-harness.d.ts.map +1 -0
  120. package/dist/tools/analyze-harness.js +298 -0
  121. package/dist/tools/analyze-harness.js.map +1 -0
  122. package/dist/tools/audit.d.ts.map +1 -1
  123. package/dist/tools/audit.js +19 -0
  124. package/dist/tools/audit.js.map +1 -1
  125. package/dist/tools/change-request.d.ts +53 -0
  126. package/dist/tools/change-request.d.ts.map +1 -0
  127. package/dist/tools/change-request.js +395 -0
  128. package/dist/tools/change-request.js.map +1 -0
  129. package/dist/tools/check-cascade-contracts.d.ts +13 -0
  130. package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
  131. package/dist/tools/check-cascade-contracts.js +73 -2
  132. package/dist/tools/check-cascade-contracts.js.map +1 -1
  133. package/dist/tools/check-cascade-report.js +64 -64
  134. package/dist/tools/check-cascade-steps.d.ts +3 -0
  135. package/dist/tools/check-cascade-steps.d.ts.map +1 -1
  136. package/dist/tools/check-cascade-steps.js +104 -15
  137. package/dist/tools/check-cascade-steps.js.map +1 -1
  138. package/dist/tools/check-cascade.d.ts +4 -3
  139. package/dist/tools/check-cascade.d.ts.map +1 -1
  140. package/dist/tools/check-cascade.js +30 -12
  141. package/dist/tools/check-cascade.js.map +1 -1
  142. package/dist/tools/check-derivation-chain.d.ts +37 -0
  143. package/dist/tools/check-derivation-chain.d.ts.map +1 -0
  144. package/dist/tools/check-derivation-chain.js +418 -0
  145. package/dist/tools/check-derivation-chain.js.map +1 -0
  146. package/dist/tools/check-spec-consistency.d.ts +25 -0
  147. package/dist/tools/check-spec-consistency.d.ts.map +1 -0
  148. package/dist/tools/check-spec-consistency.js +339 -0
  149. package/dist/tools/check-spec-consistency.js.map +1 -0
  150. package/dist/tools/check-t4.d.ts +54 -0
  151. package/dist/tools/check-t4.d.ts.map +1 -0
  152. package/dist/tools/check-t4.js +305 -0
  153. package/dist/tools/check-t4.js.map +1 -0
  154. package/dist/tools/close-cycle.d.ts +11 -0
  155. package/dist/tools/close-cycle.d.ts.map +1 -1
  156. package/dist/tools/close-cycle.js +364 -4
  157. package/dist/tools/close-cycle.js.map +1 -1
  158. package/dist/tools/cnt-add-routing.d.ts +31 -0
  159. package/dist/tools/cnt-add-routing.d.ts.map +1 -0
  160. package/dist/tools/cnt-add-routing.js +99 -0
  161. package/dist/tools/cnt-add-routing.js.map +1 -0
  162. package/dist/tools/configure-mcp.d.ts.map +1 -1
  163. package/dist/tools/configure-mcp.js +52 -2
  164. package/dist/tools/configure-mcp.js.map +1 -1
  165. package/dist/tools/consolidate-status.d.ts +31 -0
  166. package/dist/tools/consolidate-status.d.ts.map +1 -1
  167. package/dist/tools/consolidate-status.js +105 -0
  168. package/dist/tools/consolidate-status.js.map +1 -1
  169. package/dist/tools/executable-gates.d.ts +52 -0
  170. package/dist/tools/executable-gates.d.ts.map +1 -0
  171. package/dist/tools/executable-gates.js +333 -0
  172. package/dist/tools/executable-gates.js.map +1 -0
  173. package/dist/tools/extract-adrs-from-spec.d.ts +33 -0
  174. package/dist/tools/extract-adrs-from-spec.d.ts.map +1 -0
  175. package/dist/tools/extract-adrs-from-spec.js +410 -0
  176. package/dist/tools/extract-adrs-from-spec.js.map +1 -0
  177. package/dist/tools/extract-adrs-history.d.ts +47 -0
  178. package/dist/tools/extract-adrs-history.d.ts.map +1 -0
  179. package/dist/tools/extract-adrs-history.js +265 -0
  180. package/dist/tools/extract-adrs-history.js.map +1 -0
  181. package/dist/tools/forgecraft-dispatch-extended.d.ts.map +1 -1
  182. package/dist/tools/forgecraft-dispatch-extended.js +137 -0
  183. package/dist/tools/forgecraft-dispatch-extended.js.map +1 -1
  184. package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
  185. package/dist/tools/forgecraft-dispatch.js +16 -0
  186. package/dist/tools/forgecraft-dispatch.js.map +1 -1
  187. package/dist/tools/forgecraft-schema-params.d.ts +174 -2
  188. package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
  189. package/dist/tools/forgecraft-schema-params.js +197 -0
  190. package/dist/tools/forgecraft-schema-params.js.map +1 -1
  191. package/dist/tools/forgecraft-schema.d.ts +179 -7
  192. package/dist/tools/forgecraft-schema.d.ts.map +1 -1
  193. package/dist/tools/forgecraft-schema.js +37 -0
  194. package/dist/tools/forgecraft-schema.js.map +1 -1
  195. package/dist/tools/generate-adr.js +6 -6
  196. package/dist/tools/generate-adr.js.map +1 -1
  197. package/dist/tools/generate-decision.d.ts +77 -0
  198. package/dist/tools/generate-decision.d.ts.map +1 -0
  199. package/dist/tools/generate-decision.js +162 -0
  200. package/dist/tools/generate-decision.js.map +1 -0
  201. package/dist/tools/generate-env-probe.d.ts +49 -0
  202. package/dist/tools/generate-env-probe.d.ts.map +1 -0
  203. package/dist/tools/generate-env-probe.js +365 -0
  204. package/dist/tools/generate-env-probe.js.map +1 -0
  205. package/dist/tools/generate-harness.d.ts +53 -0
  206. package/dist/tools/generate-harness.d.ts.map +1 -0
  207. package/dist/tools/generate-harness.js +395 -0
  208. package/dist/tools/generate-harness.js.map +1 -0
  209. package/dist/tools/generate-roadmap.d.ts +1 -1
  210. package/dist/tools/generate-roadmap.d.ts.map +1 -1
  211. package/dist/tools/generate-roadmap.js +38 -4
  212. package/dist/tools/generate-roadmap.js.map +1 -1
  213. package/dist/tools/generate-session-prompt.d.ts +3 -3
  214. package/dist/tools/generate-session-prompt.d.ts.map +1 -1
  215. package/dist/tools/generate-session-prompt.js +9 -1
  216. package/dist/tools/generate-session-prompt.js.map +1 -1
  217. package/dist/tools/generate-slo-probe.d.ts +53 -0
  218. package/dist/tools/generate-slo-probe.d.ts.map +1 -0
  219. package/dist/tools/generate-slo-probe.js +366 -0
  220. package/dist/tools/generate-slo-probe.js.map +1 -0
  221. package/dist/tools/layer-status-gates.d.ts +24 -0
  222. package/dist/tools/layer-status-gates.d.ts.map +1 -0
  223. package/dist/tools/layer-status-gates.js +151 -0
  224. package/dist/tools/layer-status-gates.js.map +1 -0
  225. package/dist/tools/layer-status.d.ts +126 -0
  226. package/dist/tools/layer-status.d.ts.map +1 -0
  227. package/dist/tools/layer-status.js +647 -0
  228. package/dist/tools/layer-status.js.map +1 -0
  229. package/dist/tools/list.d.ts.map +1 -1
  230. package/dist/tools/list.js +9 -5
  231. package/dist/tools/list.js.map +1 -1
  232. package/dist/tools/postcondition-coverage.d.ts +57 -0
  233. package/dist/tools/postcondition-coverage.d.ts.map +1 -0
  234. package/dist/tools/postcondition-coverage.js +256 -0
  235. package/dist/tools/postcondition-coverage.js.map +1 -0
  236. package/dist/tools/probe-runners.d.ts +21 -0
  237. package/dist/tools/probe-runners.d.ts.map +1 -0
  238. package/dist/tools/probe-runners.js +246 -0
  239. package/dist/tools/probe-runners.js.map +1 -0
  240. package/dist/tools/probe-templates.d.ts +27 -0
  241. package/dist/tools/probe-templates.d.ts.map +1 -0
  242. package/dist/tools/probe-templates.js +279 -0
  243. package/dist/tools/probe-templates.js.map +1 -0
  244. package/dist/tools/propose-session.d.ts +28 -0
  245. package/dist/tools/propose-session.d.ts.map +1 -0
  246. package/dist/tools/propose-session.js +333 -0
  247. package/dist/tools/propose-session.js.map +1 -0
  248. package/dist/tools/refresh-output.js +14 -14
  249. package/dist/tools/review-stubs.d.ts +29 -0
  250. package/dist/tools/review-stubs.d.ts.map +1 -0
  251. package/dist/tools/review-stubs.js +173 -0
  252. package/dist/tools/review-stubs.js.map +1 -0
  253. package/dist/tools/roadmap-builder.d.ts +49 -1
  254. package/dist/tools/roadmap-builder.d.ts.map +1 -1
  255. package/dist/tools/roadmap-builder.js +210 -5
  256. package/dist/tools/roadmap-builder.js.map +1 -1
  257. package/dist/tools/run-env-probe.d.ts +57 -0
  258. package/dist/tools/run-env-probe.d.ts.map +1 -0
  259. package/dist/tools/run-env-probe.js +270 -0
  260. package/dist/tools/run-env-probe.js.map +1 -0
  261. package/dist/tools/run-harness.d.ts +52 -0
  262. package/dist/tools/run-harness.d.ts.map +1 -0
  263. package/dist/tools/run-harness.js +279 -0
  264. package/dist/tools/run-harness.js.map +1 -0
  265. package/dist/tools/run-slo-probe.d.ts +50 -0
  266. package/dist/tools/run-slo-probe.d.ts.map +1 -0
  267. package/dist/tools/run-slo-probe.js +281 -0
  268. package/dist/tools/run-slo-probe.js.map +1 -0
  269. package/dist/tools/scaffold-spec-stubs.js +115 -115
  270. package/dist/tools/scaffold-templates.js +62 -62
  271. package/dist/tools/scaffold-writer.d.ts.map +1 -1
  272. package/dist/tools/scaffold-writer.js +9 -0
  273. package/dist/tools/scaffold-writer.js.map +1 -1
  274. package/dist/tools/score-rubric.d.ts +19 -0
  275. package/dist/tools/score-rubric.d.ts.map +1 -0
  276. package/dist/tools/score-rubric.js +411 -0
  277. package/dist/tools/score-rubric.js.map +1 -0
  278. package/dist/tools/session-prompt-builders.d.ts +20 -0
  279. package/dist/tools/session-prompt-builders.d.ts.map +1 -1
  280. package/dist/tools/session-prompt-builders.js +78 -5
  281. package/dist/tools/session-prompt-builders.js.map +1 -1
  282. package/dist/tools/session-prompt-sections.d.ts +4 -2
  283. package/dist/tools/session-prompt-sections.d.ts.map +1 -1
  284. package/dist/tools/session-prompt-sections.js +22 -10
  285. package/dist/tools/session-prompt-sections.js.map +1 -1
  286. package/dist/tools/setup-artifact-writers.d.ts +69 -4
  287. package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
  288. package/dist/tools/setup-artifact-writers.js +681 -5
  289. package/dist/tools/setup-artifact-writers.js.map +1 -1
  290. package/dist/tools/setup-cnt-builders.d.ts.map +1 -1
  291. package/dist/tools/setup-cnt-builders.js +162 -34
  292. package/dist/tools/setup-cnt-builders.js.map +1 -1
  293. package/dist/tools/setup-monitoring.d.ts +41 -0
  294. package/dist/tools/setup-monitoring.d.ts.map +1 -0
  295. package/dist/tools/setup-monitoring.js +364 -0
  296. package/dist/tools/setup-monitoring.js.map +1 -0
  297. package/dist/tools/setup-phase1.d.ts.map +1 -1
  298. package/dist/tools/setup-phase1.js +14 -1
  299. package/dist/tools/setup-phase1.js.map +1 -1
  300. package/dist/tools/setup-phase2.d.ts +14 -0
  301. package/dist/tools/setup-phase2.d.ts.map +1 -1
  302. package/dist/tools/setup-phase2.js +130 -3
  303. package/dist/tools/setup-phase2.js.map +1 -1
  304. package/dist/tools/setup-project.d.ts +8 -0
  305. package/dist/tools/setup-project.d.ts.map +1 -1
  306. package/dist/tools/setup-project.js +52 -2
  307. package/dist/tools/setup-project.js.map +1 -1
  308. package/dist/tools/spec-parser-tags.d.ts.map +1 -1
  309. package/dist/tools/spec-parser-tags.js +1 -0
  310. package/dist/tools/spec-parser-tags.js.map +1 -1
  311. package/dist/tools/verify-formatter.d.ts.map +1 -1
  312. package/dist/tools/verify-formatter.js +15 -1
  313. package/dist/tools/verify-formatter.js.map +1 -1
  314. package/dist/tools/verify.d.ts.map +1 -1
  315. package/dist/tools/verify.js +3 -0
  316. package/dist/tools/verify.js.map +1 -1
  317. package/package.json +98 -89
  318. package/templates/analytics/instructions.yaml +37 -37
  319. package/templates/analytics/mcp-servers.yaml +11 -11
  320. package/templates/analytics/structure.yaml +25 -25
  321. package/templates/api/harness/uc-template.hurl +20 -0
  322. package/templates/api/instructions.yaml +231 -231
  323. package/templates/api/mcp-servers.yaml +22 -22
  324. package/templates/api/nfr.yaml +23 -23
  325. package/templates/api/review.yaml +103 -103
  326. package/templates/api/structure.yaml +34 -34
  327. package/templates/api/verification.yaml +132 -132
  328. package/templates/cli/instructions.yaml +31 -31
  329. package/templates/cli/mcp-servers.yaml +11 -11
  330. package/templates/cli/review.yaml +53 -53
  331. package/templates/cli/structure.yaml +16 -16
  332. package/templates/data-lineage/instructions.yaml +28 -28
  333. package/templates/data-lineage/mcp-servers.yaml +22 -22
  334. package/templates/data-pipeline/instructions.yaml +84 -84
  335. package/templates/data-pipeline/mcp-servers.yaml +13 -13
  336. package/templates/data-pipeline/nfr.yaml +39 -39
  337. package/templates/data-pipeline/structure.yaml +23 -23
  338. package/templates/docs-manifest.yaml +227 -0
  339. package/templates/fintech/hooks.yaml +55 -55
  340. package/templates/fintech/instructions.yaml +112 -112
  341. package/templates/fintech/mcp-servers.yaml +13 -13
  342. package/templates/fintech/nfr.yaml +46 -46
  343. package/templates/fintech/playbook.yaml +210 -210
  344. package/templates/fintech/verification.yaml +239 -239
  345. package/templates/game/harness/uc-template.sim.ts +29 -0
  346. package/templates/game/instructions.yaml +289 -289
  347. package/templates/game/mcp-servers.yaml +38 -38
  348. package/templates/game/nfr.yaml +64 -64
  349. package/templates/game/playbook.yaml +214 -214
  350. package/templates/game/review.yaml +97 -97
  351. package/templates/game/structure.yaml +67 -67
  352. package/templates/game/verification.yaml +174 -174
  353. package/templates/healthcare/instructions.yaml +42 -42
  354. package/templates/healthcare/mcp-servers.yaml +13 -13
  355. package/templates/healthcare/nfr.yaml +47 -47
  356. package/templates/hipaa/instructions.yaml +41 -41
  357. package/templates/hipaa/mcp-servers.yaml +13 -13
  358. package/templates/infra/instructions.yaml +104 -104
  359. package/templates/infra/mcp-servers.yaml +20 -20
  360. package/templates/infra/nfr.yaml +46 -46
  361. package/templates/infra/review.yaml +65 -65
  362. package/templates/infra/structure.yaml +25 -25
  363. package/templates/library/instructions.yaml +36 -36
  364. package/templates/library/mcp-servers.yaml +20 -20
  365. package/templates/library/review.yaml +56 -56
  366. package/templates/library/structure.yaml +19 -19
  367. package/templates/medallion-architecture/instructions.yaml +41 -41
  368. package/templates/medallion-architecture/mcp-servers.yaml +22 -22
  369. package/templates/ml/instructions.yaml +85 -85
  370. package/templates/ml/mcp-servers.yaml +11 -11
  371. package/templates/ml/nfr.yaml +39 -39
  372. package/templates/ml/structure.yaml +25 -25
  373. package/templates/ml/verification.yaml +156 -156
  374. package/templates/mobile/instructions.yaml +44 -44
  375. package/templates/mobile/mcp-servers.yaml +11 -11
  376. package/templates/mobile/nfr.yaml +49 -49
  377. package/templates/mobile/structure.yaml +27 -27
  378. package/templates/mobile/verification.yaml +121 -121
  379. package/templates/observability-xray/instructions.yaml +40 -40
  380. package/templates/observability-xray/mcp-servers.yaml +15 -15
  381. package/templates/realtime/instructions.yaml +42 -42
  382. package/templates/realtime/mcp-servers.yaml +13 -13
  383. package/templates/soc2/instructions.yaml +41 -41
  384. package/templates/soc2/mcp-servers.yaml +24 -24
  385. package/templates/social/instructions.yaml +43 -43
  386. package/templates/social/mcp-servers.yaml +24 -24
  387. package/templates/state-machine/instructions.yaml +42 -42
  388. package/templates/state-machine/mcp-servers.yaml +11 -11
  389. package/templates/tools-registry.yaml +164 -164
  390. package/templates/universal/claude-md-blocks/layer-navigation.md +20 -0
  391. package/templates/universal/claude-md-blocks/nfr-contracts.md +22 -0
  392. package/templates/universal/hooks.yaml +879 -723
  393. package/templates/universal/instructions.yaml +1692 -1692
  394. package/templates/universal/mcp-servers.yaml +50 -50
  395. package/templates/universal/nfr.yaml +197 -197
  396. package/templates/universal/reference.yaml +326 -326
  397. package/templates/universal/review.yaml +204 -204
  398. package/templates/universal/skills.yaml +262 -262
  399. package/templates/universal/structure.yaml +67 -67
  400. package/templates/universal/verification.yaml +416 -416
  401. package/templates/web-next/hooks.yaml +114 -0
  402. package/templates/web-next/instructions.yaml +106 -0
  403. package/templates/web-react/harness/uc-template.spec.ts +35 -0
  404. package/templates/web-react/hooks.yaml +156 -44
  405. package/templates/web-react/instructions.yaml +296 -207
  406. package/templates/web-react/mcp-servers.yaml +20 -20
  407. package/templates/web-react/nfr.yaml +27 -27
  408. package/templates/web-react/review.yaml +94 -94
  409. package/templates/web-react/structure.yaml +46 -46
  410. package/templates/web-react/verification.yaml +126 -126
  411. package/templates/web-static/hooks.yaml +85 -0
  412. package/templates/web-static/instructions.yaml +204 -115
  413. package/templates/web-static/mcp-servers.yaml +20 -20
  414. package/templates/web3/instructions.yaml +44 -44
  415. package/templates/web3/mcp-servers.yaml +11 -11
  416. package/templates/web3/verification.yaml +159 -159
  417. package/templates/zero-trust/instructions.yaml +41 -41
  418. package/templates/zero-trust/mcp-servers.yaml +15 -15
@@ -5,7 +5,7 @@
5
5
  * Both halves are merged into the final forgecraftSchema.
6
6
  */
7
7
  import { z } from "zod";
8
- export declare const ACTIONS: readonly ["setup_project", "refresh", "scaffold", "generate", "audit", "review", "list", "classify", "add_hook", "add_module", "configure_mcp", "get_reference", "convert", "verify", "advice", "metrics", "check_cascade", "generate_session_prompt", "get_verification_strategy", "record_verification", "verification_status", "generate_adr", "contribute_gate", "generate_diagram", "set_cascade_requirement", "close_cycle", "consolidate_status", "read_gate_violations", "generate_roadmap", "cnt_add_node", "start_hardening"];
8
+ export declare const ACTIONS: readonly ["setup_project", "refresh", "scaffold", "generate", "audit", "review", "list", "classify", "add_hook", "add_module", "configure_mcp", "get_reference", "convert", "verify", "advice", "metrics", "check_cascade", "generate_session_prompt", "get_verification_strategy", "record_verification", "verification_status", "generate_adr", "contribute_gate", "generate_diagram", "set_cascade_requirement", "close_cycle", "consolidate_status", "read_gate_violations", "generate_roadmap", "cnt_add_node", "start_hardening", "layer_status", "generate_harness", "run_harness", "generate_env_probe", "run_env_probe", "generate_slo_probe", "run_slo_probe", "propose_session", "check_spec_consistency", "advise_session", "change_request", "list_changes", "generate_decision", "cnt_add_routing", "extract_adrs_from_history", "extract_adrs_from_spec", "review_stubs", "check_derivation_chain", "score_rubric", "setup_monitoring", "check_t4", "analyze_harness"];
9
9
  export type Action = (typeof ACTIONS)[number];
10
10
  export declare const forgecraftSchema: z.ZodObject<{
11
11
  action: z.ZodEnum<[string, ...string[]]>;
@@ -71,6 +71,13 @@ export declare const forgecraftSchema: z.ZodObject<{
71
71
  adr_decision: z.ZodOptional<z.ZodString>;
72
72
  adr_alternatives: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
73
  adr_consequences: z.ZodOptional<z.ZodString>;
74
+ decision_title: z.ZodOptional<z.ZodString>;
75
+ decision_trigger: z.ZodOptional<z.ZodString>;
76
+ decision_root_cause: z.ZodOptional<z.ZodString>;
77
+ decision_fix: z.ZodOptional<z.ZodString>;
78
+ decision_regression_test: z.ZodOptional<z.ZodString>;
79
+ decision_chronicle_session_id: z.ZodOptional<z.ZodString>;
80
+ decision_related_adr: z.ZodOptional<z.ZodString>;
74
81
  cascade_step: z.ZodOptional<z.ZodEnum<["functional_spec", "architecture_diagrams", "constitution", "adrs", "behavioral_contracts"]>>;
75
82
  cascade_required: z.ZodOptional<z.ZodBoolean>;
76
83
  cascade_rationale: z.ZodOptional<z.ZodString>;
@@ -84,11 +91,80 @@ export declare const forgecraftSchema: z.ZodObject<{
84
91
  use_playwright: z.ZodOptional<z.ZodBoolean>;
85
92
  tool_sample_split: z.ZodOptional<z.ZodEnum<["tool_and_sample", "tool_only", "content_only"]>>;
86
93
  project_type_override: z.ZodOptional<z.ZodString>;
94
+ problem_statement: z.ZodOptional<z.ZodString>;
95
+ primary_users: z.ZodOptional<z.ZodString>;
96
+ success_criteria: z.ZodOptional<z.ZodString>;
97
+ spec_file_confirmed: z.ZodOptional<z.ZodString>;
98
+ use_cases: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ id: z.ZodString;
100
+ title: z.ZodString;
101
+ actor: z.ZodString;
102
+ precondition: z.ZodString;
103
+ steps: z.ZodArray<z.ZodString, "many">;
104
+ postcondition: z.ZodString;
105
+ errorCases: z.ZodOptional<z.ZodArray<z.ZodObject<{
106
+ name: z.ZodString;
107
+ description: z.ZodString;
108
+ }, "strip", z.ZodTypeAny, {
109
+ description: string;
110
+ name: string;
111
+ }, {
112
+ description: string;
113
+ name: string;
114
+ }>, "many">>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ id: string;
117
+ title: string;
118
+ steps: string[];
119
+ actor: string;
120
+ precondition: string;
121
+ postcondition: string;
122
+ errorCases?: {
123
+ description: string;
124
+ name: string;
125
+ }[] | undefined;
126
+ }, {
127
+ id: string;
128
+ title: string;
129
+ steps: string[];
130
+ actor: string;
131
+ precondition: string;
132
+ postcondition: string;
133
+ errorCases?: {
134
+ description: string;
135
+ name: string;
136
+ }[] | undefined;
137
+ }>, "many">>;
87
138
  cnt_domain: z.ZodOptional<z.ZodString>;
88
139
  cnt_concern: z.ZodOptional<z.ZodString>;
89
140
  cnt_content: z.ZodOptional<z.ZodString>;
90
141
  deployment_url: z.ZodOptional<z.ZodString>;
91
142
  skip_load_test: z.ZodOptional<z.ZodBoolean>;
143
+ harness_uc_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
144
+ harness_timeout_ms: z.ZodOptional<z.ZodNumber>;
145
+ env_probe_force: z.ZodOptional<z.ZodBoolean>;
146
+ env_probe_timeout_ms: z.ZodOptional<z.ZodNumber>;
147
+ slo_probe_force: z.ZodOptional<z.ZodBoolean>;
148
+ slo_probe_timeout_ms: z.ZodOptional<z.ZodNumber>;
149
+ max_items: z.ZodOptional<z.ZodNumber>;
150
+ change_title: z.ZodOptional<z.ZodString>;
151
+ change_description: z.ZodOptional<z.ZodString>;
152
+ change_type: z.ZodOptional<z.ZodEnum<["spec-change", "breaking-api", "adr-supersession", "gate-change", "dependency-update", "bug-postmortem"]>>;
153
+ change_breaking: z.ZodOptional<z.ZodBoolean>;
154
+ change_breaking_details: z.ZodOptional<z.ZodString>;
155
+ change_supersedes_adr: z.ZodOptional<z.ZodString>;
156
+ change_affected_artifacts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
157
+ changes_status_filter: z.ZodOptional<z.ZodEnum<["all", "open", "implementing", "blocked", "verified", "closed"]>>;
158
+ monitoring_force: z.ZodOptional<z.ZodBoolean>;
159
+ t4_acknowledge: z.ZodOptional<z.ZodString>;
160
+ t4_resolve: z.ZodOptional<z.ZodString>;
161
+ t4_show_resolved: z.ZodOptional<z.ZodBoolean>;
162
+ adrs_max_candidates: z.ZodOptional<z.ZodNumber>;
163
+ adrs_from_spec_max: z.ZodOptional<z.ZodNumber>;
164
+ adrs_large_commit_threshold: z.ZodOptional<z.ZodNumber>;
165
+ adrs_ref: z.ZodOptional<z.ZodString>;
166
+ analyze_submit_issues: z.ZodOptional<z.ZodBoolean>;
167
+ analyze_force_fetch: z.ZodOptional<z.ZodBoolean>;
92
168
  }, "strip", z.ZodTypeAny, {
93
169
  action: string;
94
170
  tag?: string | undefined;
@@ -97,6 +173,7 @@ export declare const forgecraftSchema: z.ZodObject<{
97
173
  language?: "typescript" | "python" | undefined;
98
174
  scope?: "comprehensive" | "focused" | undefined;
99
175
  description?: string | undefined;
176
+ name?: string | undefined;
100
177
  compact?: boolean | undefined;
101
178
  project_dir?: string | undefined;
102
179
  project_name?: string | undefined;
@@ -113,8 +190,8 @@ export declare const forgecraftSchema: z.ZodObject<{
113
190
  include_remote?: boolean | undefined;
114
191
  remote_registry_url?: string | undefined;
115
192
  max_servers?: number | undefined;
116
- name?: string | undefined;
117
193
  mvp?: boolean | undefined;
194
+ spec_path?: string | undefined;
118
195
  apply?: boolean | undefined;
119
196
  add_tags?: string[] | undefined;
120
197
  remove_tags?: string[] | undefined;
@@ -126,13 +203,12 @@ export declare const forgecraftSchema: z.ZodObject<{
126
203
  pass_threshold?: number | undefined;
127
204
  include_mutation?: boolean | undefined;
128
205
  coverage_dir?: string | undefined;
129
- spec_path?: string | undefined;
130
206
  merge?: boolean | undefined;
131
207
  resource?: string | undefined;
132
208
  item_description?: string | undefined;
133
209
  acceptance_criteria?: string[] | undefined;
134
210
  scope_note?: string | undefined;
135
- session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
211
+ session_type?: "test" | "docs" | "feature" | "fix" | "refactor" | "chore" | undefined;
136
212
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
137
213
  step_id?: string | undefined;
138
214
  phase_id?: string | undefined;
@@ -146,6 +222,13 @@ export declare const forgecraftSchema: z.ZodObject<{
146
222
  adr_decision?: string | undefined;
147
223
  adr_alternatives?: string[] | undefined;
148
224
  adr_consequences?: string | undefined;
225
+ decision_title?: string | undefined;
226
+ decision_trigger?: string | undefined;
227
+ decision_root_cause?: string | undefined;
228
+ decision_fix?: string | undefined;
229
+ decision_regression_test?: string | undefined;
230
+ decision_chronicle_session_id?: string | undefined;
231
+ decision_related_adr?: string | undefined;
149
232
  cascade_step?: "functional_spec" | "architecture_diagrams" | "constitution" | "adrs" | "behavioral_contracts" | undefined;
150
233
  cascade_required?: boolean | undefined;
151
234
  cascade_rationale?: string | undefined;
@@ -157,11 +240,52 @@ export declare const forgecraftSchema: z.ZodObject<{
157
240
  use_playwright?: boolean | undefined;
158
241
  tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
159
242
  project_type_override?: string | undefined;
243
+ problem_statement?: string | undefined;
244
+ primary_users?: string | undefined;
245
+ success_criteria?: string | undefined;
246
+ spec_file_confirmed?: string | undefined;
247
+ use_cases?: {
248
+ id: string;
249
+ title: string;
250
+ steps: string[];
251
+ actor: string;
252
+ precondition: string;
253
+ postcondition: string;
254
+ errorCases?: {
255
+ description: string;
256
+ name: string;
257
+ }[] | undefined;
258
+ }[] | undefined;
160
259
  cnt_domain?: string | undefined;
161
260
  cnt_concern?: string | undefined;
162
261
  cnt_content?: string | undefined;
163
262
  deployment_url?: string | undefined;
164
263
  skip_load_test?: boolean | undefined;
264
+ harness_uc_ids?: string[] | undefined;
265
+ harness_timeout_ms?: number | undefined;
266
+ env_probe_force?: boolean | undefined;
267
+ env_probe_timeout_ms?: number | undefined;
268
+ slo_probe_force?: boolean | undefined;
269
+ slo_probe_timeout_ms?: number | undefined;
270
+ max_items?: number | undefined;
271
+ change_title?: string | undefined;
272
+ change_description?: string | undefined;
273
+ change_type?: "spec-change" | "breaking-api" | "adr-supersession" | "gate-change" | "dependency-update" | "bug-postmortem" | undefined;
274
+ change_breaking?: boolean | undefined;
275
+ change_breaking_details?: string | undefined;
276
+ change_supersedes_adr?: string | undefined;
277
+ change_affected_artifacts?: string[] | undefined;
278
+ changes_status_filter?: "open" | "implementing" | "blocked" | "verified" | "closed" | "all" | undefined;
279
+ monitoring_force?: boolean | undefined;
280
+ t4_acknowledge?: string | undefined;
281
+ t4_resolve?: string | undefined;
282
+ t4_show_resolved?: boolean | undefined;
283
+ adrs_max_candidates?: number | undefined;
284
+ adrs_from_spec_max?: number | undefined;
285
+ adrs_large_commit_threshold?: number | undefined;
286
+ adrs_ref?: string | undefined;
287
+ analyze_submit_issues?: boolean | undefined;
288
+ analyze_force_fetch?: boolean | undefined;
165
289
  }, {
166
290
  action: string;
167
291
  tag?: string | undefined;
@@ -170,6 +294,7 @@ export declare const forgecraftSchema: z.ZodObject<{
170
294
  language?: "typescript" | "python" | undefined;
171
295
  scope?: "comprehensive" | "focused" | undefined;
172
296
  description?: string | undefined;
297
+ name?: string | undefined;
173
298
  compact?: boolean | undefined;
174
299
  project_dir?: string | undefined;
175
300
  project_name?: string | undefined;
@@ -186,8 +311,8 @@ export declare const forgecraftSchema: z.ZodObject<{
186
311
  include_remote?: boolean | undefined;
187
312
  remote_registry_url?: string | undefined;
188
313
  max_servers?: number | undefined;
189
- name?: string | undefined;
190
314
  mvp?: boolean | undefined;
315
+ spec_path?: string | undefined;
191
316
  apply?: boolean | undefined;
192
317
  add_tags?: string[] | undefined;
193
318
  remove_tags?: string[] | undefined;
@@ -199,13 +324,12 @@ export declare const forgecraftSchema: z.ZodObject<{
199
324
  pass_threshold?: number | undefined;
200
325
  include_mutation?: boolean | undefined;
201
326
  coverage_dir?: string | undefined;
202
- spec_path?: string | undefined;
203
327
  merge?: boolean | undefined;
204
328
  resource?: string | undefined;
205
329
  item_description?: string | undefined;
206
330
  acceptance_criteria?: string[] | undefined;
207
331
  scope_note?: string | undefined;
208
- session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
332
+ session_type?: "test" | "docs" | "feature" | "fix" | "refactor" | "chore" | undefined;
209
333
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
210
334
  step_id?: string | undefined;
211
335
  phase_id?: string | undefined;
@@ -219,6 +343,13 @@ export declare const forgecraftSchema: z.ZodObject<{
219
343
  adr_decision?: string | undefined;
220
344
  adr_alternatives?: string[] | undefined;
221
345
  adr_consequences?: string | undefined;
346
+ decision_title?: string | undefined;
347
+ decision_trigger?: string | undefined;
348
+ decision_root_cause?: string | undefined;
349
+ decision_fix?: string | undefined;
350
+ decision_regression_test?: string | undefined;
351
+ decision_chronicle_session_id?: string | undefined;
352
+ decision_related_adr?: string | undefined;
222
353
  cascade_step?: "functional_spec" | "architecture_diagrams" | "constitution" | "adrs" | "behavioral_contracts" | undefined;
223
354
  cascade_required?: boolean | undefined;
224
355
  cascade_rationale?: string | undefined;
@@ -230,11 +361,52 @@ export declare const forgecraftSchema: z.ZodObject<{
230
361
  use_playwright?: boolean | undefined;
231
362
  tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
232
363
  project_type_override?: string | undefined;
364
+ problem_statement?: string | undefined;
365
+ primary_users?: string | undefined;
366
+ success_criteria?: string | undefined;
367
+ spec_file_confirmed?: string | undefined;
368
+ use_cases?: {
369
+ id: string;
370
+ title: string;
371
+ steps: string[];
372
+ actor: string;
373
+ precondition: string;
374
+ postcondition: string;
375
+ errorCases?: {
376
+ description: string;
377
+ name: string;
378
+ }[] | undefined;
379
+ }[] | undefined;
233
380
  cnt_domain?: string | undefined;
234
381
  cnt_concern?: string | undefined;
235
382
  cnt_content?: string | undefined;
236
383
  deployment_url?: string | undefined;
237
384
  skip_load_test?: boolean | undefined;
385
+ harness_uc_ids?: string[] | undefined;
386
+ harness_timeout_ms?: number | undefined;
387
+ env_probe_force?: boolean | undefined;
388
+ env_probe_timeout_ms?: number | undefined;
389
+ slo_probe_force?: boolean | undefined;
390
+ slo_probe_timeout_ms?: number | undefined;
391
+ max_items?: number | undefined;
392
+ change_title?: string | undefined;
393
+ change_description?: string | undefined;
394
+ change_type?: "spec-change" | "breaking-api" | "adr-supersession" | "gate-change" | "dependency-update" | "bug-postmortem" | undefined;
395
+ change_breaking?: boolean | undefined;
396
+ change_breaking_details?: string | undefined;
397
+ change_supersedes_adr?: string | undefined;
398
+ change_affected_artifacts?: string[] | undefined;
399
+ changes_status_filter?: "open" | "implementing" | "blocked" | "verified" | "closed" | "all" | undefined;
400
+ monitoring_force?: boolean | undefined;
401
+ t4_acknowledge?: string | undefined;
402
+ t4_resolve?: string | undefined;
403
+ t4_show_resolved?: boolean | undefined;
404
+ adrs_max_candidates?: number | undefined;
405
+ adrs_from_spec_max?: number | undefined;
406
+ adrs_large_commit_threshold?: number | undefined;
407
+ adrs_ref?: string | undefined;
408
+ analyze_submit_issues?: boolean | undefined;
409
+ analyze_force_fetch?: boolean | undefined;
238
410
  }>;
239
411
  export type ForgecraftArgs = z.infer<typeof forgecraftSchema>;
240
412
  //# sourceMappingURL=forgecraft-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-schema.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,OAAO,ygBAgCV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAY9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmOK,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"forgecraft-schema.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,OAAO,u7BAsDV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAY9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkPK,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -39,6 +39,28 @@ export const ACTIONS = [
39
39
  "generate_roadmap",
40
40
  "cnt_add_node",
41
41
  "start_hardening",
42
+ "layer_status",
43
+ "generate_harness",
44
+ "run_harness",
45
+ "generate_env_probe",
46
+ "run_env_probe",
47
+ "generate_slo_probe",
48
+ "run_slo_probe",
49
+ "propose_session",
50
+ "check_spec_consistency",
51
+ "advise_session",
52
+ "change_request",
53
+ "list_changes",
54
+ "generate_decision",
55
+ "cnt_add_routing",
56
+ "extract_adrs_from_history",
57
+ "extract_adrs_from_spec",
58
+ "review_stubs",
59
+ "check_derivation_chain",
60
+ "score_rubric",
61
+ "setup_monitoring",
62
+ "check_t4",
63
+ "analyze_harness",
42
64
  ];
43
65
  const LIST_RESOURCES = ["tags", "hooks", "skills"];
44
66
  const REFERENCE_RESOURCES = [
@@ -70,6 +92,13 @@ export const forgecraftSchema = z
70
92
  " list_quality_gates — list all quality gates\n" +
71
93
  " export_taxonomy — export tag taxonomy\n" +
72
94
  " generate_adr — emit a structured Architecture Decision Record into docs/adrs/\n" +
95
+ " generate_decision — emit a post-mortem / decision record into docs/decisions/ (bug-fix flow companion to generate_adr)\n" +
96
+ " cnt_add_routing — append routing directives to .claude/index.md for unrouted CNT leaf nodes (closes the Bounded property gap)\n" +
97
+ " extract_adrs_from_history — scan git log for architectural decision candidates and emit retroactive ADR stubs into docs/adrs/active/\n" +
98
+ " extract_adrs_from_spec — parse a spec/PRD file for technology decisions and emit pre-populated ADR stubs (greenfield complement to extract_adrs_from_history)\n" +
99
+ " review_stubs — triage all [NEEDS CLARIFICATION] stubs across ADRs, decisions, and CNT leaves; ranked by priority\n" +
100
+ " check_derivation_chain — verify the PRD → UCs → ADRs → probes → gates chain is intact; emits chain score and specific breaks\n" +
101
+ " score_rubric — gather evidence for all 7 GS properties and emit a structured evaluation prompt for LLM-judged scoring\n" +
73
102
  " create_exception — create hook false-positive exception\n" +
74
103
  " review — structured code review checklist\n" +
75
104
  " list — discover available tags/hooks/skills\n" +
@@ -89,6 +118,14 @@ export const forgecraftSchema = z
89
118
  " cnt_add_node — add a new CNT leaf node (.claude/standards/<domain>-<concern>.md)\n\n" +
90
119
  " start_hardening — generate hardening session prompts (pre-release → rc → load test)\n\n" +
91
120
  " read_gate_violations — read structured gate violation records from .forgecraft/gate-violations.jsonl\n\n" +
121
+ " layer_status — report L1–L4 completion per use case; identifies spec gaps and automation depth\n\n" +
122
+ " generate_harness — scaffold L2 harness probe files (Playwright, hurl, bash) from UC specs\n" +
123
+ " run_harness — execute harness probes and report per-UC pass/fail\n\n" +
124
+ " propose_session — pre-implementation impact assessment: spec delta, layer readiness, gates, checklist (run before generate_session_prompt)\n\n" +
125
+ " check_spec_consistency — scan all spec artifacts for structural gaps, hollow probes, ambiguity markers, orphan probes, and derivation chain breaks\n\n" +
126
+ " setup_monitoring — generate docs/monitoring-spec.md from NFR contracts: exception classes, alert thresholds, SLO definitions, PII policy, property violation map. Required before T4 is operational.\n\n" +
127
+ " check_t4 — surface pending T4 production signals from .forgecraft/t4-signals.json. Run at session start. Each signal is a spec-level diagnosis from production exceptions — update the spec, then derive the fix.\n\n" +
128
+ " analyze_harness — post-scaffold gap analysis: compare installed hooks, agents, docs, and sentinel sections against FC QG registry + GS WP requirements for active tags. Submits missing gates as improvement proposals to the FC QG GitHub repo.\n\n" +
92
129
  "Quick usage examples:\n" +
93
130
  ' To run a cascade check: action="check_cascade"\n' +
94
131
  ' To generate a session prompt: action="generate_session_prompt"\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-schema.js","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,eAAe;IACf,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,UAAU;IACV,YAAY;IACZ,eAAe;IACf,eAAe;IACf,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,eAAe;IACf,yBAAyB;IACzB,2BAA2B;IAC3B,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,oBAAoB;IACpB,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;CACT,CAAC;AAIX,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC5D,MAAM,mBAAmB,GAAG;IAC1B,KAAK;IACL,iBAAiB;IACjB,UAAU;IACV,UAAU;CACF,CAAC;AAEX,uEAAuE;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,OAA2C,CAAC;SACjD,QAAQ,CACP,2BAA2B;QACzB,sBAAsB;QACtB,iGAAiG;QACjG,0FAA0F;QAC1F,+FAA+F;QAC/F,2GAA2G;QAC3G,mFAAmF;QACnF,uEAAuE;QACvE,8DAA8D;QAC9D,4DAA4D;QAC5D,6EAA6E;QAC7E,0FAA0F;QAC1F,gFAAgF;QAChF,8DAA8D;QAC9D,+DAA+D;QAC/D,kDAAkD;QAClD,+CAA+C;QAC/C,0FAA0F;QAC1F,gEAAgE;QAChE,4DAA4D;QAC5D,gEAAgE;QAChE,kEAAkE;QAClE,8CAA8C;QAC9C,iDAAiD;QACjD,iDAAiD;QACjD,qEAAqE;QACrE,mDAAmD;QACnD,kEAAkE;QAClE,mDAAmD;QACnD,wDAAwD;QACxD,qEAAqE;QACrE,gFAAgF;QAChF,yGAAyG;QACzG,6GAA6G;QAC7G,+FAA+F;QAC/F,+FAA+F;QAC/F,4GAA4G;QAC5G,yBAAyB;QACzB,iEAAiE;QACjE,2EAA2E;QAC3E,iEAAiE;QACjE,0DAA0D,CAC7D;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uRAAuR,CACxR;IACH,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,QAAQ,EAAE;SACV,QAAQ,CACP,kLAAkL,CACnL;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAsD,CAAC,CAAC;SACrE,QAAQ,EAAE;SACV,QAAQ,CACP,+GAA+G,CAChH;IACH,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,aAAiD,CAAC;SACvD,QAAQ,EAAE;SACV,QAAQ,CACP,+DAA+D,CAChE;IACH,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,mBAAmB,CAG/C,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,uSAAuS,CACxS;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE,CACtE;IACH,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACP,2EAA2E,CAC5E;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,oMAAoM,CACrM;IACH,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,+DAA+D,CAChE;IACH,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,0EAA0E,CAC3E;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,6HAA6H,CAC9H;IACH,aAAa,EAAE,CAAC;SACb,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;SACvE,QAAQ,EAAE;SACV,QAAQ,CACP,qJAAqJ,CACtJ;IACH,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SAClC,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,GAAG,EAAE,CAAC;SACH,IAAI,CAAC,QAA4C,CAAC;SAClD,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,QAAQ,EAAE;SACV,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,qBAAqB,EAAE,CAAC;SACrB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,cAAc,EAAE,CAAC;SACd,MAAM,CACL,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,kBAAkB,EAAE,CAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE,CACtE;IACH,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE,CACrE;IACH,mBAAmB,EAAE,CAAC;SACnB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CACP,yGAAyG,CAC1G;IACH,gBAAgB,EAAE,CAAC;SAChB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8GAA8G,CAC/G;CACJ,CAAC;KACD,KAAK,CAAC,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"forgecraft-schema.js","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,7 @@ export async function generateAdrHandler(args) {
100
100
  content,
101
101
  "```",
102
102
  ``,
103
- `> **Next step:** If any sections contain placeholders (\`[TODO]\`), complete them before committing.`,
103
+ `> **Next step:** If any sections contain \`[NEEDS CLARIFICATION]\` markers, resolve them before committing.`,
104
104
  `> ADR files are immutable once accepted — use a new ADR to supersede this one.`,
105
105
  ];
106
106
  return { content: [{ type: "text", text: lines.join("\n") }] };
@@ -140,7 +140,7 @@ function renderAdr(fields) {
140
140
  const date = new Date().toISOString().slice(0, 10);
141
141
  const alternativeBlock = alternatives && alternatives.length > 0
142
142
  ? alternatives.map((a) => `- ${a}`).join("\n")
143
- : "- [TODO: list alternatives considered and why each was rejected]";
143
+ : "- [NEEDS CLARIFICATION: list alternatives considered and why each was rejected]";
144
144
  return [
145
145
  `# ${id}: ${title}`,
146
146
  ``,
@@ -154,12 +154,12 @@ function renderAdr(fields) {
154
154
  `## Context`,
155
155
  ``,
156
156
  context ??
157
- "[TODO: describe the situation that forced this decision — constraints, requirements, and forces at play]",
157
+ "[NEEDS CLARIFICATION: describe the situation that forced this decision — what constraints, requirements, and forces are at play]",
158
158
  ``,
159
159
  `## Decision`,
160
160
  ``,
161
161
  decision ??
162
- "[TODO: state what was decided and why this option was chosen over the alternatives]",
162
+ "[NEEDS CLARIFICATION: state what was decided and why this option was chosen over the alternatives]",
163
163
  ``,
164
164
  `## Alternatives Considered`,
165
165
  ``,
@@ -168,11 +168,11 @@ function renderAdr(fields) {
168
168
  `## Consequences`,
169
169
  ``,
170
170
  consequences ??
171
- "[TODO: describe what becomes easier, harder, or newly constrained as a result of this decision]",
171
+ "[NEEDS CLARIFICATION: describe what becomes easier, harder, or newly constrained as a result of this decision]",
172
172
  ``,
173
173
  `---`,
174
174
  ``,
175
- `_This ADR was generated by ForgeCraft. Complete any [TODO] sections before accepting._`,
175
+ `_This ADR was generated by ForgeCraft. Resolve any [NEEDS CLARIFICATION] sections before accepting — the AI cannot act on ambiguity it cannot see._`,
176
176
  ].join("\n");
177
177
  }
178
178
  //# sourceMappingURL=generate-adr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-adr.js","sourceRoot":"","sources":["../../src/tools/generate-adr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-adr.js","sourceRoot":"","sources":["../../src/tools/generate-adr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * generate_decision tool handler.
3
+ *
4
+ * Emits a structured Decision/Post-mortem record into docs/decisions/ —
5
+ * the GS taxonomy slot for non-architectural one-pagers: bug-fix interpretations,
6
+ * operational tweaks, "we chose X over Y because Z" notes that don't warrant a
7
+ * full ADR.
8
+ *
9
+ * Encouraged on `fix:` commits (per cascade) and required when a bug-postmortem
10
+ * change_request reaches `verified` status.
11
+ *
12
+ * Output file: docs/decisions/YYYY-MM-DD-slug.md
13
+ * Format: Trigger / Root cause / Fix / Regression test / Chronicle link.
14
+ */
15
+ import { z } from "zod";
16
+ export declare const generateDecisionSchema: z.ZodObject<{
17
+ project_dir: z.ZodString;
18
+ title: z.ZodString;
19
+ trigger: z.ZodOptional<z.ZodString>;
20
+ root_cause: z.ZodOptional<z.ZodString>;
21
+ fix: z.ZodOptional<z.ZodString>;
22
+ regression_test: z.ZodOptional<z.ZodString>;
23
+ chronicle_session_id: z.ZodOptional<z.ZodString>;
24
+ related_adr: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ title: string;
27
+ project_dir: string;
28
+ fix?: string | undefined;
29
+ trigger?: string | undefined;
30
+ root_cause?: string | undefined;
31
+ regression_test?: string | undefined;
32
+ chronicle_session_id?: string | undefined;
33
+ related_adr?: string | undefined;
34
+ }, {
35
+ title: string;
36
+ project_dir: string;
37
+ fix?: string | undefined;
38
+ trigger?: string | undefined;
39
+ root_cause?: string | undefined;
40
+ regression_test?: string | undefined;
41
+ chronicle_session_id?: string | undefined;
42
+ related_adr?: string | undefined;
43
+ }>;
44
+ export type GenerateDecisionInput = z.infer<typeof generateDecisionSchema>;
45
+ /**
46
+ * Generate and write a structured decision/post-mortem file.
47
+ *
48
+ * @param args - Validated tool input
49
+ * @returns MCP tool response with the written file path and content
50
+ */
51
+ export declare function generateDecisionHandler(args: GenerateDecisionInput): Promise<{
52
+ content: Array<{
53
+ type: "text";
54
+ text: string;
55
+ }>;
56
+ }>;
57
+ /**
58
+ * Convert a title string to a URL-safe kebab-case slug.
59
+ * Strips punctuation, lowercases, replaces spaces/underscores with hyphens.
60
+ */
61
+ export declare function titleToSlug(title: string): string;
62
+ interface DecisionFields {
63
+ readonly date: string;
64
+ readonly title: string;
65
+ readonly trigger?: string;
66
+ readonly root_cause?: string;
67
+ readonly fix?: string;
68
+ readonly regression_test?: string;
69
+ readonly chronicle_session_id?: string;
70
+ readonly related_adr?: string;
71
+ }
72
+ /**
73
+ * Render a complete decision/post-mortem document from the provided fields.
74
+ */
75
+ export declare function renderDecision(fields: DecisionFields): string;
76
+ export {};
77
+ //# sourceMappingURL=generate-decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-decision.d.ts","sourceRoot":"","sources":["../../src/tools/generate-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAI3E;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4D7D;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA4D7D"}