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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/registry/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-tag.d.ts","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAWf,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CA+F3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"loader-tag.d.ts","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAWf,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CA+F3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CA6B3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-tag.js","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA8B/D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,MAAc;IACzD,IAAI,YAA6C,CAAC;IAClD,IAAI,GAA4B,CAAC;IACjC,IAAI,SAAwC,CAAC;IAC7C,IAAI,KAAiC,CAAC;IACtC,IAAI,MAAmC,CAAC;IACxC,IAAI,MAAkC,CAAC;IACvC,IAAI,UAA0C,CAAC;IAC/C,IAAI,SAAwC,CAAC;IAC7C,IAAI,QAAsC,CAAC;IAC3C,IAAI,YAA8C,CAAC;IAEnD,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,YAAY,CAAsB,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,YAAY,GAAG,YAAY,CAAsB,UAAU,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,GAAG,GAAG,YAAY,CAAc,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,YAAY,CAAgB,SAAS,CAAC,CAAC;QACzD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,YAAY,CAAiB,UAAU,CAAC,CAAC;QAC5D,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAiB,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,wBAAwB;IACxB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG,YAAY,CAAqB,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,kDAAkD;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,YAAY,CAAmB,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,YAAY,CAAuB,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,GAAG;QACH,YAAY;QACZ,GAAG;QACH,SAAS;QACT,KAAK;QACL,MAAM;QACN,MAAM;QACN,UAAU;QACV,SAAS;QACT,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAwB;QACnC,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,YAAY;QAC1B,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,eAAe;QAChC,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,eAAe;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,cAAc;QAC9B,oBAAoB,EAAE,oBAAoB;QAC1C,wBAAwB,EAAE,wBAAwB;QAClD,YAAY,EAAE,YAAY;KAC3B,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"loader-tag.js","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
|
|
2
2
|
import { join } from "path";
|
|
3
|
-
const DEFAULT_REGISTRY_URL = "https://raw.githubusercontent.com/jghiringhelli/
|
|
3
|
+
const DEFAULT_REGISTRY_URL = "https://raw.githubusercontent.com/jghiringhelli/quality-gates/master/index.json";
|
|
4
4
|
const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
5
5
|
/**
|
|
6
6
|
* Fetches the remote quality-gates registry index.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-gates.js","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA2B5B,MAAM,oBAAoB,GACxB,
|
|
1
|
+
{"version":3,"file":"remote-gates.js","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,42 +11,42 @@
|
|
|
11
11
|
* @returns Status.md content ready to write
|
|
12
12
|
*/
|
|
13
13
|
export function renderStatusMd(context) {
|
|
14
|
-
return `# Status.md
|
|
15
|
-
|
|
16
|
-
## Last Updated: ${new Date().toISOString().split("T")[0]}
|
|
17
|
-
## Session Summary
|
|
18
|
-
Project initialized with ForgeCraft. Tags: ${context.tags.join(", ")}.
|
|
19
|
-
|
|
20
|
-
## Project Structure
|
|
21
|
-
\`\`\`
|
|
22
|
-
[Run 'tree -L 3 --dirsfirst' to populate]
|
|
23
|
-
\`\`\`
|
|
24
|
-
|
|
25
|
-
## Feature Tracker
|
|
26
|
-
| Feature | Status | Branch | Notes |
|
|
27
|
-
|---------|--------|--------|-------|
|
|
28
|
-
| | ⬚ Not Started | | |
|
|
29
|
-
|
|
30
|
-
## Known Bugs
|
|
31
|
-
| ID | Description | Severity | Status |
|
|
32
|
-
|----|-------------|----------|--------|
|
|
33
|
-
| | | | |
|
|
34
|
-
|
|
35
|
-
## Technical Debt
|
|
36
|
-
| Item | Impact | Effort | Priority |
|
|
37
|
-
|------|--------|--------|----------|
|
|
38
|
-
| | | | |
|
|
39
|
-
|
|
40
|
-
## Current Context
|
|
41
|
-
- Working on:
|
|
42
|
-
- Blocked by:
|
|
43
|
-
- Decisions pending:
|
|
44
|
-
- Next steps:
|
|
45
|
-
|
|
46
|
-
## Architecture Decision Log
|
|
47
|
-
| Date | Decision | Rationale | Status |
|
|
48
|
-
|------|----------|-----------|--------|
|
|
49
|
-
| | | | |
|
|
14
|
+
return `# Status.md
|
|
15
|
+
|
|
16
|
+
## Last Updated: ${new Date().toISOString().split("T")[0]}
|
|
17
|
+
## Session Summary
|
|
18
|
+
Project initialized with ForgeCraft. Tags: ${context.tags.join(", ")}.
|
|
19
|
+
|
|
20
|
+
## Project Structure
|
|
21
|
+
\`\`\`
|
|
22
|
+
[Run 'tree -L 3 --dirsfirst' to populate]
|
|
23
|
+
\`\`\`
|
|
24
|
+
|
|
25
|
+
## Feature Tracker
|
|
26
|
+
| Feature | Status | Branch | Notes |
|
|
27
|
+
|---------|--------|--------|-------|
|
|
28
|
+
| | ⬚ Not Started | | |
|
|
29
|
+
|
|
30
|
+
## Known Bugs
|
|
31
|
+
| ID | Description | Severity | Status |
|
|
32
|
+
|----|-------------|----------|--------|
|
|
33
|
+
| | | | |
|
|
34
|
+
|
|
35
|
+
## Technical Debt
|
|
36
|
+
| Item | Impact | Effort | Priority |
|
|
37
|
+
|------|--------|--------|----------|
|
|
38
|
+
| | | | |
|
|
39
|
+
|
|
40
|
+
## Current Context
|
|
41
|
+
- Working on:
|
|
42
|
+
- Blocked by:
|
|
43
|
+
- Decisions pending:
|
|
44
|
+
- Next steps:
|
|
45
|
+
|
|
46
|
+
## Architecture Decision Log
|
|
47
|
+
| Date | Decision | Rationale | Status |
|
|
48
|
+
|------|----------|-----------|--------|
|
|
49
|
+
| | | | |
|
|
50
50
|
`;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -56,33 +56,33 @@ Project initialized with ForgeCraft. Tags: ${context.tags.join(", ")}.
|
|
|
56
56
|
* @returns PRD.md content ready to write
|
|
57
57
|
*/
|
|
58
58
|
export function renderPrdSkeleton(context) {
|
|
59
|
-
return `# PRD: ${context.projectName}
|
|
60
|
-
|
|
61
|
-
## Background & Context
|
|
62
|
-
[Why this project exists, what problem it solves]
|
|
63
|
-
|
|
64
|
-
## Stakeholders
|
|
65
|
-
[Who owns it, who uses it, who's affected]
|
|
66
|
-
|
|
67
|
-
## User Stories
|
|
68
|
-
[Organized by feature area]
|
|
69
|
-
- US-001: As a [type], I want [action] so that [benefit]
|
|
70
|
-
|
|
71
|
-
## Requirements
|
|
72
|
-
### Functional Requirements
|
|
73
|
-
- FR-001: [requirement]
|
|
74
|
-
|
|
75
|
-
### Non-Functional Requirements
|
|
76
|
-
[Generated from active tags: ${context.tags.join(", ")}]
|
|
77
|
-
|
|
78
|
-
## Out of Scope
|
|
79
|
-
[Explicitly list what this project does NOT do]
|
|
80
|
-
|
|
81
|
-
## Success Metrics
|
|
82
|
-
[How do we know this project succeeded?]
|
|
83
|
-
|
|
84
|
-
## Open Questions
|
|
85
|
-
[Unresolved decisions]
|
|
59
|
+
return `# PRD: ${context.projectName}
|
|
60
|
+
|
|
61
|
+
## Background & Context
|
|
62
|
+
[Why this project exists, what problem it solves]
|
|
63
|
+
|
|
64
|
+
## Stakeholders
|
|
65
|
+
[Who owns it, who uses it, who's affected]
|
|
66
|
+
|
|
67
|
+
## User Stories
|
|
68
|
+
[Organized by feature area]
|
|
69
|
+
- US-001: As a [type], I want [action] so that [benefit]
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
### Functional Requirements
|
|
73
|
+
- FR-001: [requirement]
|
|
74
|
+
|
|
75
|
+
### Non-Functional Requirements
|
|
76
|
+
[Generated from active tags: ${context.tags.join(", ")}]
|
|
77
|
+
|
|
78
|
+
## Out of Scope
|
|
79
|
+
[Explicitly list what this project does NOT do]
|
|
80
|
+
|
|
81
|
+
## Success Metrics
|
|
82
|
+
[How do we know this project succeeded?]
|
|
83
|
+
|
|
84
|
+
## Open Questions
|
|
85
|
+
[Unresolved decisions]
|
|
86
86
|
`;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -92,35 +92,35 @@ export function renderPrdSkeleton(context) {
|
|
|
92
92
|
* @returns TechSpec.md content ready to write
|
|
93
93
|
*/
|
|
94
94
|
export function renderTechSpecSkeleton(context) {
|
|
95
|
-
return `# Tech Spec: ${context.projectName}
|
|
96
|
-
|
|
97
|
-
## Overview
|
|
98
|
-
[One paragraph translating PRD to technical approach]
|
|
99
|
-
|
|
100
|
-
## Architecture
|
|
101
|
-
### System Diagram
|
|
102
|
-
[Mermaid diagram or description of components]
|
|
103
|
-
|
|
104
|
-
### Tech Stack
|
|
105
|
-
- Runtime: ${context.language}
|
|
106
|
-
- Framework: ${context.framework ?? "[TBD]"}
|
|
107
|
-
|
|
108
|
-
### Data Flow
|
|
109
|
-
[How data moves through the system]
|
|
110
|
-
|
|
111
|
-
## API Contracts
|
|
112
|
-
[Key endpoints, request/response shapes]
|
|
113
|
-
|
|
114
|
-
## Security & Compliance
|
|
115
|
-
[Auth approach, encryption, audit logging]
|
|
116
|
-
|
|
117
|
-
## Dependencies
|
|
118
|
-
[External services, APIs, libraries with version pins]
|
|
119
|
-
|
|
120
|
-
## Risks & Mitigations
|
|
121
|
-
| Risk | Likelihood | Impact | Mitigation |
|
|
122
|
-
|------|-----------|--------|------------|
|
|
123
|
-
| | H/M/L | H/M/L | |
|
|
95
|
+
return `# Tech Spec: ${context.projectName}
|
|
96
|
+
|
|
97
|
+
## Overview
|
|
98
|
+
[One paragraph translating PRD to technical approach]
|
|
99
|
+
|
|
100
|
+
## Architecture
|
|
101
|
+
### System Diagram
|
|
102
|
+
[Mermaid diagram or description of components]
|
|
103
|
+
|
|
104
|
+
### Tech Stack
|
|
105
|
+
- Runtime: ${context.language}
|
|
106
|
+
- Framework: ${context.framework ?? "[TBD]"}
|
|
107
|
+
|
|
108
|
+
### Data Flow
|
|
109
|
+
[How data moves through the system]
|
|
110
|
+
|
|
111
|
+
## API Contracts
|
|
112
|
+
[Key endpoints, request/response shapes]
|
|
113
|
+
|
|
114
|
+
## Security & Compliance
|
|
115
|
+
[Auth approach, encryption, audit logging]
|
|
116
|
+
|
|
117
|
+
## Dependencies
|
|
118
|
+
[External services, APIs, libraries with version pins]
|
|
119
|
+
|
|
120
|
+
## Risks & Mitigations
|
|
121
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
122
|
+
|------|-----------|--------|------------|
|
|
123
|
+
| | H/M/L | H/M/L | |
|
|
124
124
|
`;
|
|
125
125
|
}
|
|
126
126
|
//# sourceMappingURL=renderer-skeletons.js.map
|
|
@@ -89,42 +89,321 @@ function renderDomainFile(domain, blocks, context) {
|
|
|
89
89
|
return lines.join("\n");
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
|
-
* Render the
|
|
92
|
+
* Render the comprehensive CLAUDE.md sentinel (~130 lines).
|
|
93
93
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
94
|
+
* Contains all GS invariants, architecture, code standards, testing protocol,
|
|
95
|
+
* commit protocol, prohibited ops, reading map, and session loop invariant.
|
|
96
|
+
* This is the primary always-loaded file for every AI session.
|
|
96
97
|
*
|
|
97
|
-
* @param _domains - Domains with standards files (
|
|
98
|
+
* @param _domains - Domains with standards files (for wayfinding footer)
|
|
98
99
|
* @param context - Render context
|
|
99
|
-
* @returns
|
|
100
|
+
* @returns Comprehensive CLAUDE.md content ready to write
|
|
100
101
|
*/
|
|
101
102
|
function renderSentinelClaudeMd(_domains, context) {
|
|
102
103
|
const date = new Date().toISOString().split("T")[0];
|
|
103
|
-
const
|
|
104
|
+
const tagList = context.tags.filter((t) => t !== "UNIVERSAL").join(", ") || "UNIVERSAL";
|
|
105
|
+
const stackLine = inferStackFromTags(context.tags);
|
|
106
|
+
const layerDiagram = buildLayerDiagram(context.tags);
|
|
107
|
+
const folderMap = buildFolderMap(context.tags);
|
|
104
108
|
return [
|
|
105
|
-
`# ${context.projectName}`,
|
|
109
|
+
`# ${context.projectName} — Architecture Sentinel`,
|
|
106
110
|
`<!-- ForgeCraft sentinel | ${date} | npx forgecraft-mcp refresh . --apply to update -->`,
|
|
107
|
-
description,
|
|
108
111
|
``,
|
|
109
|
-
|
|
112
|
+
`> Sentinel of architecture — read automatically every session. Contains inviolable rules.`,
|
|
113
|
+
`> Canonical product source: \`docs/PRD.md\``,
|
|
114
|
+
`> If something contradicts spec, spec wins — raise an ADR.`,
|
|
115
|
+
``,
|
|
116
|
+
`---`,
|
|
117
|
+
``,
|
|
118
|
+
`## Project Identity`,
|
|
119
|
+
``,
|
|
120
|
+
`- **Name**: ${context.projectName}`,
|
|
121
|
+
`- **Tags**: ${tagList}`,
|
|
122
|
+
`- **Stack**: ${stackLine}`,
|
|
123
|
+
``,
|
|
124
|
+
`---`,
|
|
125
|
+
``,
|
|
126
|
+
`## The 7 GS Properties (apply to every generated artifact)`,
|
|
127
|
+
``,
|
|
128
|
+
`1. **Self-describing** — artifacts explain themselves; no implicit human memory.`,
|
|
129
|
+
`2. **Bounded** — files ≤300 lines, functions ≤50 lines, one file = one concern.`,
|
|
130
|
+
`3. **Verifiable** — typecheck + lint + tests are the definition of "done". Never "wrote the file" = "it works".`,
|
|
131
|
+
`4. **Defended** — destructive operations structurally blocked (see \`docs/operation-classification.md\`).`,
|
|
132
|
+
`5. **Auditable** — Conventional Commits + ADRs for every non-trivial decision.`,
|
|
133
|
+
`6. **Composable** — clean architecture, dependencies always inward, explicit interfaces at seams.`,
|
|
134
|
+
`7. **Executable** — tests run against real runtime, not just compilation.`,
|
|
135
|
+
``,
|
|
136
|
+
`---`,
|
|
137
|
+
``,
|
|
138
|
+
`## Architecture Layers (dependencies point INWARD ONLY)`,
|
|
139
|
+
``,
|
|
140
|
+
layerDiagram,
|
|
141
|
+
``,
|
|
142
|
+
`Rule: a layer never imports from a layer above it. No lateral imports between domains.`,
|
|
143
|
+
`Shared utilities go to a \`shared/\` module — never duplicated across domains.`,
|
|
144
|
+
``,
|
|
145
|
+
...buildNavigationModeSection(context.tags),
|
|
146
|
+
``,
|
|
147
|
+
`## Folder Map — Where to Find Things`,
|
|
148
|
+
``,
|
|
149
|
+
folderMap,
|
|
150
|
+
``,
|
|
151
|
+
`---`,
|
|
152
|
+
``,
|
|
153
|
+
`## Tool Sequencing`,
|
|
154
|
+
``,
|
|
155
|
+
`> How to approach the most common task types in this project.`,
|
|
156
|
+
`> Fill in the Sequence column after your first few sessions.`,
|
|
157
|
+
``,
|
|
158
|
+
`| Task type | Recommended tool sequence |`,
|
|
159
|
+
`| ---------------------------- | -------------------------------------------------------------- |`,
|
|
160
|
+
`| New feature | Read PRD → Read use-cases → Write test → Implement → Commit |`,
|
|
161
|
+
`| Bug fix | Grep for error → Read failing test → Fix → Add regression test |`,
|
|
162
|
+
`| Refactor | Read architecture.md → Check layer diagram → Change → Test |`,
|
|
163
|
+
`| Schema change | Read data-model.md → Write migration → Regen types → Update UC |`,
|
|
164
|
+
`| <!-- FILL: custom task --> | <!-- FILL: tool sequence --> |`,
|
|
165
|
+
``,
|
|
166
|
+
`---`,
|
|
167
|
+
``,
|
|
168
|
+
`## Corrections Log`,
|
|
169
|
+
``,
|
|
170
|
+
`> Past mistakes by AI assistants on this project. Read before acting to avoid repeating them.`,
|
|
171
|
+
`> Format: \`YYYY-MM-DD | [category] what went wrong and what the correct approach is\``,
|
|
172
|
+
``,
|
|
173
|
+
`<!-- Log entries go here. Example:`,
|
|
174
|
+
`2026-01-15 | [architecture] Added business logic to a route handler instead of a service — always delegate to service layer`,
|
|
175
|
+
`2026-01-20 | [testing] Mocked the DB in an integration test — use real test DB instead (see docs/test-architecture.md)`,
|
|
176
|
+
`-->`,
|
|
177
|
+
``,
|
|
178
|
+
`---`,
|
|
179
|
+
``,
|
|
180
|
+
`## Code Standards`,
|
|
181
|
+
``,
|
|
182
|
+
`- **Strict typing**: no \`any\` — use \`unknown\` + narrowing.`,
|
|
183
|
+
`- **Explicit return types** on all exported functions.`,
|
|
184
|
+
`- Files ≤300 lines. Functions ≤50 lines. If exceeded, extract.`,
|
|
185
|
+
`- Naming: files \`kebab-case\`, classes/types \`PascalCase\`, variables \`camelCase\`, DB columns \`snake_case\`.`,
|
|
186
|
+
`- No abbreviations except universally known (id, url, http, db, api).`,
|
|
187
|
+
`- Absolute imports with path aliases (\`@/\` → \`src/\`).`,
|
|
188
|
+
``,
|
|
189
|
+
`---`,
|
|
190
|
+
``,
|
|
191
|
+
`## Testing Protocol`,
|
|
192
|
+
``,
|
|
193
|
+
`- **TDD mandatory** for non-trivial logic. Flow: RED → GREEN → REFACTOR with separate commits.`,
|
|
194
|
+
` - \`test(scope): [RED] description\` — failing test first`,
|
|
195
|
+
` - \`feat(scope): [GREEN] description\` — minimal implementation`,
|
|
196
|
+
` - \`refactor(scope): description\` — cleanup`,
|
|
197
|
+
`- **Pre-commit**: run only affected tests (\`vitest run --changed --passWithNoTests\`). Set \`TDD_RED=1\` to bypass for [RED] commits.`,
|
|
198
|
+
`- **Pre-push**: run ALL tests. No exceptions.`,
|
|
199
|
+
`- Coverage: ≥80% global, higher for auth/security modules.`,
|
|
200
|
+
`- Tests are adversarial: \`test_rejects_bad_input\`, \`test_denies_unauthorized\`. Not \`test_basic_flow\`.`,
|
|
201
|
+
`- Test against interfaces, never against internal implementation.`,
|
|
202
|
+
``,
|
|
203
|
+
`---`,
|
|
204
|
+
``,
|
|
205
|
+
`## Commit Protocol (Conventional Commits, strict)`,
|
|
206
|
+
``,
|
|
207
|
+
"```",
|
|
208
|
+
`type(scope): subject`,
|
|
209
|
+
"```",
|
|
210
|
+
``,
|
|
211
|
+
`- \`type\` ∈ \`feat|fix|refactor|docs|test|chore|perf|build|ci\``,
|
|
212
|
+
`- **Atomic**: one commit = one logical change. No "WIP", "fixes", "asdf".`,
|
|
213
|
+
`- Every commit must pass typecheck + lint + affected tests.`,
|
|
214
|
+
`- A pre-commit hook enforces this; a commit-msg hook validates format + TDD phase.`,
|
|
215
|
+
``,
|
|
216
|
+
`---`,
|
|
217
|
+
``,
|
|
218
|
+
`## Prohibited Operations (require explicit confirmation)`,
|
|
219
|
+
``,
|
|
220
|
+
`See \`docs/operation-classification.md\` for Tier 0–3 classification.`,
|
|
221
|
+
``,
|
|
222
|
+
`**Blocked without \`FORGECRAFT_ALLOW_DESTRUCTIVE=1\`:**`,
|
|
223
|
+
`- \`DROP TABLE\`, \`TRUNCATE\`, \`DELETE\` without specific \`WHERE\``,
|
|
224
|
+
`- Disabling any security constraint (RLS, auth guards)`,
|
|
225
|
+
`- \`git push --force\` to main/master`,
|
|
226
|
+
`- \`rm -rf\` on src/, docs/, or database paths`,
|
|
227
|
+
`- Hard delete of domain entities (use soft delete / audit log)`,
|
|
228
|
+
``,
|
|
229
|
+
`**Require human confirmation:**`,
|
|
230
|
+
`- Direct push to main (use PR)`,
|
|
231
|
+
`- Full data resync / backfill operations`,
|
|
232
|
+
`- Schema migrations on production`,
|
|
233
|
+
`- Adding dependencies >100 KB`,
|
|
234
|
+
``,
|
|
235
|
+
`---`,
|
|
236
|
+
``,
|
|
237
|
+
`## Reading Map — What to Load Before Touching Code`,
|
|
238
|
+
``,
|
|
239
|
+
`| When you touch... | Read first... |`,
|
|
240
|
+
`| ---------------------- | ---------------------------------------------------- |`,
|
|
241
|
+
`| Architecture / layers | \`docs/architecture.md\`, relevant ADR |`,
|
|
242
|
+
`| Data model / schema | \`docs/data-model.md\`, relevant ADR |`,
|
|
243
|
+
`| Business logic / domain| \`docs/PRD.md\` §goals, \`docs/use-cases.md\` |`,
|
|
244
|
+
`| Any test | \`docs/test-architecture.md\` or \`docs/use-cases.md\` |`,
|
|
245
|
+
`| Any ADR concern | \`.claude/adr/index.md\` → specific ADR |`,
|
|
246
|
+
`| Quality gates | \`.claude/gates/index.md\` |`,
|
|
247
|
+
``,
|
|
248
|
+
`---`,
|
|
249
|
+
``,
|
|
250
|
+
`## Session Loop Invariant (close-of-session gate)`,
|
|
251
|
+
``,
|
|
252
|
+
`Before closing any session, verify:`,
|
|
253
|
+
``,
|
|
254
|
+
`1. ✅ Typecheck passes (no errors)`,
|
|
255
|
+
`2. ✅ Lint passes (no warnings promoted to errors)`,
|
|
256
|
+
`3. ✅ Affected tests pass`,
|
|
257
|
+
`4. ✅ If schema changed: types regenerated and staged`,
|
|
258
|
+
`5. ✅ If structural decision: ADR created in \`docs/adrs/\``,
|
|
259
|
+
`6. ✅ Commits are Conventional Commits, atomic`,
|
|
260
|
+
`7. ✅ No dead code, unused imports, or \`console.log\` in production code`,
|
|
261
|
+
`8. ✅ If UC acceptance criteria changed: \`docs/use-cases.md\` updated`,
|
|
262
|
+
``,
|
|
263
|
+
`If any item fails: document what's open in \`docs/status.md\`.`,
|
|
264
|
+
``,
|
|
265
|
+
`---`,
|
|
266
|
+
``,
|
|
267
|
+
`## Navigation`,
|
|
268
|
+
``,
|
|
269
|
+
`Full standards: \`.claude/index.md\` → \`.claude/core.md\` → \`.claude/standards/\``,
|
|
270
|
+
`ADRs: \`docs/adrs/\` (indexed in \`.claude/adr/index.md\`)`,
|
|
271
|
+
`Quality gates: \`.claude/gates/index.md\``,
|
|
110
272
|
``,
|
|
111
273
|
].join("\n");
|
|
112
274
|
}
|
|
113
275
|
/**
|
|
114
|
-
*
|
|
115
|
-
* Uses domain context if available, falls back to tag names.
|
|
276
|
+
* Infer the stack description from project tags.
|
|
116
277
|
*
|
|
117
|
-
* @param
|
|
118
|
-
* @returns
|
|
278
|
+
* @param tags - Project tags
|
|
279
|
+
* @returns Human-readable stack string
|
|
280
|
+
*/
|
|
281
|
+
function inferStackFromTags(tags) {
|
|
282
|
+
if (tags.includes("WEB-NEXT"))
|
|
283
|
+
return "Next.js 14+ App Router + TypeScript";
|
|
284
|
+
if (tags.includes("WEB-REACT"))
|
|
285
|
+
return "React + TypeScript + Vite/Next.js";
|
|
286
|
+
if (tags.includes("API"))
|
|
287
|
+
return "TypeScript/Node.js REST/GraphQL API";
|
|
288
|
+
if (tags.includes("CLI"))
|
|
289
|
+
return "TypeScript/Node.js CLI";
|
|
290
|
+
if (tags.includes("LIBRARY"))
|
|
291
|
+
return "TypeScript library";
|
|
292
|
+
if (tags.includes("PYTHON"))
|
|
293
|
+
return "Python";
|
|
294
|
+
return "TypeScript";
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Build tag-specific layer diagram text.
|
|
298
|
+
*
|
|
299
|
+
* @param tags - Project tags
|
|
300
|
+
* @returns Layer diagram string
|
|
301
|
+
*/
|
|
302
|
+
function buildLayerDiagram(tags) {
|
|
303
|
+
if (tags.includes("WEB-NEXT") || tags.includes("WEB-REACT")) {
|
|
304
|
+
return "UI (App Router) → API Routes → Services → Domain → Repositories → Infrastructure";
|
|
305
|
+
}
|
|
306
|
+
if (tags.includes("API")) {
|
|
307
|
+
return "Routes → Services → Domain → Repositories → Adapters";
|
|
308
|
+
}
|
|
309
|
+
if (tags.includes("CLI")) {
|
|
310
|
+
return "Commands → Services → Domain → Adapters";
|
|
311
|
+
}
|
|
312
|
+
if (tags.includes("LIBRARY")) {
|
|
313
|
+
return "Public API → Core → Adapters";
|
|
314
|
+
}
|
|
315
|
+
return "Entry Points → Services → Domain → Infrastructure";
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Build Navigation Mode declaration (GS WP §6.0) when applicable.
|
|
319
|
+
* Emitted for architecturally disciplined projects where the AI should trust
|
|
320
|
+
* contracts and read interfaces before implementations.
|
|
321
|
+
*
|
|
322
|
+
* @param tags - Project tags
|
|
323
|
+
* @returns Lines to splice into the sentinel, or empty array for minimal projects
|
|
324
|
+
*/
|
|
325
|
+
function buildNavigationModeSection(tags) {
|
|
326
|
+
const hasArchDiscipline = tags.some((t) => ["WEB-NEXT", "WEB-REACT", "API", "CLI", "LIBRARY"].includes(t)) || tags.includes("UNIVERSAL");
|
|
327
|
+
if (!hasArchDiscipline)
|
|
328
|
+
return [];
|
|
329
|
+
return [
|
|
330
|
+
`---`,
|
|
331
|
+
``,
|
|
332
|
+
`## Navigation Mode — How to Read This Codebase`,
|
|
333
|
+
``,
|
|
334
|
+
`This project follows Clean Architecture with strict layer separation and TDD.`,
|
|
335
|
+
`**The contracts are trustworthy.** Use Navigation Mode accordingly:`,
|
|
336
|
+
``,
|
|
337
|
+
`- **Read interfaces, not implementations first.** Types and signatures tell you`,
|
|
338
|
+
` what a module promises — read those before reading the body.`,
|
|
339
|
+
`- **Use-cases drive everything.** Before touching any business logic, read the`,
|
|
340
|
+
` relevant UC in \`docs/use-cases.md\`. The UC is the spec; the code is derived.`,
|
|
341
|
+
`- **ADRs explain the why.** If you're about to make a structural decision, check`,
|
|
342
|
+
` \`.claude/adr/index.md\` first — the answer may already exist.`,
|
|
343
|
+
`- **Skip implementation reads when contracts are green.** If tests pass and types`,
|
|
344
|
+
` compile, you can treat a module as a black box.`,
|
|
345
|
+
`- **Raise an ADR rather than deviating.** If the correct action contradicts the`,
|
|
346
|
+
` architecture, write an ADR — do not silently break the contract.`,
|
|
347
|
+
];
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Build tag-specific folder map showing primary directories and their purpose.
|
|
351
|
+
*
|
|
352
|
+
* @param tags - Project tags
|
|
353
|
+
* @returns Markdown code block with folder map
|
|
119
354
|
*/
|
|
120
|
-
function
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
355
|
+
function buildFolderMap(tags) {
|
|
356
|
+
if (tags.includes("WEB-NEXT") || tags.includes("WEB-REACT")) {
|
|
357
|
+
return [
|
|
358
|
+
"```",
|
|
359
|
+
"src/app/ — Next.js routes (thin: validation + delegation)",
|
|
360
|
+
"src/components/",
|
|
361
|
+
" atoms/ — indivisible UI elements",
|
|
362
|
+
" molecules/ — compositions of 2–5 atoms",
|
|
363
|
+
" organisms/ — complex UI sections",
|
|
364
|
+
"src/lib/ — domain services, repositories, adapters (one dir per domain)",
|
|
365
|
+
"src/types/ — global types, no `any`",
|
|
366
|
+
"docs/ — PRD, use-cases, architecture, data-model, ADRs",
|
|
367
|
+
"tests/ — mirrors src/ structure",
|
|
368
|
+
".claude/ — core.md, index.md, hooks/, standards/, skills/",
|
|
369
|
+
"```",
|
|
370
|
+
].join("\n");
|
|
371
|
+
}
|
|
372
|
+
if (tags.includes("API")) {
|
|
373
|
+
return [
|
|
374
|
+
"```",
|
|
375
|
+
"src/routes/ — request handlers (thin: auth + validation + delegate)",
|
|
376
|
+
"src/services/ — business logic (depends only on interfaces)",
|
|
377
|
+
"src/domain/ — pure domain models and types",
|
|
378
|
+
"src/repositories/ — data access layer",
|
|
379
|
+
"src/adapters/ — external APIs, infrastructure",
|
|
380
|
+
"src/middleware/ — auth, logging, rate limiting",
|
|
381
|
+
"docs/ — PRD, use-cases, architecture, data-model, ADRs",
|
|
382
|
+
"tests/ — mirrors src/ structure",
|
|
383
|
+
".claude/ — core.md, index.md, hooks/, standards/",
|
|
384
|
+
"```",
|
|
385
|
+
].join("\n");
|
|
124
386
|
}
|
|
125
|
-
if (
|
|
126
|
-
return
|
|
387
|
+
if (tags.includes("CLI")) {
|
|
388
|
+
return [
|
|
389
|
+
"```",
|
|
390
|
+
"src/commands/ — CLI entry points (arg parsing + delegation)",
|
|
391
|
+
"src/services/ — business logic",
|
|
392
|
+
"src/domain/ — domain models",
|
|
393
|
+
"src/adapters/ — file system, external APIs",
|
|
394
|
+
"docs/ — PRD, use-cases, architecture, ADRs",
|
|
395
|
+
"tests/ — mirrors src/ structure",
|
|
396
|
+
".claude/ — core.md, index.md, hooks/, standards/",
|
|
397
|
+
"```",
|
|
398
|
+
].join("\n");
|
|
127
399
|
}
|
|
128
|
-
return
|
|
400
|
+
return [
|
|
401
|
+
"```",
|
|
402
|
+
"src/ — source code (organized by domain)",
|
|
403
|
+
"tests/ — test suite (mirrors src/ structure)",
|
|
404
|
+
"docs/ — PRD, use-cases, architecture, data-model, ADRs",
|
|
405
|
+
".claude/ — core.md (always loaded), index.md, hooks/, standards/",
|
|
406
|
+
"```",
|
|
407
|
+
].join("\n");
|
|
129
408
|
}
|
|
130
409
|
//# sourceMappingURL=sentinel-renderer.js.map
|