@paths.design/caws-cli 10.1.0 → 11.0.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/README.md +125 -374
- package/dist/index.js +43 -756
- package/dist/shell/binding/resolve-binding.d.ts +4 -0
- package/dist/shell/binding/resolve-binding.d.ts.map +1 -0
- package/dist/shell/binding/resolve-binding.js +228 -0
- package/dist/shell/binding/resolve-binding.js.map +1 -0
- package/dist/shell/binding/types.d.ts +42 -0
- package/dist/shell/binding/types.d.ts.map +1 -0
- package/dist/shell/binding/types.js +21 -0
- package/dist/shell/binding/types.js.map +1 -0
- package/dist/shell/commands/claim.d.ts +14 -0
- package/dist/shell/commands/claim.d.ts.map +1 -0
- package/dist/shell/commands/claim.js +197 -0
- package/dist/shell/commands/claim.js.map +1 -0
- package/dist/shell/commands/doctor.d.ts +13 -0
- package/dist/shell/commands/doctor.d.ts.map +1 -0
- package/dist/shell/commands/doctor.js +97 -0
- package/dist/shell/commands/doctor.js.map +1 -0
- package/dist/shell/commands/evidence.d.ts +28 -0
- package/dist/shell/commands/evidence.d.ts.map +1 -0
- package/dist/shell/commands/evidence.js +166 -0
- package/dist/shell/commands/evidence.js.map +1 -0
- package/dist/shell/commands/gates.d.ts +19 -0
- package/dist/shell/commands/gates.d.ts.map +1 -0
- package/dist/shell/commands/gates.js +181 -0
- package/dist/shell/commands/gates.js.map +1 -0
- package/dist/shell/commands/init.d.ts +8 -0
- package/dist/shell/commands/init.d.ts.map +1 -0
- package/dist/shell/commands/init.js +64 -0
- package/dist/shell/commands/init.js.map +1 -0
- package/dist/shell/commands/scope.d.ts +11 -0
- package/dist/shell/commands/scope.d.ts.map +1 -0
- package/dist/shell/commands/scope.js +92 -0
- package/dist/shell/commands/scope.js.map +1 -0
- package/dist/shell/commands/status.d.ts +15 -0
- package/dist/shell/commands/status.d.ts.map +1 -0
- package/dist/shell/commands/status.js +106 -0
- package/dist/shell/commands/status.js.map +1 -0
- package/dist/shell/commands/waiver.d.ts +38 -0
- package/dist/shell/commands/waiver.d.ts.map +1 -0
- package/dist/shell/commands/waiver.js +240 -0
- package/dist/shell/commands/waiver.js.map +1 -0
- package/dist/shell/gates/disposition.d.ts +23 -0
- package/dist/shell/gates/disposition.d.ts.map +1 -0
- package/dist/shell/gates/disposition.js +87 -0
- package/dist/shell/gates/disposition.js.map +1 -0
- package/dist/shell/gates/gate-result-contract.d.ts +39 -0
- package/dist/shell/gates/gate-result-contract.d.ts.map +1 -0
- package/dist/shell/gates/gate-result-contract.js +150 -0
- package/dist/shell/gates/gate-result-contract.js.map +1 -0
- package/dist/shell/gates/quality-gates-adapter.d.ts +55 -0
- package/dist/shell/gates/quality-gates-adapter.d.ts.map +1 -0
- package/dist/shell/gates/quality-gates-adapter.js +161 -0
- package/dist/shell/gates/quality-gates-adapter.js.map +1 -0
- package/dist/shell/gates/waiver-filter.d.ts +58 -0
- package/dist/shell/gates/waiver-filter.d.ts.map +1 -0
- package/dist/shell/gates/waiver-filter.js +119 -0
- package/dist/shell/gates/waiver-filter.js.map +1 -0
- package/dist/shell/index.d.ts +50 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +73 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/register.d.ts +11 -0
- package/dist/shell/register.d.ts.map +1 -0
- package/dist/shell/register.js +274 -0
- package/dist/shell/register.js.map +1 -0
- package/dist/shell/render/claim.d.ts +22 -0
- package/dist/shell/render/claim.d.ts.map +1 -0
- package/dist/shell/render/claim.js +75 -0
- package/dist/shell/render/claim.js.map +1 -0
- package/dist/shell/render/decision.d.ts +15 -0
- package/dist/shell/render/decision.d.ts.map +1 -0
- package/dist/shell/render/decision.js +66 -0
- package/dist/shell/render/decision.js.map +1 -0
- package/dist/shell/render/diagnostic.d.ts +19 -0
- package/dist/shell/render/diagnostic.d.ts.map +1 -0
- package/dist/shell/render/diagnostic.js +76 -0
- package/dist/shell/render/diagnostic.js.map +1 -0
- package/dist/shell/render/finding.d.ts +15 -0
- package/dist/shell/render/finding.d.ts.map +1 -0
- package/dist/shell/render/finding.js +57 -0
- package/dist/shell/render/finding.js.map +1 -0
- package/dist/shell/render/gates.d.ts +3 -0
- package/dist/shell/render/gates.d.ts.map +1 -0
- package/dist/shell/render/gates.js +56 -0
- package/dist/shell/render/gates.js.map +1 -0
- package/dist/shell/render/init.d.ts +11 -0
- package/dist/shell/render/init.d.ts.map +1 -0
- package/dist/shell/render/init.js +32 -0
- package/dist/shell/render/init.js.map +1 -0
- package/dist/shell/render/status.d.ts +26 -0
- package/dist/shell/render/status.d.ts.map +1 -0
- package/dist/shell/render/status.js +143 -0
- package/dist/shell/render/status.js.map +1 -0
- package/dist/shell/render/waiver.d.ts +21 -0
- package/dist/shell/render/waiver.d.ts.map +1 -0
- package/dist/shell/render/waiver.js +94 -0
- package/dist/shell/render/waiver.js.map +1 -0
- package/dist/shell/rules.d.ts +37 -0
- package/dist/shell/rules.d.ts.map +1 -0
- package/dist/shell/rules.js +51 -0
- package/dist/shell/rules.js.map +1 -0
- package/dist/shell/session/actor.d.ts +14 -0
- package/dist/shell/session/actor.d.ts.map +1 -0
- package/dist/shell/session/actor.js +34 -0
- package/dist/shell/session/actor.js.map +1 -0
- package/dist/shell/session/resolve-session.d.ts +5 -0
- package/dist/shell/session/resolve-session.d.ts.map +1 -0
- package/dist/shell/session/resolve-session.js +239 -0
- package/dist/shell/session/resolve-session.js.map +1 -0
- package/dist/shell/session/types.d.ts +56 -0
- package/dist/shell/session/types.d.ts.map +1 -0
- package/dist/shell/session/types.js +15 -0
- package/dist/shell/session/types.js.map +1 -0
- package/dist/store/agents-store.d.ts +3 -0
- package/dist/store/agents-store.d.ts.map +1 -0
- package/dist/store/agents-store.js +63 -0
- package/dist/store/agents-store.js.map +1 -0
- package/dist/store/apply-patch.d.ts +16 -0
- package/dist/store/apply-patch.d.ts.map +1 -0
- package/dist/store/apply-patch.js +191 -0
- package/dist/store/apply-patch.js.map +1 -0
- package/dist/store/atomic-write.d.ts +16 -0
- package/dist/store/atomic-write.d.ts.map +1 -0
- package/dist/store/atomic-write.js +132 -0
- package/dist/store/atomic-write.js.map +1 -0
- package/dist/store/doctor-snapshot.d.ts +20 -0
- package/dist/store/doctor-snapshot.d.ts.map +1 -0
- package/dist/store/doctor-snapshot.js +176 -0
- package/dist/store/doctor-snapshot.js.map +1 -0
- package/dist/store/events-store.d.ts +33 -0
- package/dist/store/events-store.d.ts.map +1 -0
- package/dist/store/events-store.js +297 -0
- package/dist/store/events-store.js.map +1 -0
- package/dist/store/index.d.ts +21 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +47 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/init-store.d.ts +21 -0
- package/dist/store/init-store.d.ts.map +1 -0
- package/dist/store/init-store.js +295 -0
- package/dist/store/init-store.js.map +1 -0
- package/dist/store/json-store.d.ts +3 -0
- package/dist/store/json-store.d.ts.map +1 -0
- package/dist/store/json-store.js +65 -0
- package/dist/store/json-store.js.map +1 -0
- package/dist/store/policy-store.d.ts +3 -0
- package/dist/store/policy-store.d.ts.map +1 -0
- package/dist/store/policy-store.js +65 -0
- package/dist/store/policy-store.js.map +1 -0
- package/dist/store/repo-root.d.ts +46 -0
- package/dist/store/repo-root.d.ts.map +1 -0
- package/dist/store/repo-root.js +145 -0
- package/dist/store/repo-root.js.map +1 -0
- package/dist/store/rules.d.ts +53 -0
- package/dist/store/rules.d.ts.map +1 -0
- package/dist/store/rules.js +78 -0
- package/dist/store/rules.js.map +1 -0
- package/dist/store/specs-store.d.ts +3 -0
- package/dist/store/specs-store.d.ts.map +1 -0
- package/dist/store/specs-store.js +131 -0
- package/dist/store/specs-store.js.map +1 -0
- package/dist/store/types.d.ts +84 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +14 -0
- package/dist/store/types.js.map +1 -0
- package/dist/store/waivers-store.d.ts +25 -0
- package/dist/store/waivers-store.d.ts.map +1 -0
- package/dist/store/waivers-store.js +232 -0
- package/dist/store/waivers-store.js.map +1 -0
- package/dist/store/worktrees-store.d.ts +3 -0
- package/dist/store/worktrees-store.d.ts.map +1 -0
- package/dist/store/worktrees-store.js +62 -0
- package/dist/store/worktrees-store.js.map +1 -0
- package/dist/store/yaml-store.d.ts +9 -0
- package/dist/store/yaml-store.d.ts.map +1 -0
- package/dist/store/yaml-store.js +121 -0
- package/dist/store/yaml-store.js.map +1 -0
- package/package.json +15 -13
- package/dist/budget-derivation.js +0 -751
- package/dist/cicd-optimizer.js +0 -504
- package/dist/commands/archive.js +0 -500
- package/dist/commands/burnup.js +0 -198
- package/dist/commands/diagnose.js +0 -525
- package/dist/commands/evaluate.js +0 -314
- package/dist/commands/gates.js +0 -149
- package/dist/commands/init.js +0 -857
- package/dist/commands/iterate.js +0 -417
- package/dist/commands/mode.js +0 -269
- package/dist/commands/parallel.js +0 -242
- package/dist/commands/plan.js +0 -438
- package/dist/commands/provenance.js +0 -1143
- package/dist/commands/quality-monitor.js +0 -284
- package/dist/commands/scope.js +0 -264
- package/dist/commands/session.js +0 -312
- package/dist/commands/sidecar.js +0 -74
- package/dist/commands/specs.js +0 -1448
- package/dist/commands/status.js +0 -1151
- package/dist/commands/templates.js +0 -237
- package/dist/commands/tool.js +0 -136
- package/dist/commands/tutorial.js +0 -480
- package/dist/commands/validate.js +0 -357
- package/dist/commands/verify-acs.js +0 -443
- package/dist/commands/waivers.js +0 -599
- package/dist/commands/workflow.js +0 -243
- package/dist/commands/worktree.js +0 -386
- package/dist/config/lite-scope.js +0 -158
- package/dist/config/modes.js +0 -347
- package/dist/constants/spec-types.js +0 -65
- package/dist/gates/budget-limit.js +0 -121
- package/dist/gates/feedback.js +0 -260
- package/dist/gates/format.js +0 -179
- package/dist/gates/god-object.js +0 -117
- package/dist/gates/pipeline.js +0 -167
- package/dist/gates/scope-boundary.js +0 -93
- package/dist/gates/spec-completeness.js +0 -109
- package/dist/gates/todo-detection.js +0 -205
- package/dist/generators/jest-config-generator.js +0 -242
- package/dist/generators/working-spec.js +0 -237
- package/dist/minimal-cli.js +0 -88
- package/dist/parallel/parallel-manager.js +0 -433
- package/dist/policy/PolicyManager.js +0 -465
- package/dist/scaffold/claude-hooks.js +0 -443
- package/dist/scaffold/cursor-hooks.js +0 -177
- package/dist/scaffold/git-hooks.js +0 -928
- package/dist/scaffold/index.js +0 -794
- package/dist/session/session-manager.js +0 -653
- package/dist/sidecars/index.js +0 -33
- package/dist/sidecars/listeners.js +0 -40
- package/dist/sidecars/provenance-summary.js +0 -238
- package/dist/sidecars/quality-gaps.js +0 -258
- package/dist/sidecars/schema.js +0 -149
- package/dist/sidecars/spec-drift.js +0 -151
- package/dist/sidecars/waiver-draft.js +0 -176
- package/dist/spec/SpecFileManager.js +0 -419
- package/dist/templates/.caws/schemas/policy.schema.json +0 -112
- package/dist/templates/.caws/schemas/scope.schema.json +0 -52
- package/dist/templates/.caws/schemas/waivers.schema.json +0 -106
- package/dist/templates/.caws/schemas/working-spec.schema.json +0 -340
- package/dist/templates/.caws/schemas/worktrees.schema.json +0 -38
- package/dist/templates/.caws/templates/working-spec.template.yml +0 -80
- package/dist/templates/.caws/tools/README.md +0 -18
- package/dist/templates/.caws/tools/scope-guard.js +0 -203
- package/dist/templates/.caws/tools-allow.json +0 -331
- package/dist/templates/.caws/waivers.yml +0 -19
- package/dist/templates/.claude/README.md +0 -190
- package/dist/templates/.claude/hooks/audit.sh +0 -121
- package/dist/templates/.claude/hooks/block-dangerous.sh +0 -203
- package/dist/templates/.claude/hooks/classify_command.py +0 -592
- package/dist/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
- package/dist/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
- package/dist/templates/.claude/hooks/naming-check.sh +0 -100
- package/dist/templates/.claude/hooks/protected-paths.sh +0 -39
- package/dist/templates/.claude/hooks/quality-check.sh +0 -81
- package/dist/templates/.claude/hooks/scan-secrets.sh +0 -85
- package/dist/templates/.claude/hooks/scope-guard.sh +0 -381
- package/dist/templates/.claude/hooks/session-caws-status.sh +0 -117
- package/dist/templates/.claude/hooks/session-log.sh +0 -634
- package/dist/templates/.claude/hooks/simplification-guard.sh +0 -92
- package/dist/templates/.claude/hooks/stop-worktree-check.sh +0 -46
- package/dist/templates/.claude/hooks/test_classify_command.py +0 -370
- package/dist/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
- package/dist/templates/.claude/hooks/validate-spec.sh +0 -76
- package/dist/templates/.claude/hooks/worktree-guard.sh +0 -220
- package/dist/templates/.claude/hooks/worktree-write-guard.sh +0 -190
- package/dist/templates/.claude/rules/git-safety.md +0 -26
- package/dist/templates/.claude/rules/worktree-isolation.md +0 -83
- package/dist/templates/.claude/settings.json +0 -141
- package/dist/templates/.cursor/README.md +0 -299
- package/dist/templates/.cursor/hooks/audit.sh +0 -55
- package/dist/templates/.cursor/hooks/block-dangerous.sh +0 -84
- package/dist/templates/.cursor/hooks/caws-quality-check.sh +0 -52
- package/dist/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
- package/dist/templates/.cursor/hooks/format.sh +0 -38
- package/dist/templates/.cursor/hooks/naming-check.sh +0 -64
- package/dist/templates/.cursor/hooks/scan-secrets.sh +0 -51
- package/dist/templates/.cursor/hooks/scope-guard.sh +0 -52
- package/dist/templates/.cursor/hooks/session-log.sh +0 -924
- package/dist/templates/.cursor/hooks/validate-spec.sh +0 -83
- package/dist/templates/.cursor/hooks.json +0 -76
- package/dist/templates/.cursor/rules/00-claims-verification.mdc +0 -144
- package/dist/templates/.cursor/rules/01-working-style.mdc +0 -50
- package/dist/templates/.cursor/rules/02-quality-gates.mdc +0 -368
- package/dist/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
- package/dist/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
- package/dist/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
- package/dist/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
- package/dist/templates/.cursor/rules/07-process-ops.mdc +0 -20
- package/dist/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
- package/dist/templates/.cursor/rules/09-docstrings.mdc +0 -89
- package/dist/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
- package/dist/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
- package/dist/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
- package/dist/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
- package/dist/templates/.cursor/rules/README.md +0 -148
- package/dist/templates/.github/copilot-instructions.md +0 -82
- package/dist/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
- package/dist/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
- package/dist/templates/.junie/guidelines.md +0 -73
- package/dist/templates/.vscode/launch.json +0 -17
- package/dist/templates/.vscode/settings.json +0 -95
- package/dist/templates/.windsurf/rules/caws-quality-standards.md +0 -54
- package/dist/templates/.windsurf/workflows/caws-guided-development.md +0 -92
- package/dist/templates/CLAUDE.md +0 -174
- package/dist/templates/COMMIT_CONVENTIONS.md +0 -86
- package/dist/templates/OIDC_SETUP.md +0 -300
- package/dist/templates/agents.md +0 -145
- package/dist/templates/codemod/README.md +0 -1
- package/dist/templates/codemod/test.js +0 -93
- package/dist/templates/docs/README.md +0 -151
- package/dist/templates/scripts/new_feature.sh +0 -80
- package/dist/templates/scripts/quality-gates/check-god-objects.js +0 -146
- package/dist/templates/scripts/quality-gates/run-quality-gates.js +0 -50
- package/dist/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
- package/dist/test-analysis.js +0 -786
- package/dist/tool-interface.js +0 -314
- package/dist/tool-loader.js +0 -303
- package/dist/tool-validator.js +0 -393
- package/dist/utils/agent-session.js +0 -202
- package/dist/utils/async-utils.js +0 -188
- package/dist/utils/command-wrapper.js +0 -200
- package/dist/utils/event-log.js +0 -584
- package/dist/utils/event-renderer.js +0 -521
- package/dist/utils/finalization.js +0 -230
- package/dist/utils/git-lock.js +0 -119
- package/dist/utils/gitignore-updater.js +0 -158
- package/dist/utils/ide-detection.js +0 -133
- package/dist/utils/lifecycle-events.js +0 -94
- package/dist/utils/project-analysis.js +0 -367
- package/dist/utils/promise-utils.js +0 -72
- package/dist/utils/quality-gates-errors.js +0 -520
- package/dist/utils/quality-gates-utils.js +0 -387
- package/dist/utils/schema-validator.js +0 -50
- package/dist/utils/spec-resolver.js +0 -711
- package/dist/utils/typescript-detector.js +0 -369
- package/dist/utils/working-state.js +0 -530
- package/dist/utils/yaml-validation.js +0 -156
- package/dist/validation/spec-validation.js +0 -921
- package/dist/waivers-manager.js +0 -732
- package/dist/worktree/worktree-manager.js +0 -1374
- package/templates/.caws/schemas/policy.schema.json +0 -112
- package/templates/.caws/schemas/scope.schema.json +0 -52
- package/templates/.caws/schemas/waivers.schema.json +0 -106
- package/templates/.caws/schemas/working-spec.schema.json +0 -340
- package/templates/.caws/schemas/worktrees.schema.json +0 -38
- package/templates/.caws/templates/working-spec.template.yml +0 -80
- package/templates/.caws/tools/README.md +0 -18
- package/templates/.caws/tools/scope-guard.js +0 -203
- package/templates/.caws/tools-allow.json +0 -331
- package/templates/.caws/waivers.yml +0 -19
- package/templates/.claude/README.md +0 -190
- package/templates/.claude/hooks/audit.sh +0 -121
- package/templates/.claude/hooks/block-dangerous.sh +0 -203
- package/templates/.claude/hooks/classify_command.py +0 -592
- package/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
- package/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
- package/templates/.claude/hooks/naming-check.sh +0 -100
- package/templates/.claude/hooks/protected-paths.sh +0 -39
- package/templates/.claude/hooks/quality-check.sh +0 -81
- package/templates/.claude/hooks/scan-secrets.sh +0 -85
- package/templates/.claude/hooks/scope-guard.sh +0 -381
- package/templates/.claude/hooks/session-caws-status.sh +0 -117
- package/templates/.claude/hooks/session-log.sh +0 -634
- package/templates/.claude/hooks/simplification-guard.sh +0 -92
- package/templates/.claude/hooks/stop-worktree-check.sh +0 -46
- package/templates/.claude/hooks/test_classify_command.py +0 -370
- package/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
- package/templates/.claude/hooks/validate-spec.sh +0 -76
- package/templates/.claude/hooks/worktree-guard.sh +0 -220
- package/templates/.claude/hooks/worktree-write-guard.sh +0 -190
- package/templates/.claude/rules/git-safety.md +0 -26
- package/templates/.claude/rules/worktree-isolation.md +0 -83
- package/templates/.claude/settings.json +0 -141
- package/templates/.cursor/README.md +0 -299
- package/templates/.cursor/hooks/audit.sh +0 -55
- package/templates/.cursor/hooks/block-dangerous.sh +0 -84
- package/templates/.cursor/hooks/caws-quality-check.sh +0 -52
- package/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
- package/templates/.cursor/hooks/format.sh +0 -38
- package/templates/.cursor/hooks/naming-check.sh +0 -64
- package/templates/.cursor/hooks/scan-secrets.sh +0 -51
- package/templates/.cursor/hooks/scope-guard.sh +0 -52
- package/templates/.cursor/hooks/session-log.sh +0 -924
- package/templates/.cursor/hooks/validate-spec.sh +0 -83
- package/templates/.cursor/hooks.json +0 -76
- package/templates/.cursor/rules/00-claims-verification.mdc +0 -144
- package/templates/.cursor/rules/01-working-style.mdc +0 -50
- package/templates/.cursor/rules/02-quality-gates.mdc +0 -368
- package/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
- package/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
- package/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
- package/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
- package/templates/.cursor/rules/07-process-ops.mdc +0 -20
- package/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
- package/templates/.cursor/rules/09-docstrings.mdc +0 -89
- package/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
- package/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
- package/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
- package/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
- package/templates/.cursor/rules/README.md +0 -148
- package/templates/.github/copilot-instructions.md +0 -82
- package/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
- package/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
- package/templates/.junie/guidelines.md +0 -73
- package/templates/.vscode/launch.json +0 -17
- package/templates/.vscode/settings.json +0 -95
- package/templates/.windsurf/rules/caws-quality-standards.md +0 -54
- package/templates/.windsurf/workflows/caws-guided-development.md +0 -92
- package/templates/CLAUDE.md +0 -174
- package/templates/COMMIT_CONVENTIONS.md +0 -86
- package/templates/OIDC_SETUP.md +0 -300
- package/templates/agents.md +0 -145
- package/templates/codemod/README.md +0 -1
- package/templates/codemod/test.js +0 -93
- package/templates/docs/README.md +0 -151
- package/templates/scripts/new_feature.sh +0 -80
- package/templates/scripts/quality-gates/check-god-objects.js +0 -146
- package/templates/scripts/quality-gates/run-quality-gates.js +0 -50
- package/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Cursor Hook: CAWS Spec Validation
|
|
3
|
-
#
|
|
4
|
-
# Purpose: Validate working-spec.yaml when it's edited
|
|
5
|
-
# Event: afterFileEdit
|
|
6
|
-
#
|
|
7
|
-
# @author @darianrosebrook
|
|
8
|
-
|
|
9
|
-
set -euo pipefail
|
|
10
|
-
|
|
11
|
-
# Read input from Cursor
|
|
12
|
-
INPUT=$(cat)
|
|
13
|
-
|
|
14
|
-
# Extract file path from input
|
|
15
|
-
FILE_PATH=$(echo "$INPUT" | jq -r '.file_path // ""')
|
|
16
|
-
|
|
17
|
-
# Validate if any CAWS YAML file was edited (.caws/**/*.yaml or .caws/**/*.yml)
|
|
18
|
-
if [[ "$FILE_PATH" == *".caws/"* ]] && ([[ "$FILE_PATH" == *.yaml ]] || [[ "$FILE_PATH" == *.yml ]]); then
|
|
19
|
-
echo "🔍 Validating CAWS spec file..." >&2
|
|
20
|
-
|
|
21
|
-
# First, validate YAML syntax
|
|
22
|
-
if command -v node >/dev/null 2>&1; then
|
|
23
|
-
# Check YAML syntax using Node.js
|
|
24
|
-
YAML_SYNTAX_VALID=$(node -e "
|
|
25
|
-
const yaml = require('js-yaml');
|
|
26
|
-
const fs = require('fs');
|
|
27
|
-
try {
|
|
28
|
-
const content = fs.readFileSync('$FILE_PATH', 'utf8');
|
|
29
|
-
yaml.load(content);
|
|
30
|
-
process.exit(0);
|
|
31
|
-
} catch (error) {
|
|
32
|
-
console.error('YAML syntax error:', error.message);
|
|
33
|
-
if (error.mark) {
|
|
34
|
-
console.error('Line:', error.mark.line + 1, 'Column:', error.mark.column + 1);
|
|
35
|
-
}
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
" 2>&1)
|
|
39
|
-
|
|
40
|
-
if [ $? -ne 0 ]; then
|
|
41
|
-
echo '{
|
|
42
|
-
"userMessage": "⚠️ YAML syntax error detected",
|
|
43
|
-
"agentMessage": "The spec file has invalid YAML syntax. Fix syntax errors before continuing.",
|
|
44
|
-
"suggestions": [
|
|
45
|
-
"Check indentation (YAML uses 2 spaces)",
|
|
46
|
-
"Ensure all array items use consistent format",
|
|
47
|
-
"Remove duplicate keys",
|
|
48
|
-
"Consider using '\''caws specs create <id>'\'' instead of manual creation"
|
|
49
|
-
]
|
|
50
|
-
}' 2>/dev/null
|
|
51
|
-
exit 0
|
|
52
|
-
fi
|
|
53
|
-
fi
|
|
54
|
-
|
|
55
|
-
# Check if CAWS CLI is available for semantic validation
|
|
56
|
-
if command -v caws &> /dev/null; then
|
|
57
|
-
# Run CAWS validation with suggestions
|
|
58
|
-
if VALIDATION=$(caws validate "$FILE_PATH" --quiet 2>&1); then
|
|
59
|
-
echo '{"userMessage":"✅ CAWS spec validation passed","agentMessage":"Specification is valid and complete."}' 2>/dev/null
|
|
60
|
-
else
|
|
61
|
-
# Get suggestions for fixing the spec
|
|
62
|
-
SUGGESTIONS=$(caws validate "$FILE_PATH" --suggestions 2>/dev/null | head -5 | tr '\n' '; ' | sed 's/; $//' || echo "Run caws validate --suggestions for details")
|
|
63
|
-
|
|
64
|
-
echo '{
|
|
65
|
-
"userMessage": "⚠️ CAWS spec validation failed. Run: caws validate --suggestions",
|
|
66
|
-
"agentMessage": "The spec file has validation errors. Please review and fix before continuing.",
|
|
67
|
-
"suggestions": [
|
|
68
|
-
"Run caws validate --suggestions for detailed error messages",
|
|
69
|
-
"Check required fields: id, title, risk_tier, mode",
|
|
70
|
-
"Ensure acceptance criteria are properly defined",
|
|
71
|
-
"Verify scope boundaries are appropriate",
|
|
72
|
-
"Consider using '\''caws specs create <id>'\'' for proper structure"
|
|
73
|
-
]
|
|
74
|
-
}' 2>/dev/null
|
|
75
|
-
fi
|
|
76
|
-
else
|
|
77
|
-
echo '{"userMessage":"⚠️ CAWS CLI not available for validation","agentMessage":"Install CAWS CLI for automatic spec validation: npm install -g @caws/cli"}' 2>/dev/null
|
|
78
|
-
fi
|
|
79
|
-
fi
|
|
80
|
-
|
|
81
|
-
# Allow the edit
|
|
82
|
-
exit 0
|
|
83
|
-
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"hooks": {
|
|
4
|
-
"beforeShellExecution": [
|
|
5
|
-
{
|
|
6
|
-
"command": "./.cursor/hooks/block-dangerous.sh"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"command": "./.cursor/hooks/audit.sh"
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"beforeReadFile": [
|
|
16
|
-
{
|
|
17
|
-
"command": "./.cursor/hooks/scan-secrets.sh"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"command": "./.cursor/hooks/caws-scope-guard.sh"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"afterFileEdit": [
|
|
27
|
-
{
|
|
28
|
-
"command": "./.cursor/hooks/format.sh"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"command": "./.cursor/hooks/naming-check.sh"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"command": "./.cursor/hooks/validate-spec.sh"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"command": "./.cursor/hooks/caws-quality-check.sh"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"command": "./.cursor/hooks/audit.sh"
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"beforeSubmitPrompt": [
|
|
47
|
-
{
|
|
48
|
-
"command": "./.cursor/hooks/caws-scope-guard.sh"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"command": "./.cursor/hooks/audit.sh"
|
|
55
|
-
}
|
|
56
|
-
],
|
|
57
|
-
"afterAgentResponse": [
|
|
58
|
-
{
|
|
59
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
"afterAgentThought": [
|
|
63
|
-
{
|
|
64
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
65
|
-
}
|
|
66
|
-
],
|
|
67
|
-
"stop": [
|
|
68
|
-
{
|
|
69
|
-
"command": "./.cursor/hooks/session-log.sh"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"command": "./.cursor/hooks/audit.sh"
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Production readiness claims require rigorous verification - agents must prove, not assert
|
|
3
|
-
globs:
|
|
4
|
-
alwaysApply: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Production Readiness Verification & Accountability
|
|
8
|
-
|
|
9
|
-
## Core Principle
|
|
10
|
-
|
|
11
|
-
**Never claim "production-ready", "production-grade", or similar unless ALL criteria below are met.** If any criterion is not satisfied, use these statuses instead:
|
|
12
|
-
|
|
13
|
-
- ❌ **"In development"** - Active development with known issues
|
|
14
|
-
- ❌ **"Partially implemented"** - Some features working, major gaps remain
|
|
15
|
-
- ❌ **"Proof of concept"** - Core concept demonstrated, not production-viable
|
|
16
|
-
|
|
17
|
-
## Mandatory Production Readiness Criteria
|
|
18
|
-
|
|
19
|
-
Before claiming production readiness, **agents must verify ALL of these**:
|
|
20
|
-
|
|
21
|
-
### ✅ Code Quality Gates
|
|
22
|
-
|
|
23
|
-
- **Zero linting errors or warnings** (ESLint, TypeScript, etc.)
|
|
24
|
-
- **Zero TypeScript compilation errors**
|
|
25
|
-
- **All TODOs, PLACEHOLDERs, and MOCK DATA cleared from production code**
|
|
26
|
-
- **No dead code or unused imports**
|
|
27
|
-
- **Consistent code formatting** (Prettier/ESLint rules)
|
|
28
|
-
|
|
29
|
-
### ✅ Testing & Quality Assurance
|
|
30
|
-
|
|
31
|
-
- **Complete unit test coverage** (80%+ line coverage, 90%+ branch coverage)
|
|
32
|
-
- **All unit tests passing** (no skipped tests in production code)
|
|
33
|
-
- **Integration tests passing** (database, external APIs, end-to-end flows)
|
|
34
|
-
- **Mutation testing** (70%+ score for critical components)
|
|
35
|
-
- **Performance tests** meeting documented SLAs
|
|
36
|
-
|
|
37
|
-
### ✅ Infrastructure & Persistence
|
|
38
|
-
|
|
39
|
-
- **Actual database persistence implemented** (not just in-memory mocks)
|
|
40
|
-
- **Database integration tests passing** with real database
|
|
41
|
-
- **Migration scripts tested and working**
|
|
42
|
-
- **Data consistency and rollback capabilities**
|
|
43
|
-
- **Connection pooling and error handling**
|
|
44
|
-
|
|
45
|
-
### ✅ Security & Reliability
|
|
46
|
-
|
|
47
|
-
- **Security controls tested and validated** (authentication, authorization, input validation)
|
|
48
|
-
- **No security scan violations** (SAST, dependency scanning)
|
|
49
|
-
- **Circuit breakers and retry logic** for external dependencies
|
|
50
|
-
- **Graceful degradation** under failure conditions
|
|
51
|
-
- **Logging and monitoring** implemented
|
|
52
|
-
|
|
53
|
-
### ✅ Documentation & Reality Alignment
|
|
54
|
-
|
|
55
|
-
- **Documentation matches implementation reality** (no claims of features that don't exist)
|
|
56
|
-
- **API documentation** current and accurate
|
|
57
|
-
- **Deployment and operational docs** exist
|
|
58
|
-
- **Architecture diagrams** reflect actual implementation
|
|
59
|
-
- **README and changelogs** accurate
|
|
60
|
-
|
|
61
|
-
## Accountability Measures for Coding Agents
|
|
62
|
-
|
|
63
|
-
### Pre-Claim Verification Process
|
|
64
|
-
|
|
65
|
-
1. **Run full test suite** - All tests pass locally
|
|
66
|
-
2. **Run linters** - Zero errors/warnings
|
|
67
|
-
3. **Run security scans** - No vulnerabilities
|
|
68
|
-
4. **Check coverage reports** - Meet or exceed thresholds
|
|
69
|
-
5. **Verify database operations** - Real persistence working
|
|
70
|
-
6. **Test deployment pipeline** - CI/CD passes
|
|
71
|
-
7. **Document verification evidence** - Include in PR/commit
|
|
72
|
-
|
|
73
|
-
### Prohibited Claims
|
|
74
|
-
|
|
75
|
-
**NEVER claim these without verification:**
|
|
76
|
-
|
|
77
|
-
- "Production-ready" without all criteria met
|
|
78
|
-
- "Enterprise-grade" without enterprise testing
|
|
79
|
-
- "Battle-tested" without comprehensive testing
|
|
80
|
-
- "Stable" with failing tests or linting errors
|
|
81
|
-
- "Complete" with TODOs, placeholders, or mock data
|
|
82
|
-
- "Secure" without security testing and scans
|
|
83
|
-
|
|
84
|
-
### Evidence Requirements
|
|
85
|
-
|
|
86
|
-
For any production readiness claim, provide:
|
|
87
|
-
|
|
88
|
-
- Test execution results (screenshots/logs)
|
|
89
|
-
- Coverage reports
|
|
90
|
-
- Lint results
|
|
91
|
-
- Security scan reports
|
|
92
|
-
- Performance benchmarks
|
|
93
|
-
- Database connectivity proofs
|
|
94
|
-
- Deployment verification
|
|
95
|
-
|
|
96
|
-
## Common Failure Patterns to Avoid
|
|
97
|
-
|
|
98
|
-
### Implementation Gaps
|
|
99
|
-
|
|
100
|
-
- Empty directories claiming "full implementation"
|
|
101
|
-
- Mock functions in production code
|
|
102
|
-
- TODO comments in core business logic
|
|
103
|
-
- Placeholder implementations
|
|
104
|
-
- Missing error handling
|
|
105
|
-
|
|
106
|
-
### Testing Shortcuts
|
|
107
|
-
|
|
108
|
-
- Skipping integration tests
|
|
109
|
-
- Mocking database operations
|
|
110
|
-
- Ignoring linting errors
|
|
111
|
-
- Not testing error conditions
|
|
112
|
-
- Fake test data instead of real fixtures
|
|
113
|
-
|
|
114
|
-
### Documentation Lies
|
|
115
|
-
|
|
116
|
-
- Claiming 100% coverage with 75% actual
|
|
117
|
-
- Features documented but not implemented
|
|
118
|
-
- APIs documented with wrong signatures
|
|
119
|
-
- Missing breaking changes in changelogs
|
|
120
|
-
|
|
121
|
-
### Infrastructure Pretending
|
|
122
|
-
|
|
123
|
-
- In-memory storage claiming "persistence"
|
|
124
|
-
- No-op security claiming "secure"
|
|
125
|
-
- Console.log claiming "monitoring"
|
|
126
|
-
- No circuit breakers claiming "resilient"
|
|
127
|
-
|
|
128
|
-
## Verification Checklist
|
|
129
|
-
|
|
130
|
-
Use this before any production claim:
|
|
131
|
-
|
|
132
|
-
- [ ] `npm test` passes all tests
|
|
133
|
-
- [ ] `npm run lint` shows zero errors
|
|
134
|
-
- [ ] `npm run typecheck` passes
|
|
135
|
-
- [ ] Database tests use real PostgreSQL/MySQL/etc.
|
|
136
|
-
- [ ] Security tests validate actual controls
|
|
137
|
-
- [ ] Performance tests meet SLAs
|
|
138
|
-
- [ ] No TODO/PLACEHOLDER/MOCK_DATA in src/
|
|
139
|
-
- [ ] Coverage reports show adequate thresholds
|
|
140
|
-
- [ ] CI/CD pipeline passes
|
|
141
|
-
- [ ] Deployment docs exist and are tested
|
|
142
|
-
- [ ] Documentation matches code reality
|
|
143
|
-
|
|
144
|
-
**If ANY box is unchecked, do not claim production readiness.**
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Default agent behavior, edit style, and risk limits
|
|
3
|
-
globs:
|
|
4
|
-
alwaysApply: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Working Style & Risk Limits
|
|
8
|
-
|
|
9
|
-
## Intent
|
|
10
|
-
|
|
11
|
-
Prefer directly applying fixes over explaining. Explanations are secondary unless asked, or when a change is **risky** (see Risk Gate).
|
|
12
|
-
|
|
13
|
-
## Edit Principles
|
|
14
|
-
|
|
15
|
-
- **Small, bounded diffs.** Keep edits minimal, cohesive, and reviewable.
|
|
16
|
-
- **Edit existing modules over forking.** Prefer refactor + rename to duplication.
|
|
17
|
-
- **Preserve public behavior** unless the task explicitly requests behavioral change.
|
|
18
|
-
|
|
19
|
-
## Ask-First Triggers (Risk Gate)
|
|
20
|
-
|
|
21
|
-
Before editing, _ask with a Targeted Edit Plan_ if any are true:
|
|
22
|
-
|
|
23
|
-
- Changes cross package boundaries or public APIs.
|
|
24
|
-
- Requires deleting files or renaming public symbols.
|
|
25
|
-
- Introduces a new dependency or build tool.
|
|
26
|
-
- Affects security, persistence, auth, or infra.
|
|
27
|
-
- Touches > 10 files or > 300 LOC.
|
|
28
|
-
|
|
29
|
-
**Targeted Edit Plan (TEP)** must include:
|
|
30
|
-
|
|
31
|
-
- Scope (files, symbols), risks, rollback notes.
|
|
32
|
-
- Tests to run/update.
|
|
33
|
-
- Acceptance checks (what passing looks like).
|
|
34
|
-
|
|
35
|
-
## Diff Hygiene
|
|
36
|
-
|
|
37
|
-
- Keep each commit focused on one intent.
|
|
38
|
-
- Include brief rationale in the commit subject (≤72 chars).
|
|
39
|
-
- Never bypass pre-commit hooks; `--no-verify` is **forbidden**.
|
|
40
|
-
|
|
41
|
-
## When to Explain
|
|
42
|
-
|
|
43
|
-
- On TEP prompts, on rejected edits, or when trade-offs are non-obvious.
|
|
44
|
-
- Keep explanations concise and adjacent to the diff.
|
|
45
|
-
|
|
46
|
-
## Acceptance (per PR)
|
|
47
|
-
|
|
48
|
-
- Tests + lints pass locally.
|
|
49
|
-
- No widened public API surface without TEP.
|
|
50
|
-
- No dead code or duplicate modules introduced.
|