@paths.design/caws-cli 10.2.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.
Files changed (421) hide show
  1. package/README.md +125 -374
  2. package/dist/index.js +43 -785
  3. package/dist/shell/binding/resolve-binding.d.ts +4 -0
  4. package/dist/shell/binding/resolve-binding.d.ts.map +1 -0
  5. package/dist/shell/binding/resolve-binding.js +228 -0
  6. package/dist/shell/binding/resolve-binding.js.map +1 -0
  7. package/dist/shell/binding/types.d.ts +42 -0
  8. package/dist/shell/binding/types.d.ts.map +1 -0
  9. package/dist/shell/binding/types.js +21 -0
  10. package/dist/shell/binding/types.js.map +1 -0
  11. package/dist/shell/commands/claim.d.ts +14 -0
  12. package/dist/shell/commands/claim.d.ts.map +1 -0
  13. package/dist/shell/commands/claim.js +197 -0
  14. package/dist/shell/commands/claim.js.map +1 -0
  15. package/dist/shell/commands/doctor.d.ts +13 -0
  16. package/dist/shell/commands/doctor.d.ts.map +1 -0
  17. package/dist/shell/commands/doctor.js +97 -0
  18. package/dist/shell/commands/doctor.js.map +1 -0
  19. package/dist/shell/commands/evidence.d.ts +28 -0
  20. package/dist/shell/commands/evidence.d.ts.map +1 -0
  21. package/dist/shell/commands/evidence.js +166 -0
  22. package/dist/shell/commands/evidence.js.map +1 -0
  23. package/dist/shell/commands/gates.d.ts +19 -0
  24. package/dist/shell/commands/gates.d.ts.map +1 -0
  25. package/dist/shell/commands/gates.js +181 -0
  26. package/dist/shell/commands/gates.js.map +1 -0
  27. package/dist/shell/commands/init.d.ts +8 -0
  28. package/dist/shell/commands/init.d.ts.map +1 -0
  29. package/dist/shell/commands/init.js +64 -0
  30. package/dist/shell/commands/init.js.map +1 -0
  31. package/dist/shell/commands/scope.d.ts +11 -0
  32. package/dist/shell/commands/scope.d.ts.map +1 -0
  33. package/dist/shell/commands/scope.js +92 -0
  34. package/dist/shell/commands/scope.js.map +1 -0
  35. package/dist/shell/commands/status.d.ts +15 -0
  36. package/dist/shell/commands/status.d.ts.map +1 -0
  37. package/dist/shell/commands/status.js +106 -0
  38. package/dist/shell/commands/status.js.map +1 -0
  39. package/dist/shell/commands/waiver.d.ts +38 -0
  40. package/dist/shell/commands/waiver.d.ts.map +1 -0
  41. package/dist/shell/commands/waiver.js +240 -0
  42. package/dist/shell/commands/waiver.js.map +1 -0
  43. package/dist/shell/gates/disposition.d.ts +23 -0
  44. package/dist/shell/gates/disposition.d.ts.map +1 -0
  45. package/dist/shell/gates/disposition.js +87 -0
  46. package/dist/shell/gates/disposition.js.map +1 -0
  47. package/dist/shell/gates/gate-result-contract.d.ts +39 -0
  48. package/dist/shell/gates/gate-result-contract.d.ts.map +1 -0
  49. package/dist/shell/gates/gate-result-contract.js +150 -0
  50. package/dist/shell/gates/gate-result-contract.js.map +1 -0
  51. package/dist/shell/gates/quality-gates-adapter.d.ts +55 -0
  52. package/dist/shell/gates/quality-gates-adapter.d.ts.map +1 -0
  53. package/dist/shell/gates/quality-gates-adapter.js +161 -0
  54. package/dist/shell/gates/quality-gates-adapter.js.map +1 -0
  55. package/dist/shell/gates/waiver-filter.d.ts +58 -0
  56. package/dist/shell/gates/waiver-filter.d.ts.map +1 -0
  57. package/dist/shell/gates/waiver-filter.js +119 -0
  58. package/dist/shell/gates/waiver-filter.js.map +1 -0
  59. package/dist/shell/index.d.ts +50 -0
  60. package/dist/shell/index.d.ts.map +1 -0
  61. package/dist/shell/index.js +73 -0
  62. package/dist/shell/index.js.map +1 -0
  63. package/dist/shell/register.d.ts +11 -0
  64. package/dist/shell/register.d.ts.map +1 -0
  65. package/dist/shell/register.js +274 -0
  66. package/dist/shell/register.js.map +1 -0
  67. package/dist/shell/render/claim.d.ts +22 -0
  68. package/dist/shell/render/claim.d.ts.map +1 -0
  69. package/dist/shell/render/claim.js +75 -0
  70. package/dist/shell/render/claim.js.map +1 -0
  71. package/dist/shell/render/decision.d.ts +15 -0
  72. package/dist/shell/render/decision.d.ts.map +1 -0
  73. package/dist/shell/render/decision.js +66 -0
  74. package/dist/shell/render/decision.js.map +1 -0
  75. package/dist/shell/render/diagnostic.d.ts +19 -0
  76. package/dist/shell/render/diagnostic.d.ts.map +1 -0
  77. package/dist/shell/render/diagnostic.js +76 -0
  78. package/dist/shell/render/diagnostic.js.map +1 -0
  79. package/dist/shell/render/finding.d.ts +15 -0
  80. package/dist/shell/render/finding.d.ts.map +1 -0
  81. package/dist/shell/render/finding.js +57 -0
  82. package/dist/shell/render/finding.js.map +1 -0
  83. package/dist/shell/render/gates.d.ts +3 -0
  84. package/dist/shell/render/gates.d.ts.map +1 -0
  85. package/dist/shell/render/gates.js +56 -0
  86. package/dist/shell/render/gates.js.map +1 -0
  87. package/dist/shell/render/init.d.ts +11 -0
  88. package/dist/shell/render/init.d.ts.map +1 -0
  89. package/dist/shell/render/init.js +32 -0
  90. package/dist/shell/render/init.js.map +1 -0
  91. package/dist/shell/render/status.d.ts +26 -0
  92. package/dist/shell/render/status.d.ts.map +1 -0
  93. package/dist/shell/render/status.js +143 -0
  94. package/dist/shell/render/status.js.map +1 -0
  95. package/dist/shell/render/waiver.d.ts +21 -0
  96. package/dist/shell/render/waiver.d.ts.map +1 -0
  97. package/dist/shell/render/waiver.js +94 -0
  98. package/dist/shell/render/waiver.js.map +1 -0
  99. package/dist/shell/rules.d.ts +37 -0
  100. package/dist/shell/rules.d.ts.map +1 -0
  101. package/dist/shell/rules.js +51 -0
  102. package/dist/shell/rules.js.map +1 -0
  103. package/dist/shell/session/actor.d.ts +14 -0
  104. package/dist/shell/session/actor.d.ts.map +1 -0
  105. package/dist/shell/session/actor.js +34 -0
  106. package/dist/shell/session/actor.js.map +1 -0
  107. package/dist/shell/session/resolve-session.d.ts +5 -0
  108. package/dist/shell/session/resolve-session.d.ts.map +1 -0
  109. package/dist/shell/session/resolve-session.js +239 -0
  110. package/dist/shell/session/resolve-session.js.map +1 -0
  111. package/dist/shell/session/types.d.ts +56 -0
  112. package/dist/shell/session/types.d.ts.map +1 -0
  113. package/dist/shell/session/types.js +15 -0
  114. package/dist/shell/session/types.js.map +1 -0
  115. package/dist/store/agents-store.d.ts +3 -0
  116. package/dist/store/agents-store.d.ts.map +1 -0
  117. package/dist/store/agents-store.js +63 -0
  118. package/dist/store/agents-store.js.map +1 -0
  119. package/dist/store/apply-patch.d.ts +16 -0
  120. package/dist/store/apply-patch.d.ts.map +1 -0
  121. package/dist/store/apply-patch.js +191 -0
  122. package/dist/store/apply-patch.js.map +1 -0
  123. package/dist/store/atomic-write.d.ts +16 -0
  124. package/dist/store/atomic-write.d.ts.map +1 -0
  125. package/dist/store/atomic-write.js +132 -0
  126. package/dist/store/atomic-write.js.map +1 -0
  127. package/dist/store/doctor-snapshot.d.ts +20 -0
  128. package/dist/store/doctor-snapshot.d.ts.map +1 -0
  129. package/dist/store/doctor-snapshot.js +176 -0
  130. package/dist/store/doctor-snapshot.js.map +1 -0
  131. package/dist/store/events-store.d.ts +33 -0
  132. package/dist/store/events-store.d.ts.map +1 -0
  133. package/dist/store/events-store.js +297 -0
  134. package/dist/store/events-store.js.map +1 -0
  135. package/dist/store/index.d.ts +21 -0
  136. package/dist/store/index.d.ts.map +1 -0
  137. package/dist/store/index.js +47 -0
  138. package/dist/store/index.js.map +1 -0
  139. package/dist/store/init-store.d.ts +21 -0
  140. package/dist/store/init-store.d.ts.map +1 -0
  141. package/dist/store/init-store.js +295 -0
  142. package/dist/store/init-store.js.map +1 -0
  143. package/dist/store/json-store.d.ts +3 -0
  144. package/dist/store/json-store.d.ts.map +1 -0
  145. package/dist/store/json-store.js +65 -0
  146. package/dist/store/json-store.js.map +1 -0
  147. package/dist/store/policy-store.d.ts +3 -0
  148. package/dist/store/policy-store.d.ts.map +1 -0
  149. package/dist/store/policy-store.js +65 -0
  150. package/dist/store/policy-store.js.map +1 -0
  151. package/dist/store/repo-root.d.ts +46 -0
  152. package/dist/store/repo-root.d.ts.map +1 -0
  153. package/dist/store/repo-root.js +145 -0
  154. package/dist/store/repo-root.js.map +1 -0
  155. package/dist/store/rules.d.ts +53 -0
  156. package/dist/store/rules.d.ts.map +1 -0
  157. package/dist/store/rules.js +78 -0
  158. package/dist/store/rules.js.map +1 -0
  159. package/dist/store/specs-store.d.ts +3 -0
  160. package/dist/store/specs-store.d.ts.map +1 -0
  161. package/dist/store/specs-store.js +131 -0
  162. package/dist/store/specs-store.js.map +1 -0
  163. package/dist/store/types.d.ts +84 -0
  164. package/dist/store/types.d.ts.map +1 -0
  165. package/dist/store/types.js +14 -0
  166. package/dist/store/types.js.map +1 -0
  167. package/dist/store/waivers-store.d.ts +25 -0
  168. package/dist/store/waivers-store.d.ts.map +1 -0
  169. package/dist/store/waivers-store.js +232 -0
  170. package/dist/store/waivers-store.js.map +1 -0
  171. package/dist/store/worktrees-store.d.ts +3 -0
  172. package/dist/store/worktrees-store.d.ts.map +1 -0
  173. package/dist/store/worktrees-store.js +62 -0
  174. package/dist/store/worktrees-store.js.map +1 -0
  175. package/dist/store/yaml-store.d.ts +9 -0
  176. package/dist/store/yaml-store.d.ts.map +1 -0
  177. package/dist/store/yaml-store.js +121 -0
  178. package/dist/store/yaml-store.js.map +1 -0
  179. package/package.json +15 -13
  180. package/dist/budget-derivation.js +0 -751
  181. package/dist/cicd-optimizer.js +0 -504
  182. package/dist/commands/agents.js +0 -124
  183. package/dist/commands/archive.js +0 -500
  184. package/dist/commands/burnup.js +0 -198
  185. package/dist/commands/diagnose.js +0 -525
  186. package/dist/commands/evaluate.js +0 -314
  187. package/dist/commands/gates.js +0 -149
  188. package/dist/commands/init.js +0 -857
  189. package/dist/commands/iterate.js +0 -417
  190. package/dist/commands/mode.js +0 -269
  191. package/dist/commands/parallel.js +0 -242
  192. package/dist/commands/plan.js +0 -438
  193. package/dist/commands/provenance.js +0 -1143
  194. package/dist/commands/quality-monitor.js +0 -284
  195. package/dist/commands/scope.js +0 -264
  196. package/dist/commands/session.js +0 -312
  197. package/dist/commands/sidecar.js +0 -74
  198. package/dist/commands/specs.js +0 -1656
  199. package/dist/commands/status.js +0 -1172
  200. package/dist/commands/templates.js +0 -237
  201. package/dist/commands/tool.js +0 -136
  202. package/dist/commands/tutorial.js +0 -480
  203. package/dist/commands/validate.js +0 -357
  204. package/dist/commands/verify-acs.js +0 -443
  205. package/dist/commands/waivers.js +0 -599
  206. package/dist/commands/workflow.js +0 -243
  207. package/dist/commands/worktree.js +0 -502
  208. package/dist/config/lite-scope.js +0 -158
  209. package/dist/config/modes.js +0 -347
  210. package/dist/constants/spec-types.js +0 -65
  211. package/dist/gates/budget-limit.js +0 -121
  212. package/dist/gates/feedback.js +0 -260
  213. package/dist/gates/format.js +0 -179
  214. package/dist/gates/god-object.js +0 -117
  215. package/dist/gates/pipeline.js +0 -167
  216. package/dist/gates/scope-boundary.js +0 -112
  217. package/dist/gates/spec-completeness.js +0 -109
  218. package/dist/gates/todo-detection.js +0 -205
  219. package/dist/generators/jest-config-generator.js +0 -242
  220. package/dist/generators/working-spec.js +0 -237
  221. package/dist/minimal-cli.js +0 -88
  222. package/dist/parallel/parallel-manager.js +0 -433
  223. package/dist/policy/PolicyManager.js +0 -470
  224. package/dist/scaffold/claude-hooks.js +0 -443
  225. package/dist/scaffold/cursor-hooks.js +0 -177
  226. package/dist/scaffold/git-hooks.js +0 -928
  227. package/dist/scaffold/index.js +0 -794
  228. package/dist/session/session-manager.js +0 -653
  229. package/dist/sidecars/index.js +0 -33
  230. package/dist/sidecars/listeners.js +0 -40
  231. package/dist/sidecars/provenance-summary.js +0 -238
  232. package/dist/sidecars/quality-gaps.js +0 -258
  233. package/dist/sidecars/schema.js +0 -149
  234. package/dist/sidecars/spec-drift.js +0 -151
  235. package/dist/sidecars/waiver-draft.js +0 -176
  236. package/dist/spec/SpecFileManager.js +0 -419
  237. package/dist/templates/.caws/schemas/policy.schema.json +0 -117
  238. package/dist/templates/.caws/schemas/scope.schema.json +0 -52
  239. package/dist/templates/.caws/schemas/waivers.schema.json +0 -106
  240. package/dist/templates/.caws/schemas/working-spec.schema.json +0 -340
  241. package/dist/templates/.caws/schemas/worktrees.schema.json +0 -38
  242. package/dist/templates/.caws/templates/working-spec.template.yml +0 -80
  243. package/dist/templates/.caws/tools/README.md +0 -18
  244. package/dist/templates/.caws/tools/scope-guard.js +0 -203
  245. package/dist/templates/.caws/tools-allow.json +0 -331
  246. package/dist/templates/.caws/waivers.yml +0 -19
  247. package/dist/templates/.claude/README.md +0 -190
  248. package/dist/templates/.claude/hooks/audit.sh +0 -121
  249. package/dist/templates/.claude/hooks/block-dangerous.sh +0 -203
  250. package/dist/templates/.claude/hooks/classify_command.py +0 -592
  251. package/dist/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
  252. package/dist/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
  253. package/dist/templates/.claude/hooks/naming-check.sh +0 -100
  254. package/dist/templates/.claude/hooks/protected-paths.sh +0 -39
  255. package/dist/templates/.claude/hooks/quality-check.sh +0 -81
  256. package/dist/templates/.claude/hooks/scan-secrets.sh +0 -85
  257. package/dist/templates/.claude/hooks/scope-guard.sh +0 -381
  258. package/dist/templates/.claude/hooks/session-caws-status.sh +0 -117
  259. package/dist/templates/.claude/hooks/session-log.sh +0 -634
  260. package/dist/templates/.claude/hooks/simplification-guard.sh +0 -92
  261. package/dist/templates/.claude/hooks/stop-worktree-check.sh +0 -46
  262. package/dist/templates/.claude/hooks/test_classify_command.py +0 -370
  263. package/dist/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
  264. package/dist/templates/.claude/hooks/validate-spec.sh +0 -76
  265. package/dist/templates/.claude/hooks/worktree-guard.sh +0 -220
  266. package/dist/templates/.claude/hooks/worktree-write-guard.sh +0 -190
  267. package/dist/templates/.claude/rules/git-safety.md +0 -26
  268. package/dist/templates/.claude/rules/worktree-isolation.md +0 -101
  269. package/dist/templates/.claude/settings.json +0 -141
  270. package/dist/templates/.cursor/README.md +0 -299
  271. package/dist/templates/.cursor/hooks/audit.sh +0 -55
  272. package/dist/templates/.cursor/hooks/block-dangerous.sh +0 -84
  273. package/dist/templates/.cursor/hooks/caws-quality-check.sh +0 -52
  274. package/dist/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
  275. package/dist/templates/.cursor/hooks/format.sh +0 -38
  276. package/dist/templates/.cursor/hooks/naming-check.sh +0 -64
  277. package/dist/templates/.cursor/hooks/scan-secrets.sh +0 -51
  278. package/dist/templates/.cursor/hooks/scope-guard.sh +0 -52
  279. package/dist/templates/.cursor/hooks/session-log.sh +0 -924
  280. package/dist/templates/.cursor/hooks/validate-spec.sh +0 -83
  281. package/dist/templates/.cursor/hooks.json +0 -76
  282. package/dist/templates/.cursor/rules/00-claims-verification.mdc +0 -144
  283. package/dist/templates/.cursor/rules/01-working-style.mdc +0 -50
  284. package/dist/templates/.cursor/rules/02-quality-gates.mdc +0 -368
  285. package/dist/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
  286. package/dist/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
  287. package/dist/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
  288. package/dist/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
  289. package/dist/templates/.cursor/rules/07-process-ops.mdc +0 -20
  290. package/dist/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
  291. package/dist/templates/.cursor/rules/09-docstrings.mdc +0 -89
  292. package/dist/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
  293. package/dist/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
  294. package/dist/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
  295. package/dist/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
  296. package/dist/templates/.cursor/rules/README.md +0 -148
  297. package/dist/templates/.github/copilot-instructions.md +0 -82
  298. package/dist/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
  299. package/dist/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
  300. package/dist/templates/.junie/guidelines.md +0 -73
  301. package/dist/templates/.vscode/launch.json +0 -17
  302. package/dist/templates/.vscode/settings.json +0 -95
  303. package/dist/templates/.windsurf/rules/caws-quality-standards.md +0 -54
  304. package/dist/templates/.windsurf/workflows/caws-guided-development.md +0 -92
  305. package/dist/templates/CLAUDE.md +0 -196
  306. package/dist/templates/COMMIT_CONVENTIONS.md +0 -86
  307. package/dist/templates/OIDC_SETUP.md +0 -300
  308. package/dist/templates/agents.md +0 -171
  309. package/dist/templates/codemod/README.md +0 -1
  310. package/dist/templates/codemod/test.js +0 -93
  311. package/dist/templates/docs/README.md +0 -151
  312. package/dist/templates/scripts/new_feature.sh +0 -80
  313. package/dist/templates/scripts/quality-gates/check-god-objects.js +0 -146
  314. package/dist/templates/scripts/quality-gates/run-quality-gates.js +0 -50
  315. package/dist/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
  316. package/dist/test-analysis.js +0 -786
  317. package/dist/tool-interface.js +0 -314
  318. package/dist/tool-loader.js +0 -303
  319. package/dist/tool-validator.js +0 -393
  320. package/dist/utils/agent-display.js +0 -210
  321. package/dist/utils/agent-session.js +0 -344
  322. package/dist/utils/async-utils.js +0 -188
  323. package/dist/utils/command-wrapper.js +0 -200
  324. package/dist/utils/event-log.js +0 -584
  325. package/dist/utils/event-renderer.js +0 -521
  326. package/dist/utils/finalization.js +0 -230
  327. package/dist/utils/git-lock.js +0 -119
  328. package/dist/utils/gitignore-updater.js +0 -158
  329. package/dist/utils/ide-detection.js +0 -133
  330. package/dist/utils/lifecycle-events.js +0 -94
  331. package/dist/utils/project-analysis.js +0 -367
  332. package/dist/utils/promise-utils.js +0 -72
  333. package/dist/utils/quality-gates-errors.js +0 -520
  334. package/dist/utils/quality-gates-utils.js +0 -387
  335. package/dist/utils/schema-validator.js +0 -50
  336. package/dist/utils/spec-resolver.js +0 -711
  337. package/dist/utils/typescript-detector.js +0 -369
  338. package/dist/utils/working-state.js +0 -530
  339. package/dist/utils/yaml-validation.js +0 -156
  340. package/dist/validation/spec-validation.js +0 -924
  341. package/dist/waivers-manager.js +0 -732
  342. package/dist/worktree/worktree-manager.js +0 -1735
  343. package/templates/.caws/schemas/policy.schema.json +0 -117
  344. package/templates/.caws/schemas/scope.schema.json +0 -52
  345. package/templates/.caws/schemas/waivers.schema.json +0 -106
  346. package/templates/.caws/schemas/working-spec.schema.json +0 -340
  347. package/templates/.caws/schemas/worktrees.schema.json +0 -38
  348. package/templates/.caws/templates/working-spec.template.yml +0 -80
  349. package/templates/.caws/tools/README.md +0 -18
  350. package/templates/.caws/tools/scope-guard.js +0 -203
  351. package/templates/.caws/tools-allow.json +0 -331
  352. package/templates/.caws/waivers.yml +0 -19
  353. package/templates/.claude/README.md +0 -190
  354. package/templates/.claude/hooks/audit.sh +0 -121
  355. package/templates/.claude/hooks/block-dangerous.sh +0 -203
  356. package/templates/.claude/hooks/classify_command.py +0 -592
  357. package/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
  358. package/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
  359. package/templates/.claude/hooks/naming-check.sh +0 -100
  360. package/templates/.claude/hooks/protected-paths.sh +0 -39
  361. package/templates/.claude/hooks/quality-check.sh +0 -81
  362. package/templates/.claude/hooks/scan-secrets.sh +0 -85
  363. package/templates/.claude/hooks/scope-guard.sh +0 -381
  364. package/templates/.claude/hooks/session-caws-status.sh +0 -117
  365. package/templates/.claude/hooks/session-log.sh +0 -634
  366. package/templates/.claude/hooks/simplification-guard.sh +0 -92
  367. package/templates/.claude/hooks/stop-worktree-check.sh +0 -46
  368. package/templates/.claude/hooks/test_classify_command.py +0 -370
  369. package/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
  370. package/templates/.claude/hooks/validate-spec.sh +0 -76
  371. package/templates/.claude/hooks/worktree-guard.sh +0 -220
  372. package/templates/.claude/hooks/worktree-write-guard.sh +0 -190
  373. package/templates/.claude/rules/git-safety.md +0 -26
  374. package/templates/.claude/rules/worktree-isolation.md +0 -101
  375. package/templates/.claude/settings.json +0 -141
  376. package/templates/.cursor/README.md +0 -299
  377. package/templates/.cursor/hooks/audit.sh +0 -55
  378. package/templates/.cursor/hooks/block-dangerous.sh +0 -84
  379. package/templates/.cursor/hooks/caws-quality-check.sh +0 -52
  380. package/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
  381. package/templates/.cursor/hooks/format.sh +0 -38
  382. package/templates/.cursor/hooks/naming-check.sh +0 -64
  383. package/templates/.cursor/hooks/scan-secrets.sh +0 -51
  384. package/templates/.cursor/hooks/scope-guard.sh +0 -52
  385. package/templates/.cursor/hooks/session-log.sh +0 -924
  386. package/templates/.cursor/hooks/validate-spec.sh +0 -83
  387. package/templates/.cursor/hooks.json +0 -76
  388. package/templates/.cursor/rules/00-claims-verification.mdc +0 -144
  389. package/templates/.cursor/rules/01-working-style.mdc +0 -50
  390. package/templates/.cursor/rules/02-quality-gates.mdc +0 -368
  391. package/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
  392. package/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
  393. package/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
  394. package/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
  395. package/templates/.cursor/rules/07-process-ops.mdc +0 -20
  396. package/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
  397. package/templates/.cursor/rules/09-docstrings.mdc +0 -89
  398. package/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
  399. package/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
  400. package/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
  401. package/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
  402. package/templates/.cursor/rules/README.md +0 -148
  403. package/templates/.github/copilot-instructions.md +0 -82
  404. package/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
  405. package/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
  406. package/templates/.junie/guidelines.md +0 -73
  407. package/templates/.vscode/launch.json +0 -17
  408. package/templates/.vscode/settings.json +0 -95
  409. package/templates/.windsurf/rules/caws-quality-standards.md +0 -54
  410. package/templates/.windsurf/workflows/caws-guided-development.md +0 -92
  411. package/templates/CLAUDE.md +0 -196
  412. package/templates/COMMIT_CONVENTIONS.md +0 -86
  413. package/templates/OIDC_SETUP.md +0 -300
  414. package/templates/agents.md +0 -171
  415. package/templates/codemod/README.md +0 -1
  416. package/templates/codemod/test.js +0 -93
  417. package/templates/docs/README.md +0 -151
  418. package/templates/scripts/new_feature.sh +0 -80
  419. package/templates/scripts/quality-gates/check-god-objects.js +0 -146
  420. package/templates/scripts/quality-gates/run-quality-gates.js +0 -50
  421. package/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
@@ -1,578 +0,0 @@
1
- ---
2
- description: Language-agnostic engineering standards and universal code quality metrics
3
- globs:
4
- alwaysApply: true
5
- ---
6
-
7
- # Language-Agnostic Engineering Standards
8
-
9
- ## Core Principle
10
-
11
- **Engineering standards must apply universally across all programming languages.** Focus on architectural patterns, quality metrics, and maintainability principles that transcend specific language syntax.
12
-
13
- ## Universal Code Quality Metrics
14
-
15
- ### Complexity Standards
16
-
17
- **Cyclomatic Complexity:**
18
-
19
- - **Maximum per function**: 10
20
- - **Maximum per class/module**: 20
21
- - **Critical functions**: 5 (auth, billing, data processing)
22
-
23
- **Cognitive Complexity:**
24
-
25
- - **Maximum per function**: 15
26
- - **Maximum per class/module**: 30
27
- - **UI components**: 20 (higher due to rendering logic)
28
-
29
- **Nesting Depth:**
30
-
31
- - **Maximum nesting levels**: 4
32
- - **Preferred**: 2-3 levels with guard clauses
33
- - **Exception**: Complex algorithms with documented justification
34
-
35
- ### Maintainability Standards
36
-
37
- **Function Size:**
38
-
39
- - **Maximum lines per function**: 50
40
- - **Preferred**: 20-30 lines
41
- - **Exception**: Complex algorithms with documentation
42
-
43
- **File Size:**
44
-
45
- - **Maximum lines per file**: 1000
46
- - **Preferred**: 200-500 lines
47
- - **Exception**: Generated code or data files
48
-
49
- **Parameter Count:**
50
-
51
- - **Maximum parameters per function**: 5
52
- - **Preferred**: 2-3 parameters
53
- - **Exception**: Configuration objects or builder patterns
54
-
55
- **Class/Module Size:**
56
-
57
- - **Maximum methods per class**: 10
58
- - **Maximum fields per class**: 15
59
- - **Preferred**: 5-7 methods, 8-10 fields
60
-
61
- ## Universal Architectural Patterns
62
-
63
- ### Dependency Injection
64
-
65
- **All languages must support:**
66
-
67
- - Constructor injection for dependencies
68
- - Interface/contract-based design
69
- - Testable dependency substitution
70
- - Clear dependency graphs
71
-
72
- **Implementation Examples:**
73
-
74
- ```typescript
75
- // TypeScript/JavaScript
76
- class OrderService {
77
- constructor(
78
- private userRepo: UserRepository,
79
- private paymentService: PaymentService,
80
- private notificationService: NotificationService
81
- ) {}
82
- }
83
- ```
84
-
85
- ```rust
86
- // Rust
87
- struct OrderService {
88
- user_repo: Box<dyn UserRepository>,
89
- payment_service: Box<dyn PaymentService>,
90
- notification_service: Box<dyn NotificationService>,
91
- }
92
- ```
93
-
94
- ```python
95
- # Python
96
- class OrderService:
97
- def __init__(self, user_repo: UserRepository, payment_service: PaymentService):
98
- self.user_repo = user_repo
99
- self.payment_service = payment_service
100
- ```
101
-
102
- ### Error Handling Patterns
103
-
104
- **Universal Error Handling Requirements:**
105
-
106
- - Explicit error types (no generic exceptions)
107
- - Error context preservation
108
- - Graceful degradation capabilities
109
- - Comprehensive error logging
110
-
111
- **Implementation Examples:**
112
-
113
- ```typescript
114
- // TypeScript - Result pattern
115
- type Result<T, E> = { success: true; data: T } | { success: false; error: E };
116
-
117
- async function processOrder(order: Order): Promise<Result<OrderResult, OrderError>> {
118
- try {
119
- const result = await validateOrder(order);
120
- return { success: true, data: result };
121
- } catch (error) {
122
- return { success: false, error: new OrderError(error.message) };
123
- }
124
- }
125
- ```
126
-
127
- ```rust
128
- // Rust - Result type
129
- fn process_order(order: Order) -> Result<OrderResult, OrderError> {
130
- let validated = validate_order(&order)?;
131
- let result = calculate_total(&validated)?;
132
- Ok(result)
133
- }
134
- ```
135
-
136
- ```python
137
- # Python - Custom exceptions
138
- class OrderError(Exception):
139
- def __init__(self, message: str, context: dict = None):
140
- super().__init__(message)
141
- self.context = context or {}
142
-
143
- def process_order(order: Order) -> OrderResult:
144
- try:
145
- validated = validate_order(order)
146
- return calculate_total(validated)
147
- except ValidationError as e:
148
- raise OrderError(f"Order validation failed: {e}", {"order_id": order.id})
149
- ```
150
-
151
- ### Configuration Management
152
-
153
- **Universal Configuration Standards:**
154
-
155
- - Environment-based configuration
156
- - Type-safe configuration objects
157
- - Validation of configuration values
158
- - Secrets management integration
159
-
160
- **Implementation Examples:**
161
-
162
- ```typescript
163
- // TypeScript
164
- interface Config {
165
- database: {
166
- host: string;
167
- port: number;
168
- ssl: boolean;
169
- };
170
- api: {
171
- timeout: number;
172
- retries: number;
173
- };
174
- }
175
-
176
- const config: Config = {
177
- database: {
178
- host: process.env.DB_HOST || 'localhost',
179
- port: parseInt(process.env.DB_PORT || '5432'),
180
- ssl: process.env.DB_SSL === 'true',
181
- },
182
- api: {
183
- timeout: parseInt(process.env.API_TIMEOUT || '5000'),
184
- retries: parseInt(process.env.API_RETRIES || '3'),
185
- },
186
- };
187
- ```
188
-
189
- ```rust
190
- // Rust
191
- #[derive(Debug, Deserialize)]
192
- struct Config {
193
- database: DatabaseConfig,
194
- api: ApiConfig,
195
- }
196
-
197
- #[derive(Debug, Deserialize)]
198
- struct DatabaseConfig {
199
- host: String,
200
- port: u16,
201
- ssl: bool,
202
- }
203
-
204
- impl Config {
205
- fn from_env() -> Result<Self, ConfigError> {
206
- let host = env::var("DB_HOST").unwrap_or_else(|_| "localhost".to_string());
207
- let port = env::var("DB_PORT")
208
- .unwrap_or_else(|_| "5432".to_string())
209
- .parse()
210
- .map_err(|_| ConfigError::InvalidPort)?;
211
-
212
- Ok(Config {
213
- database: DatabaseConfig {
214
- host,
215
- port,
216
- ssl: env::var("DB_SSL").unwrap_or_else(|_| "false".to_string()) == "true",
217
- },
218
- api: ApiConfig::from_env()?,
219
- })
220
- }
221
- }
222
- ```
223
-
224
- ## Universal Testing Standards
225
-
226
- ### Test Structure Requirements
227
-
228
- **All languages must follow:**
229
-
230
- - Given-When-Then structure
231
- - Descriptive test names
232
- - Independent test execution
233
- - Proper setup/teardown
234
-
235
- **Implementation Examples:**
236
-
237
- ```typescript
238
- // TypeScript/JavaScript
239
- describe('OrderService', () => {
240
- describe('when processing a valid order', () => {
241
- it('should return order confirmation', async () => {
242
- // Given: Valid order data
243
- const order = createValidOrder();
244
-
245
- // When: Processing the order
246
- const result = await orderService.processOrder(order);
247
-
248
- // Then: Should return confirmation
249
- expect(result.success).toBe(true);
250
- expect(result.data.orderId).toBeDefined();
251
- });
252
- });
253
- });
254
- ```
255
-
256
- ```rust
257
- // Rust
258
- #[cfg(test)]
259
- mod tests {
260
- use super::*;
261
-
262
- #[tokio::test]
263
- async fn test_process_valid_order() {
264
- // Given: Valid order data
265
- let order = create_valid_order();
266
-
267
- // When: Processing the order
268
- let result = order_service.process_order(order).await;
269
-
270
- // Then: Should return confirmation
271
- assert!(result.is_ok());
272
- let order_result = result.unwrap();
273
- assert!(order_result.order_id.is_some());
274
- }
275
- }
276
- ```
277
-
278
- ```python
279
- # Python
280
- class TestOrderService:
281
- def test_process_valid_order_returns_confirmation(self):
282
- # Given: Valid order data
283
- order = self.create_valid_order()
284
-
285
- # When: Processing the order
286
- result = self.order_service.process_order(order)
287
-
288
- # Then: Should return confirmation
289
- assert result.success is True
290
- assert result.data.order_id is not None
291
- ```
292
-
293
- ### Test Data Management
294
-
295
- **Universal Requirements:**
296
-
297
- - Realistic test data factories
298
- - Deterministic test execution
299
- - Proper cleanup procedures
300
- - Isolated test environments
301
-
302
- ## Universal Documentation Standards
303
-
304
- ### API Documentation
305
-
306
- **All languages must provide:**
307
-
308
- - Function/method signatures with types
309
- - Parameter descriptions and constraints
310
- - Return value specifications
311
- - Error conditions and exceptions
312
- - Usage examples
313
-
314
- **Implementation Examples:**
315
-
316
- ````typescript
317
- /**
318
- * Processes a customer order and returns confirmation details.
319
- *
320
- * @param order - The order to process with validated items and payment info
321
- * @param options - Optional processing options for customization
322
- * @returns Promise resolving to order confirmation or rejection details
323
- * @throws ValidationError when order data is invalid
324
- * @throws PaymentError when payment processing fails
325
- * @throws InventoryError when items are unavailable
326
- *
327
- * @example
328
- * ```typescript
329
- * const order = { items: [...], payment: {...} };
330
- * const result = await processOrder(order);
331
- * console.log(`Order ${result.orderId} confirmed`);
332
- * ```
333
- */
334
- async function processOrder(order: Order, options?: ProcessingOptions): Promise<OrderResult> {
335
- // Implementation
336
- }
337
- ````
338
-
339
- ````rust
340
- /// Processes a customer order and returns confirmation details.
341
- ///
342
- /// # Arguments
343
- /// * `order` - The order to process with validated items and payment info
344
- /// * `options` - Optional processing options for customization
345
- ///
346
- /// # Returns
347
- /// Returns `Ok(OrderResult)` with confirmation details on success
348
- ///
349
- /// # Errors
350
- /// * `ValidationError` - When order data is invalid
351
- /// * `PaymentError` - When payment processing fails
352
- /// * `InventoryError` - When items are unavailable
353
- ///
354
- /// # Examples
355
- /// ```rust
356
- /// let order = Order { items: vec![...], payment: PaymentInfo {...} };
357
- /// let result = process_order(order).await?;
358
- /// println!("Order {} confirmed", result.order_id);
359
- /// ```
360
- pub async fn process_order(
361
- order: Order,
362
- options: Option<ProcessingOptions>
363
- ) -> Result<OrderResult, OrderError> {
364
- // Implementation
365
- }
366
- ````
367
-
368
- ```python
369
- def process_order(order: Order, options: Optional[ProcessingOptions] = None) -> OrderResult:
370
- """Process a customer order and return confirmation details.
371
-
372
- Args:
373
- order: The order to process with validated items and payment info
374
- options: Optional processing options for customization
375
-
376
- Returns:
377
- OrderResult with confirmation details
378
-
379
- Raises:
380
- ValidationError: When order data is invalid
381
- PaymentError: When payment processing fails
382
- InventoryError: When items are unavailable
383
-
384
- Example:
385
- >>> order = Order(items=[...], payment=PaymentInfo(...))
386
- >>> result = process_order(order)
387
- >>> print(f"Order {result.order_id} confirmed")
388
- """
389
- # Implementation
390
- ```
391
-
392
- ## Universal Security Standards
393
-
394
- ### Input Validation
395
-
396
- **All languages must implement:**
397
-
398
- - Schema-based validation
399
- - Type checking at boundaries
400
- - Sanitization of user input
401
- - Length and format constraints
402
-
403
- ### Authentication & Authorization
404
-
405
- **Universal Requirements:**
406
-
407
- - Token-based authentication
408
- - Role-based access control
409
- - Session management
410
- - Audit logging
411
-
412
- ### Data Protection
413
-
414
- **Universal Standards:**
415
-
416
- - Encryption at rest and in transit
417
- - Secure key management
418
- - Data anonymization capabilities
419
- - Privacy compliance measures
420
-
421
- ## Universal Performance Standards
422
-
423
- ### Response Time SLAs
424
-
425
- **Universal Performance Requirements:**
426
-
427
- - API endpoints: P95 < 250ms
428
- - Database queries: P95 < 100ms
429
- - File operations: P95 < 500ms
430
- - Complex computations: P95 < 2000ms
431
-
432
- ### Resource Management
433
-
434
- **Universal Resource Standards:**
435
-
436
- - Memory usage monitoring
437
- - CPU utilization limits
438
- - Connection pool management
439
- - Garbage collection optimization
440
-
441
- ## Universal Monitoring Standards
442
-
443
- ### Logging Requirements
444
-
445
- **All applications must provide:**
446
-
447
- - Structured logging (JSON format)
448
- - Log levels (ERROR, WARN, INFO, DEBUG)
449
- - Request correlation IDs
450
- - Performance metrics
451
-
452
- ### Metrics Collection
453
-
454
- **Universal Metrics:**
455
-
456
- - Request/response times
457
- - Error rates and types
458
- - Resource utilization
459
- - Business KPIs
460
-
461
- ### Health Checks
462
-
463
- **Universal Health Endpoints:**
464
-
465
- - Application health status
466
- - Dependency health checks
467
- - Resource availability
468
- - Business logic validation
469
-
470
- ## CAWS Integration
471
-
472
- ### Quality Gate Integration
473
-
474
- ```bash
475
- # Run complexity analysis
476
- caws quality-gates --check-complexity
477
-
478
- # Check architectural patterns
479
- caws quality-gates --check-architecture
480
-
481
- # Validate universal standards
482
- caws quality-gates --check-universal-standards
483
- ```
484
-
485
- ### Metrics Tracking
486
-
487
- ```bash
488
- # Metrics are tracked automatically via working state
489
- ```
490
-
491
- ### Progress Tracking
492
-
493
- ```bash
494
- # Verify acceptance criteria for complexity compliance
495
- caws verify-acs --spec-id <id>
496
- ```
497
-
498
- ## Enforcement Mechanisms
499
-
500
- ### Static Analysis Integration
501
-
502
- **Universal Static Analysis:**
503
-
504
- - Complexity analysis
505
- - Dependency analysis
506
- - Security vulnerability scanning
507
- - Code quality metrics
508
-
509
- ### CI/CD Integration
510
-
511
- **Universal CI/CD Requirements:**
512
-
513
- - Automated testing
514
- - Quality gate enforcement
515
- - Security scanning
516
- - Performance regression testing
517
-
518
- ### CAWS Quality Gates
519
-
520
- ```yaml
521
- # In .caws/working-spec.yaml
522
- quality_gates:
523
- complexity:
524
- max_cyclomatic: 10
525
- max_cognitive: 15
526
- max_nesting: 4
527
-
528
- maintainability:
529
- max_function_lines: 50
530
- max_file_lines: 1000
531
- max_parameters: 5
532
-
533
- architecture:
534
- dependency_injection: required
535
- error_handling: required
536
- configuration_management: required
537
- ```
538
-
539
- ## Quality Metrics Dashboard
540
-
541
- ### Universal Quality Score
542
-
543
- **Calculation Formula:**
544
-
545
- ```
546
- Quality Score = (
547
- Complexity Score * 0.2 +
548
- Test Coverage Score * 0.3 +
549
- Security Score * 0.2 +
550
- Performance Score * 0.15 +
551
- Documentation Score * 0.15
552
- ) * 100
553
- ```
554
-
555
- ### Trend Analysis
556
-
557
- **Track over time:**
558
-
559
- - Quality score trends
560
- - Complexity growth
561
- - Test coverage changes
562
- - Security vulnerability rates
563
- - Performance degradation
564
-
565
- ### CAWS Integration
566
-
567
- ```bash
568
- # Generate quality report
569
- caws quality-report --include-complexity --include-architecture
570
-
571
- # Track quality trends
572
- caws metrics trends --metric="quality_score" --period="30d"
573
-
574
- # Export quality metrics
575
- caws metrics export --format=json --include-universal-standards
576
- ```
577
-
578
- This rule ensures consistent engineering standards across all programming languages while respecting language-specific idioms and capabilities, fully integrated with CAWS quality gates and metrics tracking.
@@ -1,148 +0,0 @@
1
- # Cursor Rules for CAWS Projects
2
-
3
- This directory contains modular rule files that Cursor uses to guide development in CAWS projects.
4
-
5
- ## Rule Files
6
-
7
- ### Always Applied (Core Governance)
8
-
9
- - `00-claims-verification.mdc` - Production readiness claims require rigorous verification
10
- - `01-working-style.mdc` - Default agent behavior, edit style, and risk limits
11
- - `02-quality-gates.mdc` - Comprehensive testing standards and verification requirements
12
- - `03-infrastructure-standards.mdc` - Infrastructure, deployment, and operational standards
13
- - `03-naming-and-refactor.mdc` - Canonical naming enforcement and refactor strategies
14
- - `04-documentation-integrity.mdc` - Documentation must match implementation reality
15
- - `05-production-readiness-checklist.mdc` - Quick reference checklist for production readiness
16
- - `05-safe-defaults-guards.mdc` - Safe defaults, guard clauses, and early returns
17
- - `06-typescript-conventions.mdc` - TypeScript/JS conventions and best practices
18
- - `07-process-ops.mdc` - Process discipline and server management
19
- - `08-solid-and-architecture.mdc` - SOLID principles and architectural patterns
20
- - `09-docstrings.mdc` - Language-specific docstring formats, standards, and file headers
21
- - `10-documentation-quality-standards.mdc` - Engineering-grade documentation standards
22
- - `11-scope-management-waivers.mdc` - Scope management, change budgets, and emergency waiver procedures
23
- - `12-implementation-completeness.mdc` - Anti-fake implementation guardrails with sophisticated TODO detection
24
- - `13-language-agnostic-standards.mdc` - Universal engineering standards (conditional - applies to code files only)
25
-
26
- ## How MDC Works
27
-
28
- Each `.mdc` file has frontmatter that controls when it applies:
29
-
30
- ```yaml
31
- ---
32
- description: Brief description of the rule
33
- globs:
34
- alwaysApply: true
35
- ---
36
- ```
37
-
38
- - **alwaysApply: true** - Rule is always active
39
- - **globs: [...]** - Rule auto-attaches when editing matching files
40
-
41
- ## CAWS Quality Standards
42
-
43
- These rules enforce CAWS quality tiers:
44
-
45
- | Tier | Coverage | Mutation | Use Case |
46
- | --------- | -------- | -------- | --------------------------- |
47
- | 🔴 **T1** | 90%+ | 70%+ | Auth, billing, migrations |
48
- | 🟡 **T2** | 80%+ | 50%+ | Features, APIs, data writes |
49
- | 🟢 **T3** | 70%+ | 30%+ | UI, internal tools |
50
-
51
- ## Comprehensive Coverage Areas
52
-
53
- ### Core Engineering Standards
54
-
55
- - **Production Readiness**: Rigorous verification requirements with evidence-based claims and accountability measures
56
- - **Testing Standards**: Complete testing pyramid (unit/integration/E2E) with coverage thresholds and quality gates
57
- - **Infrastructure**: Database, API, security, monitoring, deployment, and operational standards
58
- - **Documentation**: Engineering-grade content with reality alignment verification and prohibited patterns
59
-
60
- ### Advanced Quality Controls
61
-
62
- - **Scope Management**: Change budget enforcement with emergency waiver procedures and critical fix protocols
63
- - **Implementation Completeness**: Anti-fake implementation guardrails with sophisticated TODO detection
64
- - **Language-Agnostic Standards**: Universal patterns across all programming languages with complexity metrics
65
- - **Duplication Prevention**: Canonical naming enforcement and refactor strategies (merge-then-delete)
66
-
67
- ### Development Workflow Standards
68
-
69
- - **Working Style**: Risk-based edit principles with targeted edit plans for complex changes
70
- - **Quality Gates**: Execution discipline, commit hygiene, and automated enforcement
71
- - **Safe Defaults**: Guard clauses, early returns, and defensive programming patterns
72
- - **Process Operations**: Server management, hung command handling, and development discipline
73
-
74
- ### Code Quality & Architecture
75
-
76
- - **SOLID Principles**: Single responsibility, open-closed, Liskov substitution, interface segregation, dependency inversion
77
- - **TypeScript Conventions**: Alias imports, const preferences, and type system management
78
- - **Documentation Standards**: Language-specific docstring formats and comprehensive API documentation
79
- - **Authorship & Attribution**: File headers, authorship tracking, and contribution standards
80
-
81
- ### Risk-Based Enforcement
82
-
83
- - **Tier 1 (Critical Systems)**: 90%+ coverage, 95%+ branch, 70%+ mutation, manual review required
84
- - **Tier 2 (Standard Features)**: 80%+ coverage, 90%+ branch, 50%+ mutation, optional review
85
- - **Tier 3 (Low Risk)**: 70%+ coverage, 80%+ branch, 30%+ mutation, optional review
86
-
87
- ### Integration with Existing Tooling
88
-
89
- - **TODO Analysis**: Sophisticated detection with confidence scoring and context-aware analysis
90
- - **CAWS Workflow**: Seamless integration with CAWS validation, testing, and quality gates
91
- - **Automated Detection**: Ripgrep patterns for banned naming, incomplete implementations, and quality violations
92
-
93
- ## Key Features
94
-
95
- ### Sophisticated TODO Detection
96
-
97
- - **Context-aware analysis** with confidence scoring (0.0-1.0)
98
- - **Language-specific patterns** for 13+ languages including Rust, Python, JavaScript, TypeScript
99
- - **Code stub detection** beyond just comments (detects `pass`, `...`, `NotImplementedError`, etc.)
100
- - **Dependency resolution** for staged files with blocking analysis
101
- - **Sophisticated exclusion patterns** to prevent false positives
102
-
103
- ### Risk-Based Quality Gates
104
-
105
- - **Tier 1 (Critical)**: Auth, billing, migrations - 90%+ coverage, 70%+ mutation, manual review
106
- - **Tier 2 (Standard)**: Features, APIs, data writes - 80%+ coverage, 50%+ mutation, optional review
107
- - **Tier 3 (Low Risk)**: UI, internal tools - 70%+ coverage, 30%+ mutation, optional review
108
-
109
- ### Emergency Procedures
110
-
111
- - **Scope Management**: Change budget enforcement with automatic detection
112
- - **Waiver System**: Structured procedures for critical fixes outside scope
113
- - **Critical Fix Protocols**: Emergency override conditions with proper documentation
114
-
115
- ### Anti-Pattern Prevention
116
-
117
- - **Banned Naming**: Prevents `enhanced-*`, `new-*`, `final-*` duplicate patterns
118
- - **Implementation Completeness**: Detects fake persistence, stub APIs, placeholder business logic
119
- - **Documentation Reality**: Ensures documented features actually work
120
-
121
- ## Usage
122
-
123
- Cursor automatically loads these rules from `.cursor/rules/`. View active rules in Cursor's sidebar.
124
-
125
- To disable a rule temporarily: Cursor Settings → Rules → Toggle specific rule
126
-
127
- ## Integration with CAWS Workflow
128
-
129
- These rules complement CAWS tools and existing project tooling:
130
-
131
- - **Validation**: `caws validate` checks rule compliance and working spec validity
132
- - **Testing**: Rules guide comprehensive testing requirements with coverage thresholds
133
- - **Quality Gates**: Automated enforcement of standards with risk-based tiers
134
- - **Documentation**: Ensures docs match implementation reality with engineering-grade standards
135
- - **TODO Analysis**: Sophisticated hidden TODO detection with confidence scoring
136
- - **Scope Management**: Change budget enforcement with emergency waiver procedures
137
- - **Implementation Completeness**: Anti-fake implementation guardrails with stub detection
138
-
139
- ## Continuous Improvement
140
-
141
- Rules are regularly updated based on:
142
-
143
- - Industry best practices
144
- - CAWS user feedback
145
- - Production incident analysis
146
- - Security research and compliance updates
147
-
148
- For questions about these rules, see the main CAWS documentation or contact the CAWS team.