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.
- package/LICENSE +67 -0
- package/README.md +527 -525
- package/dist/analyzers/anchors/anchor-loader.d.ts +47 -0
- package/dist/analyzers/anchors/anchor-loader.d.ts.map +1 -0
- package/dist/analyzers/anchors/anchor-loader.js +113 -0
- package/dist/analyzers/anchors/anchor-loader.js.map +1 -0
- package/dist/analyzers/anti-pattern.d.ts.map +1 -1
- package/dist/analyzers/anti-pattern.js +38 -26
- package/dist/analyzers/anti-pattern.js.map +1 -1
- package/dist/analyzers/completeness-helpers.d.ts +5 -0
- package/dist/analyzers/completeness-helpers.d.ts.map +1 -1
- package/dist/analyzers/completeness-helpers.js +17 -0
- package/dist/analyzers/completeness-helpers.js.map +1 -1
- package/dist/analyzers/completeness.d.ts.map +1 -1
- package/dist/analyzers/completeness.js +4 -4
- package/dist/analyzers/completeness.js.map +1 -1
- package/dist/analyzers/gs-scorer.d.ts +3 -1
- package/dist/analyzers/gs-scorer.d.ts.map +1 -1
- package/dist/analyzers/gs-scorer.js +5 -2
- package/dist/analyzers/gs-scorer.js.map +1 -1
- package/dist/analyzers/package-json.d.ts.map +1 -1
- package/dist/analyzers/package-json.js +194 -34
- package/dist/analyzers/package-json.js.map +1 -1
- package/dist/analyzers/scorers/composable-scorer.d.ts +4 -2
- package/dist/analyzers/scorers/composable-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/composable-scorer.js +50 -2
- package/dist/analyzers/scorers/composable-scorer.js.map +1 -1
- package/dist/analyzers/scorers/executable-scorer.d.ts +3 -2
- package/dist/analyzers/scorers/executable-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/executable-scorer.js +64 -4
- package/dist/analyzers/scorers/executable-scorer.js.map +1 -1
- package/dist/analyzers/scorers/scorer-utils.d.ts +5 -3
- package/dist/analyzers/scorers/scorer-utils.d.ts.map +1 -1
- package/dist/analyzers/scorers/scorer-utils.js +34 -9
- package/dist/analyzers/scorers/scorer-utils.js.map +1 -1
- package/dist/analyzers/scorers/self-describing-scorer.d.ts +7 -4
- package/dist/analyzers/scorers/self-describing-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/self-describing-scorer.js +17 -18
- package/dist/analyzers/scorers/self-describing-scorer.js.map +1 -1
- package/dist/cli/help.js +51 -51
- package/dist/disciplines/catalog.d.ts +16 -0
- package/dist/disciplines/catalog.d.ts.map +1 -0
- package/dist/disciplines/catalog.js +196 -0
- package/dist/disciplines/catalog.js.map +1 -0
- package/dist/disciplines/runner.d.ts +13 -0
- package/dist/disciplines/runner.d.ts.map +1 -0
- package/dist/disciplines/runner.js +35 -0
- package/dist/disciplines/runner.js.map +1 -0
- package/dist/registry/composer.d.ts.map +1 -1
- package/dist/registry/composer.js +9 -4
- package/dist/registry/composer.js.map +1 -1
- package/dist/registry/loader-tag.d.ts.map +1 -1
- package/dist/registry/loader-tag.js +1 -0
- package/dist/registry/loader-tag.js.map +1 -1
- package/dist/registry/remote-gates.js +1 -1
- package/dist/registry/remote-gates.js.map +1 -1
- package/dist/registry/renderer-skeletons.js +92 -92
- package/dist/registry/sentinel-renderer.js +299 -20
- package/dist/registry/sentinel-renderer.js.map +1 -1
- package/dist/sentinel/detect.d.ts +41 -0
- package/dist/sentinel/detect.d.ts.map +1 -0
- package/dist/sentinel/detect.js +122 -0
- package/dist/sentinel/detect.js.map +1 -0
- package/dist/sentinel/write.d.ts +54 -0
- package/dist/sentinel/write.d.ts.map +1 -0
- package/dist/sentinel/write.js +75 -0
- package/dist/sentinel/write.js.map +1 -0
- package/dist/shared/cnt-health.d.ts +16 -0
- package/dist/shared/cnt-health.d.ts.map +1 -1
- package/dist/shared/cnt-health.js +55 -8
- package/dist/shared/cnt-health.js.map +1 -1
- package/dist/shared/config.d.ts +14 -0
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +45 -0
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/gs-score-logger.js +6 -6
- package/dist/shared/hook-installer.d.ts +58 -0
- package/dist/shared/hook-installer.d.ts.map +1 -0
- package/dist/shared/hook-installer.js +316 -0
- package/dist/shared/hook-installer.js.map +1 -0
- package/dist/shared/project-gates-helpers.d.ts +9 -0
- package/dist/shared/project-gates-helpers.d.ts.map +1 -1
- package/dist/shared/project-gates-helpers.js +35 -0
- package/dist/shared/project-gates-helpers.js.map +1 -1
- package/dist/shared/types/config.d.ts +7 -1
- package/dist/shared/types/config.d.ts.map +1 -1
- package/dist/shared/types/gates.d.ts +34 -0
- package/dist/shared/types/gates.d.ts.map +1 -1
- package/dist/shared/types/project.d.ts +68 -2
- package/dist/shared/types/project.d.ts.map +1 -1
- package/dist/shared/types/project.js +1 -0
- package/dist/shared/types/project.js.map +1 -1
- package/dist/shared/types/templates.d.ts +8 -1
- package/dist/shared/types/templates.d.ts.map +1 -1
- package/dist/shared/types/verify.d.ts +51 -1
- package/dist/shared/types/verify.d.ts.map +1 -1
- package/dist/shared/types/verify.js +37 -1
- package/dist/shared/types/verify.js.map +1 -1
- package/dist/tools/add-hook.d.ts.map +1 -1
- package/dist/tools/add-hook.js +8 -1
- package/dist/tools/add-hook.js.map +1 -1
- package/dist/tools/add-module.js +123 -123
- package/dist/tools/advice-registry.d.ts.map +1 -1
- package/dist/tools/advice-registry.js +108 -18
- package/dist/tools/advice-registry.js.map +1 -1
- package/dist/tools/advise-session-advisor.d.ts +16 -0
- package/dist/tools/advise-session-advisor.d.ts.map +1 -0
- package/dist/tools/advise-session-advisor.js +89 -0
- package/dist/tools/advise-session-advisor.js.map +1 -0
- package/dist/tools/advise-session-signals.d.ts +21 -0
- package/dist/tools/advise-session-signals.d.ts.map +1 -0
- package/dist/tools/advise-session-signals.js +113 -0
- package/dist/tools/advise-session-signals.js.map +1 -0
- package/dist/tools/advise-session.d.ts +22 -0
- package/dist/tools/advise-session.d.ts.map +1 -0
- package/dist/tools/advise-session.js +31 -0
- package/dist/tools/advise-session.js.map +1 -0
- package/dist/tools/analyze-harness.d.ts +18 -0
- package/dist/tools/analyze-harness.d.ts.map +1 -0
- package/dist/tools/analyze-harness.js +298 -0
- package/dist/tools/analyze-harness.js.map +1 -0
- package/dist/tools/audit.d.ts.map +1 -1
- package/dist/tools/audit.js +19 -0
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/change-request.d.ts +53 -0
- package/dist/tools/change-request.d.ts.map +1 -0
- package/dist/tools/change-request.js +395 -0
- package/dist/tools/change-request.js.map +1 -0
- package/dist/tools/check-cascade-contracts.d.ts +13 -0
- package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
- package/dist/tools/check-cascade-contracts.js +73 -2
- package/dist/tools/check-cascade-contracts.js.map +1 -1
- package/dist/tools/check-cascade-report.js +64 -64
- package/dist/tools/check-cascade-steps.d.ts +3 -0
- package/dist/tools/check-cascade-steps.d.ts.map +1 -1
- package/dist/tools/check-cascade-steps.js +104 -15
- package/dist/tools/check-cascade-steps.js.map +1 -1
- package/dist/tools/check-cascade.d.ts +4 -3
- package/dist/tools/check-cascade.d.ts.map +1 -1
- package/dist/tools/check-cascade.js +30 -12
- package/dist/tools/check-cascade.js.map +1 -1
- package/dist/tools/check-derivation-chain.d.ts +37 -0
- package/dist/tools/check-derivation-chain.d.ts.map +1 -0
- package/dist/tools/check-derivation-chain.js +418 -0
- package/dist/tools/check-derivation-chain.js.map +1 -0
- package/dist/tools/check-spec-consistency.d.ts +25 -0
- package/dist/tools/check-spec-consistency.d.ts.map +1 -0
- package/dist/tools/check-spec-consistency.js +339 -0
- package/dist/tools/check-spec-consistency.js.map +1 -0
- package/dist/tools/check-t4.d.ts +54 -0
- package/dist/tools/check-t4.d.ts.map +1 -0
- package/dist/tools/check-t4.js +305 -0
- package/dist/tools/check-t4.js.map +1 -0
- package/dist/tools/close-cycle.d.ts +11 -0
- package/dist/tools/close-cycle.d.ts.map +1 -1
- package/dist/tools/close-cycle.js +364 -4
- package/dist/tools/close-cycle.js.map +1 -1
- package/dist/tools/cnt-add-routing.d.ts +31 -0
- package/dist/tools/cnt-add-routing.d.ts.map +1 -0
- package/dist/tools/cnt-add-routing.js +99 -0
- package/dist/tools/cnt-add-routing.js.map +1 -0
- package/dist/tools/configure-mcp.d.ts.map +1 -1
- package/dist/tools/configure-mcp.js +52 -2
- package/dist/tools/configure-mcp.js.map +1 -1
- package/dist/tools/consolidate-status.d.ts +31 -0
- package/dist/tools/consolidate-status.d.ts.map +1 -1
- package/dist/tools/consolidate-status.js +105 -0
- package/dist/tools/consolidate-status.js.map +1 -1
- package/dist/tools/executable-gates.d.ts +52 -0
- package/dist/tools/executable-gates.d.ts.map +1 -0
- package/dist/tools/executable-gates.js +333 -0
- package/dist/tools/executable-gates.js.map +1 -0
- package/dist/tools/extract-adrs-from-spec.d.ts +33 -0
- package/dist/tools/extract-adrs-from-spec.d.ts.map +1 -0
- package/dist/tools/extract-adrs-from-spec.js +410 -0
- package/dist/tools/extract-adrs-from-spec.js.map +1 -0
- package/dist/tools/extract-adrs-history.d.ts +47 -0
- package/dist/tools/extract-adrs-history.d.ts.map +1 -0
- package/dist/tools/extract-adrs-history.js +265 -0
- package/dist/tools/extract-adrs-history.js.map +1 -0
- package/dist/tools/forgecraft-dispatch-extended.d.ts.map +1 -1
- package/dist/tools/forgecraft-dispatch-extended.js +137 -0
- package/dist/tools/forgecraft-dispatch-extended.js.map +1 -1
- package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
- package/dist/tools/forgecraft-dispatch.js +16 -0
- package/dist/tools/forgecraft-dispatch.js.map +1 -1
- package/dist/tools/forgecraft-schema-params.d.ts +174 -2
- package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema-params.js +197 -0
- package/dist/tools/forgecraft-schema-params.js.map +1 -1
- package/dist/tools/forgecraft-schema.d.ts +179 -7
- package/dist/tools/forgecraft-schema.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema.js +37 -0
- package/dist/tools/forgecraft-schema.js.map +1 -1
- package/dist/tools/generate-adr.js +6 -6
- package/dist/tools/generate-adr.js.map +1 -1
- package/dist/tools/generate-decision.d.ts +77 -0
- package/dist/tools/generate-decision.d.ts.map +1 -0
- package/dist/tools/generate-decision.js +162 -0
- package/dist/tools/generate-decision.js.map +1 -0
- package/dist/tools/generate-env-probe.d.ts +49 -0
- package/dist/tools/generate-env-probe.d.ts.map +1 -0
- package/dist/tools/generate-env-probe.js +365 -0
- package/dist/tools/generate-env-probe.js.map +1 -0
- package/dist/tools/generate-harness.d.ts +53 -0
- package/dist/tools/generate-harness.d.ts.map +1 -0
- package/dist/tools/generate-harness.js +395 -0
- package/dist/tools/generate-harness.js.map +1 -0
- package/dist/tools/generate-roadmap.d.ts +1 -1
- package/dist/tools/generate-roadmap.d.ts.map +1 -1
- package/dist/tools/generate-roadmap.js +38 -4
- package/dist/tools/generate-roadmap.js.map +1 -1
- package/dist/tools/generate-session-prompt.d.ts +3 -3
- package/dist/tools/generate-session-prompt.d.ts.map +1 -1
- package/dist/tools/generate-session-prompt.js +9 -1
- package/dist/tools/generate-session-prompt.js.map +1 -1
- package/dist/tools/generate-slo-probe.d.ts +53 -0
- package/dist/tools/generate-slo-probe.d.ts.map +1 -0
- package/dist/tools/generate-slo-probe.js +366 -0
- package/dist/tools/generate-slo-probe.js.map +1 -0
- package/dist/tools/layer-status-gates.d.ts +24 -0
- package/dist/tools/layer-status-gates.d.ts.map +1 -0
- package/dist/tools/layer-status-gates.js +151 -0
- package/dist/tools/layer-status-gates.js.map +1 -0
- package/dist/tools/layer-status.d.ts +126 -0
- package/dist/tools/layer-status.d.ts.map +1 -0
- package/dist/tools/layer-status.js +647 -0
- package/dist/tools/layer-status.js.map +1 -0
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +9 -5
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/postcondition-coverage.d.ts +57 -0
- package/dist/tools/postcondition-coverage.d.ts.map +1 -0
- package/dist/tools/postcondition-coverage.js +256 -0
- package/dist/tools/postcondition-coverage.js.map +1 -0
- package/dist/tools/probe-runners.d.ts +21 -0
- package/dist/tools/probe-runners.d.ts.map +1 -0
- package/dist/tools/probe-runners.js +246 -0
- package/dist/tools/probe-runners.js.map +1 -0
- package/dist/tools/probe-templates.d.ts +27 -0
- package/dist/tools/probe-templates.d.ts.map +1 -0
- package/dist/tools/probe-templates.js +279 -0
- package/dist/tools/probe-templates.js.map +1 -0
- package/dist/tools/propose-session.d.ts +28 -0
- package/dist/tools/propose-session.d.ts.map +1 -0
- package/dist/tools/propose-session.js +333 -0
- package/dist/tools/propose-session.js.map +1 -0
- package/dist/tools/refresh-output.js +14 -14
- package/dist/tools/review-stubs.d.ts +29 -0
- package/dist/tools/review-stubs.d.ts.map +1 -0
- package/dist/tools/review-stubs.js +173 -0
- package/dist/tools/review-stubs.js.map +1 -0
- package/dist/tools/roadmap-builder.d.ts +49 -1
- package/dist/tools/roadmap-builder.d.ts.map +1 -1
- package/dist/tools/roadmap-builder.js +210 -5
- package/dist/tools/roadmap-builder.js.map +1 -1
- package/dist/tools/run-env-probe.d.ts +57 -0
- package/dist/tools/run-env-probe.d.ts.map +1 -0
- package/dist/tools/run-env-probe.js +270 -0
- package/dist/tools/run-env-probe.js.map +1 -0
- package/dist/tools/run-harness.d.ts +52 -0
- package/dist/tools/run-harness.d.ts.map +1 -0
- package/dist/tools/run-harness.js +279 -0
- package/dist/tools/run-harness.js.map +1 -0
- package/dist/tools/run-slo-probe.d.ts +50 -0
- package/dist/tools/run-slo-probe.d.ts.map +1 -0
- package/dist/tools/run-slo-probe.js +281 -0
- package/dist/tools/run-slo-probe.js.map +1 -0
- package/dist/tools/scaffold-spec-stubs.js +115 -115
- package/dist/tools/scaffold-templates.js +62 -62
- package/dist/tools/scaffold-writer.d.ts.map +1 -1
- package/dist/tools/scaffold-writer.js +9 -0
- package/dist/tools/scaffold-writer.js.map +1 -1
- package/dist/tools/score-rubric.d.ts +19 -0
- package/dist/tools/score-rubric.d.ts.map +1 -0
- package/dist/tools/score-rubric.js +411 -0
- package/dist/tools/score-rubric.js.map +1 -0
- package/dist/tools/session-prompt-builders.d.ts +20 -0
- package/dist/tools/session-prompt-builders.d.ts.map +1 -1
- package/dist/tools/session-prompt-builders.js +78 -5
- package/dist/tools/session-prompt-builders.js.map +1 -1
- package/dist/tools/session-prompt-sections.d.ts +4 -2
- package/dist/tools/session-prompt-sections.d.ts.map +1 -1
- package/dist/tools/session-prompt-sections.js +22 -10
- package/dist/tools/session-prompt-sections.js.map +1 -1
- package/dist/tools/setup-artifact-writers.d.ts +69 -4
- package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
- package/dist/tools/setup-artifact-writers.js +681 -5
- package/dist/tools/setup-artifact-writers.js.map +1 -1
- package/dist/tools/setup-cnt-builders.d.ts.map +1 -1
- package/dist/tools/setup-cnt-builders.js +162 -34
- package/dist/tools/setup-cnt-builders.js.map +1 -1
- package/dist/tools/setup-monitoring.d.ts +41 -0
- package/dist/tools/setup-monitoring.d.ts.map +1 -0
- package/dist/tools/setup-monitoring.js +364 -0
- package/dist/tools/setup-monitoring.js.map +1 -0
- package/dist/tools/setup-phase1.d.ts.map +1 -1
- package/dist/tools/setup-phase1.js +14 -1
- package/dist/tools/setup-phase1.js.map +1 -1
- package/dist/tools/setup-phase2.d.ts +14 -0
- package/dist/tools/setup-phase2.d.ts.map +1 -1
- package/dist/tools/setup-phase2.js +130 -3
- package/dist/tools/setup-phase2.js.map +1 -1
- package/dist/tools/setup-project.d.ts +8 -0
- package/dist/tools/setup-project.d.ts.map +1 -1
- package/dist/tools/setup-project.js +52 -2
- package/dist/tools/setup-project.js.map +1 -1
- package/dist/tools/spec-parser-tags.d.ts.map +1 -1
- package/dist/tools/spec-parser-tags.js +1 -0
- package/dist/tools/spec-parser-tags.js.map +1 -1
- package/dist/tools/verify-formatter.d.ts.map +1 -1
- package/dist/tools/verify-formatter.js +15 -1
- package/dist/tools/verify-formatter.js.map +1 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +3 -0
- package/dist/tools/verify.js.map +1 -1
- package/package.json +98 -89
- package/templates/analytics/instructions.yaml +37 -37
- package/templates/analytics/mcp-servers.yaml +11 -11
- package/templates/analytics/structure.yaml +25 -25
- package/templates/api/harness/uc-template.hurl +20 -0
- package/templates/api/instructions.yaml +231 -231
- package/templates/api/mcp-servers.yaml +22 -22
- package/templates/api/nfr.yaml +23 -23
- package/templates/api/review.yaml +103 -103
- package/templates/api/structure.yaml +34 -34
- package/templates/api/verification.yaml +132 -132
- package/templates/cli/instructions.yaml +31 -31
- package/templates/cli/mcp-servers.yaml +11 -11
- package/templates/cli/review.yaml +53 -53
- package/templates/cli/structure.yaml +16 -16
- package/templates/data-lineage/instructions.yaml +28 -28
- package/templates/data-lineage/mcp-servers.yaml +22 -22
- package/templates/data-pipeline/instructions.yaml +84 -84
- package/templates/data-pipeline/mcp-servers.yaml +13 -13
- package/templates/data-pipeline/nfr.yaml +39 -39
- package/templates/data-pipeline/structure.yaml +23 -23
- package/templates/docs-manifest.yaml +227 -0
- package/templates/fintech/hooks.yaml +55 -55
- package/templates/fintech/instructions.yaml +112 -112
- package/templates/fintech/mcp-servers.yaml +13 -13
- package/templates/fintech/nfr.yaml +46 -46
- package/templates/fintech/playbook.yaml +210 -210
- package/templates/fintech/verification.yaml +239 -239
- package/templates/game/harness/uc-template.sim.ts +29 -0
- package/templates/game/instructions.yaml +289 -289
- package/templates/game/mcp-servers.yaml +38 -38
- package/templates/game/nfr.yaml +64 -64
- package/templates/game/playbook.yaml +214 -214
- package/templates/game/review.yaml +97 -97
- package/templates/game/structure.yaml +67 -67
- package/templates/game/verification.yaml +174 -174
- package/templates/healthcare/instructions.yaml +42 -42
- package/templates/healthcare/mcp-servers.yaml +13 -13
- package/templates/healthcare/nfr.yaml +47 -47
- package/templates/hipaa/instructions.yaml +41 -41
- package/templates/hipaa/mcp-servers.yaml +13 -13
- package/templates/infra/instructions.yaml +104 -104
- package/templates/infra/mcp-servers.yaml +20 -20
- package/templates/infra/nfr.yaml +46 -46
- package/templates/infra/review.yaml +65 -65
- package/templates/infra/structure.yaml +25 -25
- package/templates/library/instructions.yaml +36 -36
- package/templates/library/mcp-servers.yaml +20 -20
- package/templates/library/review.yaml +56 -56
- package/templates/library/structure.yaml +19 -19
- package/templates/medallion-architecture/instructions.yaml +41 -41
- package/templates/medallion-architecture/mcp-servers.yaml +22 -22
- package/templates/ml/instructions.yaml +85 -85
- package/templates/ml/mcp-servers.yaml +11 -11
- package/templates/ml/nfr.yaml +39 -39
- package/templates/ml/structure.yaml +25 -25
- package/templates/ml/verification.yaml +156 -156
- package/templates/mobile/instructions.yaml +44 -44
- package/templates/mobile/mcp-servers.yaml +11 -11
- package/templates/mobile/nfr.yaml +49 -49
- package/templates/mobile/structure.yaml +27 -27
- package/templates/mobile/verification.yaml +121 -121
- package/templates/observability-xray/instructions.yaml +40 -40
- package/templates/observability-xray/mcp-servers.yaml +15 -15
- package/templates/realtime/instructions.yaml +42 -42
- package/templates/realtime/mcp-servers.yaml +13 -13
- package/templates/soc2/instructions.yaml +41 -41
- package/templates/soc2/mcp-servers.yaml +24 -24
- package/templates/social/instructions.yaml +43 -43
- package/templates/social/mcp-servers.yaml +24 -24
- package/templates/state-machine/instructions.yaml +42 -42
- package/templates/state-machine/mcp-servers.yaml +11 -11
- package/templates/tools-registry.yaml +164 -164
- package/templates/universal/claude-md-blocks/layer-navigation.md +20 -0
- package/templates/universal/claude-md-blocks/nfr-contracts.md +22 -0
- package/templates/universal/hooks.yaml +879 -723
- package/templates/universal/instructions.yaml +1692 -1692
- package/templates/universal/mcp-servers.yaml +50 -50
- package/templates/universal/nfr.yaml +197 -197
- package/templates/universal/reference.yaml +326 -326
- package/templates/universal/review.yaml +204 -204
- package/templates/universal/skills.yaml +262 -262
- package/templates/universal/structure.yaml +67 -67
- package/templates/universal/verification.yaml +416 -416
- package/templates/web-next/hooks.yaml +114 -0
- package/templates/web-next/instructions.yaml +106 -0
- package/templates/web-react/harness/uc-template.spec.ts +35 -0
- package/templates/web-react/hooks.yaml +156 -44
- package/templates/web-react/instructions.yaml +296 -207
- package/templates/web-react/mcp-servers.yaml +20 -20
- package/templates/web-react/nfr.yaml +27 -27
- package/templates/web-react/review.yaml +94 -94
- package/templates/web-react/structure.yaml +46 -46
- package/templates/web-react/verification.yaml +126 -126
- package/templates/web-static/hooks.yaml +85 -0
- package/templates/web-static/instructions.yaml +204 -115
- package/templates/web-static/mcp-servers.yaml +20 -20
- package/templates/web3/instructions.yaml +44 -44
- package/templates/web3/mcp-servers.yaml +11 -11
- package/templates/web3/verification.yaml +159 -159
- package/templates/zero-trust/instructions.yaml +41 -41
- package/templates/zero-trust/mcp-servers.yaml +15 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score-rubric.js","sourceRoot":"","sources":["../../src/tools/score-rubric.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface PromptBuildInput {
|
|
|
31
31
|
readonly acceptanceCriteria: readonly string[];
|
|
32
32
|
readonly artifacts: ArtifactContext;
|
|
33
33
|
readonly statusSummary: string;
|
|
34
|
+
/** Optional content of .claude/state.md — prepended as opening block when present. */
|
|
35
|
+
readonly stateLeaf?: string;
|
|
36
|
+
/** Practitioner level — controls verbosity of methodology sections. Default: "novice". */
|
|
37
|
+
readonly practitionerLevel?: "novice" | "experienced";
|
|
34
38
|
}
|
|
35
39
|
/** Primary-use text shown for the forgecraft server entry. */
|
|
36
40
|
export declare const FORGECRAFT_PRIMARY_USE = "check_cascade, generate_session_prompt, audit";
|
|
@@ -75,6 +79,22 @@ export declare function buildDefaultCriteria(itemDescription: string): string[];
|
|
|
75
79
|
* @returns A ToolAmbiguity if the description is short, otherwise null
|
|
76
80
|
*/
|
|
77
81
|
export declare function buildRoadmapItemAmbiguity(itemDescription: string): ToolAmbiguity | null;
|
|
82
|
+
/**
|
|
83
|
+
* Scan spec artifact files for unresolved [NEEDS CLARIFICATION] markers.
|
|
84
|
+
* Returns a flat list of { file, marker } pairs.
|
|
85
|
+
*/
|
|
86
|
+
export declare function detectClarificationMarkers(projectDir: string): Array<{
|
|
87
|
+
file: string;
|
|
88
|
+
marker: string;
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Build a warning block for unresolved [NEEDS CLARIFICATION] markers.
|
|
92
|
+
* Returns empty string if no markers found.
|
|
93
|
+
*/
|
|
94
|
+
export declare function buildClarificationWarning(markers: Array<{
|
|
95
|
+
file: string;
|
|
96
|
+
marker: string;
|
|
97
|
+
}>): string;
|
|
78
98
|
/**
|
|
79
99
|
* Assemble the bound session prompt from all collected inputs.
|
|
80
100
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-prompt-builders.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"session-prompt-builders.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;CACvD;AAID,8DAA8D;AAC9D,eAAO,MAAM,sBAAsB,kDACc,CAAC;AAelD;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAY3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqC/D;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAyCrE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,GACtB,aAAa,GAAG,IAAI,CActB;AAMD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgCzC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,MAAM,CAoBR;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAqD3D"}
|
|
@@ -167,6 +167,67 @@ export function buildRoadmapItemAmbiguity(itemDescription) {
|
|
|
167
167
|
resolution_hint: `Pass a more specific item_description, e.g. 'Add JWT authentication with email/password login, bcrypt hashing, and a /auth/refresh endpoint'`,
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
+
// ── Clarification Detection ──────────────────────────────────────────
|
|
171
|
+
const CLARIFICATION_RE = /\[NEEDS CLARIFICATION:[^\]]*\]/g;
|
|
172
|
+
/**
|
|
173
|
+
* Scan spec artifact files for unresolved [NEEDS CLARIFICATION] markers.
|
|
174
|
+
* Returns a flat list of { file, marker } pairs.
|
|
175
|
+
*/
|
|
176
|
+
export function detectClarificationMarkers(projectDir) {
|
|
177
|
+
const candidates = ["docs/use-cases.md", "docs/PRD.md", "docs/TechSpec.md"];
|
|
178
|
+
const results = [];
|
|
179
|
+
for (const rel of candidates) {
|
|
180
|
+
const full = join(projectDir, rel);
|
|
181
|
+
if (!existsSync(full))
|
|
182
|
+
continue;
|
|
183
|
+
try {
|
|
184
|
+
const content = readFileSync(full, "utf-8");
|
|
185
|
+
for (const m of content.matchAll(CLARIFICATION_RE)) {
|
|
186
|
+
results.push({ file: rel, marker: m[0] });
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
/* skip unreadable files */
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const adrsDir = join(projectDir, "docs", "adrs");
|
|
194
|
+
if (existsSync(adrsDir)) {
|
|
195
|
+
try {
|
|
196
|
+
for (const f of readdirSync(adrsDir).filter((n) => n.endsWith(".md"))) {
|
|
197
|
+
const content = readFileSync(join(adrsDir, f), "utf-8");
|
|
198
|
+
for (const m of content.matchAll(CLARIFICATION_RE)) {
|
|
199
|
+
results.push({ file: `docs/adrs/${f}`, marker: m[0] });
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
/* skip */
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return results;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Build a warning block for unresolved [NEEDS CLARIFICATION] markers.
|
|
211
|
+
* Returns empty string if no markers found.
|
|
212
|
+
*/
|
|
213
|
+
export function buildClarificationWarning(markers) {
|
|
214
|
+
if (markers.length === 0)
|
|
215
|
+
return "";
|
|
216
|
+
const lines = [
|
|
217
|
+
`## ⚠️ Unresolved Clarifications — Session May Drift`,
|
|
218
|
+
``,
|
|
219
|
+
`The following spec artifacts contain \`[NEEDS CLARIFICATION]\` markers.`,
|
|
220
|
+
`**Resolve these before implementing** — the AI cannot act on ambiguity it cannot see.`,
|
|
221
|
+
``,
|
|
222
|
+
`| File | Marker |`,
|
|
223
|
+
`|---|---|`,
|
|
224
|
+
];
|
|
225
|
+
for (const { file, marker } of markers) {
|
|
226
|
+
lines.push(`| \`${file}\` | ${marker} |`);
|
|
227
|
+
}
|
|
228
|
+
lines.push(``, `Edit each file and replace the marker with the actual decision.`, ``);
|
|
229
|
+
return lines.join("\n");
|
|
230
|
+
}
|
|
170
231
|
// ── Prompt Builder ───────────────────────────────────────────────────
|
|
171
232
|
/**
|
|
172
233
|
* Assemble the bound session prompt from all collected inputs.
|
|
@@ -175,29 +236,41 @@ export function buildRoadmapItemAmbiguity(itemDescription) {
|
|
|
175
236
|
* @returns Complete, ready-to-paste session prompt
|
|
176
237
|
*/
|
|
177
238
|
export function buildPrompt(input) {
|
|
178
|
-
const { projectDir, itemDescription, sessionType, scopeNote, acceptanceCriteria, artifacts, statusSummary, } = input;
|
|
239
|
+
const { projectDir, itemDescription, sessionType, scopeNote, acceptanceCriteria, artifacts, statusSummary, stateLeaf, practitionerLevel = "novice", } = input;
|
|
179
240
|
const contextLoadBlock = buildContextLoadBlock(artifacts);
|
|
180
241
|
const scopeBlock = scopeNote
|
|
181
242
|
? `\n## Out of Scope\nDo NOT touch: ${scopeNote}\n`
|
|
182
243
|
: "";
|
|
183
244
|
const criteriaLines = acceptanceCriteria.map((c) => `- [ ] ${c}`).join("\n");
|
|
184
245
|
const conventionalType = sessionType === "fix" ? "fix" : sessionType;
|
|
246
|
+
const clarificationMarkers = detectClarificationMarkers(projectDir);
|
|
247
|
+
const clarificationWarning = buildClarificationWarning(clarificationMarkers);
|
|
185
248
|
let prompt = `# Session Prompt — Bound\n\n> Generated by ForgeCraft \`generate_session_prompt\`. Load context, then issue this prompt.\n\n---\n\n`;
|
|
249
|
+
if (clarificationWarning)
|
|
250
|
+
prompt += clarificationWarning + "---\n\n";
|
|
186
251
|
prompt += `## Context Load Order\n\nLoad these artifacts **before** issuing the implementation prompt:\n\n${contextLoadBlock}\n`;
|
|
187
|
-
if (
|
|
252
|
+
if (stateLeaf) {
|
|
253
|
+
prompt += `## Current Project State\n\n${stateLeaf}\n\n---\n\n`;
|
|
254
|
+
}
|
|
255
|
+
else if (statusSummary) {
|
|
188
256
|
prompt += statusSummary + "\n\n";
|
|
189
257
|
}
|
|
190
258
|
prompt += `---\n\n## Implementation Prompt\n\n*(Paste everything below this line to the AI assistant)*\n\n---\n\n`;
|
|
191
259
|
prompt += `### Task\n\n${itemDescription}\n\n`;
|
|
192
260
|
if (scopeBlock)
|
|
193
261
|
prompt += scopeBlock + "\n";
|
|
194
|
-
prompt += buildTddGateSection(conventionalType);
|
|
262
|
+
prompt += buildTddGateSection(conventionalType, practitionerLevel);
|
|
195
263
|
prompt += buildMcpToolsSection(projectDir);
|
|
196
264
|
prompt += buildContextRetrievalSection(projectDir);
|
|
197
|
-
prompt += buildExecutionLoopSection(deriveTestCommand(projectDir));
|
|
265
|
+
prompt += buildExecutionLoopSection(deriveTestCommand(projectDir), practitionerLevel);
|
|
198
266
|
prompt += `> Before \`git commit\`: run \`close_cycle\` to assess gates and check cascade.\n\n`;
|
|
199
267
|
prompt += `### Acceptance Criteria\n\nAll must be satisfied before the session is considered complete:\n\n${criteriaLines}\n\n`;
|
|
200
|
-
|
|
268
|
+
if (practitionerLevel === "experienced") {
|
|
269
|
+
prompt += `### Session Close\n\nRun tests, update Status.md, write ADR if architectural decisions were made.\n\n`;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
prompt += `### Session Close\n\nBefore ending this session:\n1. Run the full test suite — paste the summary output\n2. Update Status.md: what was completed, current state, next steps\n3. If a non-obvious architectural decision was made: write an ADR in ${artifacts.adrDir ?? "docs/adrs/"}\n\n`;
|
|
273
|
+
}
|
|
201
274
|
prompt += `---\n\`files_created\`: []\n\`next_steps\`: ["Run check_cascade to verify cascade is still complete after this session"]\n`;
|
|
202
275
|
return prompt;
|
|
203
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-prompt-builders.js","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-prompt-builders.js","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ export declare function isServerConfigured(projectDir: string, serverName: strin
|
|
|
33
33
|
* Build the TDD Gate section.
|
|
34
34
|
*
|
|
35
35
|
* @param conventionalType - Conventional commit type for this session
|
|
36
|
+
* @param level - Practitioner experience level; "experienced" emits compact form
|
|
36
37
|
* @returns Formatted TDD Gate section
|
|
37
38
|
*/
|
|
38
|
-
export declare function buildTddGateSection(conventionalType: string): string;
|
|
39
|
+
export declare function buildTddGateSection(conventionalType: string, level?: "novice" | "experienced"): string;
|
|
39
40
|
/**
|
|
40
41
|
* Build the context load block based on which artifacts are present.
|
|
41
42
|
*
|
|
@@ -54,7 +55,8 @@ export declare function buildContextRetrievalSection(projectDir: string): string
|
|
|
54
55
|
* Build the Execution Loop section with the derived test command.
|
|
55
56
|
*
|
|
56
57
|
* @param testCommand - The test command to embed, or undefined when not yet configured
|
|
58
|
+
* @param level - Practitioner experience level; "experienced" emits compact form
|
|
57
59
|
* @returns Formatted Execution Loop section
|
|
58
60
|
*/
|
|
59
|
-
export declare function buildExecutionLoopSection(testCommand: string | undefined): string;
|
|
61
|
+
export declare function buildExecutionLoopSection(testCommand: string | undefined, level?: "novice" | "experienced"): string;
|
|
60
62
|
//# sourceMappingURL=session-prompt-sections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAUlF;AAID
|
|
1
|
+
{"version":3,"file":"session-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAUlF;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,KAAK,GAAE,QAAQ,GAAG,aAAwB,GACzC,MAAM,CAuBR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAmCxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,GAAE,QAAQ,GAAG,aAAwB,GACzC,MAAM,CAsBR"}
|
|
@@ -63,17 +63,25 @@ export function isServerConfigured(projectDir, serverName) {
|
|
|
63
63
|
* Build the TDD Gate section.
|
|
64
64
|
*
|
|
65
65
|
* @param conventionalType - Conventional commit type for this session
|
|
66
|
+
* @param level - Practitioner experience level; "experienced" emits compact form
|
|
66
67
|
* @returns Formatted TDD Gate section
|
|
67
68
|
*/
|
|
68
|
-
export function buildTddGateSection(conventionalType) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
export function buildTddGateSection(conventionalType, level = "novice") {
|
|
70
|
+
const commitSequence = `\`\`\`\ntest(scope): [RED] <describe what the test asserts>\n` +
|
|
71
|
+
`${conventionalType}(scope): <implement to satisfy the test>\n` +
|
|
72
|
+
`refactor(scope): <clean without behavior change> ← only if needed\n\`\`\`\n\n`;
|
|
73
|
+
if (level === "experienced") {
|
|
74
|
+
return (`### TDD Gate\n\n` +
|
|
75
|
+
`RED → GREEN → REFACTOR. Commit sequence:\n` +
|
|
76
|
+
commitSequence);
|
|
77
|
+
}
|
|
78
|
+
return (`### TDD Gate\n\n` +
|
|
79
|
+
`Follow strict RED → GREEN → REFACTOR.\n` +
|
|
80
|
+
`1. **RED**: Write the failing test first. Run it. Paste the failure output before writing any implementation.\n` +
|
|
81
|
+
`2. **GREEN**: Write minimum implementation to pass. Do not proceed until tests pass.\n` +
|
|
82
|
+
`3. **REFACTOR**: Clean structure while keeping all tests green.\n\n` +
|
|
83
|
+
`Commit sequence required:\n` +
|
|
84
|
+
commitSequence);
|
|
77
85
|
}
|
|
78
86
|
/**
|
|
79
87
|
* Build the context load block based on which artifacts are present.
|
|
@@ -135,12 +143,16 @@ export function buildContextRetrievalSection(projectDir) {
|
|
|
135
143
|
* Build the Execution Loop section with the derived test command.
|
|
136
144
|
*
|
|
137
145
|
* @param testCommand - The test command to embed, or undefined when not yet configured
|
|
146
|
+
* @param level - Practitioner experience level; "experienced" emits compact form
|
|
138
147
|
* @returns Formatted Execution Loop section
|
|
139
148
|
*/
|
|
140
|
-
export function buildExecutionLoopSection(testCommand) {
|
|
149
|
+
export function buildExecutionLoopSection(testCommand, level = "novice") {
|
|
141
150
|
const commandLine = testCommand
|
|
142
151
|
? `**Test command for this project:** \`${testCommand}\``
|
|
143
152
|
: `**Test command**: Not configured yet — add package.json/pyproject.toml first`;
|
|
153
|
+
if (level === "experienced") {
|
|
154
|
+
return `## Execution Loop\n\n${commandLine}\n\n`;
|
|
155
|
+
}
|
|
144
156
|
return (`## Execution Loop\n\n` +
|
|
145
157
|
`Every implementation unit follows this loop. Do not exit until all tests are green.\n\n` +
|
|
146
158
|
`1. **Write the failing test first** (RED) — run it, confirm it fails for the right reason\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-prompt-sections.js","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlF,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACpE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;QAC5F,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAwC,CAAC;QACjF,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE
|
|
1
|
+
{"version":3,"file":"session-prompt-sections.js","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,19 @@ export interface AiExtractedFields {
|
|
|
54
54
|
readonly primaryUsers?: string;
|
|
55
55
|
readonly successCriteria?: string;
|
|
56
56
|
}
|
|
57
|
+
/** A single use case extracted from the spec by the AI. */
|
|
58
|
+
export interface UseCaseInput {
|
|
59
|
+
readonly id: string;
|
|
60
|
+
readonly title: string;
|
|
61
|
+
readonly actor: string;
|
|
62
|
+
readonly precondition: string;
|
|
63
|
+
readonly steps: string[];
|
|
64
|
+
readonly postcondition: string;
|
|
65
|
+
readonly errorCases?: ReadonlyArray<{
|
|
66
|
+
name: string;
|
|
67
|
+
description: string;
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
57
70
|
/**
|
|
58
71
|
* Write docs/PRD.md using AI-extracted fields when available.
|
|
59
72
|
* Never overwrites an existing PRD.
|
|
@@ -66,16 +79,17 @@ export interface AiExtractedFields {
|
|
|
66
79
|
*/
|
|
67
80
|
export declare function writePrd(projectDir: string, projectName: string, aiFields: AiExtractedFields, _specContent: string | null): boolean;
|
|
68
81
|
/**
|
|
69
|
-
* Write docs/use-cases.md
|
|
70
|
-
* Never overwrites an existing use-cases.md.
|
|
82
|
+
* Write docs/use-cases.md from structured spec-derived use cases when available,
|
|
83
|
+
* or from AI-extracted fields as a fallback. Never overwrites an existing use-cases.md.
|
|
71
84
|
*
|
|
72
85
|
* @param projectDir - Project root directory
|
|
73
86
|
* @param projectName - Project name for use case context
|
|
74
|
-
* @param aiFields - AI-extracted problem, users, criteria
|
|
87
|
+
* @param aiFields - AI-extracted problem, users, criteria (fallback)
|
|
75
88
|
* @param _specContent - Raw spec text (reserved for future use)
|
|
89
|
+
* @param useCases - Structured use cases extracted from the spec (preferred)
|
|
76
90
|
* @returns True if a new use-cases.md was written
|
|
77
91
|
*/
|
|
78
|
-
export declare function writeUseCases(projectDir: string, projectName: string, aiFields: AiExtractedFields, _specContent: string | null): boolean;
|
|
92
|
+
export declare function writeUseCases(projectDir: string, projectName: string, aiFields: AiExtractedFields, _specContent: string | null, useCases?: ReadonlyArray<UseCaseInput>): boolean;
|
|
79
93
|
export { deriveDefaultCascadeDecisions };
|
|
80
94
|
/**
|
|
81
95
|
* Write docs/sample-outcome.md — a stub for the first real deliverable of
|
|
@@ -90,6 +104,57 @@ export { deriveDefaultCascadeDecisions };
|
|
|
90
104
|
* @returns True if the file was written
|
|
91
105
|
*/
|
|
92
106
|
export declare function writeSampleOutcome(projectDir: string, toolName: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Write docs/operation-classification.md — Tier 0–3 operation classification schema.
|
|
109
|
+
* Referenced by CLAUDE.md and the pre-tool-use hook.
|
|
110
|
+
* Never overwrites an existing file.
|
|
111
|
+
*
|
|
112
|
+
* @param projectDir - Project root
|
|
113
|
+
* @returns True if the file was written
|
|
114
|
+
*/
|
|
115
|
+
export declare function writeOperationClassification(projectDir: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Write stub documentation files for large specs or specs with architecture/data model content.
|
|
118
|
+
* Creates docs/architecture.md, docs/data-model.md, docs/domain-glossary.md,
|
|
119
|
+
* and docs/test-architecture.md as stubs for the AI to populate from the spec.
|
|
120
|
+
* Never overwrites existing files.
|
|
121
|
+
*
|
|
122
|
+
* @param projectDir - Project root
|
|
123
|
+
* @param projectName - Project name
|
|
124
|
+
* @param specContent - Raw spec text (checked for size and content signals)
|
|
125
|
+
* @returns Array of file paths written
|
|
126
|
+
*/
|
|
127
|
+
export declare function writeSpecSubDocStubs(projectDir: string, projectName: string, specContent: string | null): string[];
|
|
128
|
+
/**
|
|
129
|
+
* Write generic sub-agent definitions to .claude/agents/.
|
|
130
|
+
* Agents are autonomous Claude Code sub-agents with specialized personas.
|
|
131
|
+
* Never overwrites existing files.
|
|
132
|
+
*
|
|
133
|
+
* @param projectDir - Project root
|
|
134
|
+
* @returns Array of agent filenames written
|
|
135
|
+
*/
|
|
136
|
+
export declare function writeAgentDefinitions(projectDir: string): string[];
|
|
137
|
+
/**
|
|
138
|
+
* Write docs/manifest.yaml — canonical GS document taxonomy contract.
|
|
139
|
+
* Project-specific instance that references the canonical schema template.
|
|
140
|
+
* Never overwrites an existing manifest.
|
|
141
|
+
*
|
|
142
|
+
* @param projectDir - Project root
|
|
143
|
+
* @param projectName - Project name
|
|
144
|
+
* @param tags - Active project tags
|
|
145
|
+
* @returns True if the file was written
|
|
146
|
+
*/
|
|
147
|
+
export declare function writeProjectManifest(projectDir: string, projectName: string, tags: readonly string[]): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Write docs/status.md — current project state and next steps.
|
|
150
|
+
* Gives AI assistants and humans a quick orientation at session start.
|
|
151
|
+
* Never overwrites an existing file.
|
|
152
|
+
*
|
|
153
|
+
* @param projectDir - Project root
|
|
154
|
+
* @param projectName - Project name
|
|
155
|
+
* @returns True if the file was written
|
|
156
|
+
*/
|
|
157
|
+
export declare function writeStatusMd(projectDir: string, projectName: string): boolean;
|
|
93
158
|
/**
|
|
94
159
|
* Load cascade decisions from forgecraft.yaml (convenience re-used in writers).
|
|
95
160
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-artifact-writers.d.ts","sourceRoot":"","sources":["../../src/tools/setup-artifact-writers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAItE;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAQ5D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBtD;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,CAAC,EAAE,OAAO,EACvB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CA8BT;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAwBpE;AAID,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAMT;AAwBD
|
|
1
|
+
{"version":3,"file":"setup-artifact-writers.d.ts","sourceRoot":"","sources":["../../src/tools/setup-artifact-writers.ts"],"names":[],"mappings":"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"}
|