@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,151 +0,0 @@
1
- # CAWS Project Documentation
2
-
3
- ## Overview
4
- This project is built with the **Coding Agent Workflow System (CAWS)** - an engineering-grade framework that ensures quality, reliability, and maintainability in AI-assisted development.
5
-
6
- ## Key Features
7
- - **Quality Gates**: Automated validation of scope, budget, and standards
8
- - **Comprehensive Testing**: Unit, contract, integration, and mutation testing
9
- - **Observability**: Structured logging, metrics, and tracing
10
- - **Rollback Ready**: Feature flags and migration support
11
- - **Provenance Tracking**: SBOM and SLSA attestation generation
12
-
13
- ## Getting Started
14
-
15
- ### 1. Project Setup
16
- The project is already scaffolded with CAWS. Review and customize:
17
- - `.caws/specs/<spec-id>.yaml` - Canonical feature specification and requirements
18
- - `.caws/working-spec.yaml` - Compatibility mirror for legacy paths
19
- - `.caws/policy.yaml` - Risk tier definitions
20
- - `.github/workflows/caws.yml` - CI/CD quality gates
21
-
22
- ### 2. Development Workflow
23
- 1. **Plan**: Update the active feature spec with requirements and scope
24
- 2. **Implement**: Follow agent conduct rules and mode constraints
25
- 3. **Verify**: Run tests and quality gates locally
26
- 4. **Document**: Update documentation and generate provenance
27
-
28
- ### 3. Quality Assurance
29
- - Run `npm run test` for all tests
30
- - Check trust score with CAWS tools
31
- - Validate against working specification
32
- - Ensure rollback capabilities
33
-
34
- ## Architecture
35
-
36
- ### Directory Structure
37
- ```
38
- src/ # Source code
39
- ├── core/ # Core business logic
40
- ├── api/ # API endpoints
41
- ├── models/ # Data models
42
- └── utils/ # Utilities
43
-
44
- tests/ # Test suites
45
- ├── unit/ # Unit tests
46
- ├── contract/ # Contract tests
47
- ├── integration/ # Integration tests
48
- └── e2e/ # End-to-end tests
49
-
50
- apps/tools/caws/ # CAWS utilities
51
- └── prompt-lint.js # Prompt validation
52
- └── attest.js # SBOM/attestation generation
53
- ```
54
-
55
- ### Key Patterns
56
- - **Dependency Injection**: For testability and determinism
57
- - **Interface Segregation**: Clean boundaries and contracts
58
- - **Observability**: Structured logging and metrics
59
- - **Property Testing**: Edge cases and invariants
60
-
61
- ## Development Guidelines
62
-
63
- ### Agent Conduct Rules
64
- 1. **Spec Adherence**: Stay within declared scope and mode
65
- 2. **Determinism**: Inject time, UUID, and random dependencies
66
- 3. **Comprehensive Testing**: Unit + property + integration tests
67
- 4. **Observability**: Log, metric, and trace key operations
68
- 5. **Rollback Ready**: Feature flags and migration support
69
-
70
- ### Code Quality
71
- - **Type Safety**: Full TypeScript coverage
72
- - **Test Coverage**: 80%+ branch coverage, 50%+ mutation score
73
- - **Performance**: API p95 < 250ms, accessibility compliance
74
- - **Security**: Input validation, rate limiting, secret scanning
75
-
76
- ## Deployment
77
-
78
- ### CI/CD Pipeline
79
- The project includes automated quality gates:
80
- - Static analysis and security scanning
81
- - Unit and integration testing
82
- - Performance and accessibility validation
83
- - Provenance and attestation generation
84
-
85
- ### Environment Setup
86
- 1. Configure environment variables
87
- 2. Set up monitoring and alerting
88
- 3. Establish rollback procedures
89
- 4. Document operational runbooks
90
-
91
- ## Monitoring & Observability
92
-
93
- ### Metrics
94
- - Request latency and throughput
95
- - Error rates and types
96
- - Resource utilization
97
- - Business metrics
98
-
99
- ### Logging
100
- - Structured logs with correlation IDs
101
- - Error tracking and alerting
102
- - Performance monitoring
103
- - Security event logging
104
-
105
- ### Tracing
106
- - Distributed request tracing
107
- - Performance profiling
108
- - Dependency analysis
109
- - Root cause identification
110
-
111
- ## Troubleshooting
112
-
113
- ### Common Issues
114
- 1. **Trust Score Low**: Check test coverage and quality gates
115
- 2. **Scope Violations**: Ensure changes align with the active spec
116
- 3. **Budget Exceeded**: Review change size and complexity
117
- 4. **Flaky Tests**: Use property testing and proper mocking
118
-
119
- ### Support
120
- - Check `agents.md` for comprehensive documentation
121
- - Review CI/CD logs for quality gate failures
122
- - Use CAWS tools for validation and debugging
123
- - Follow agent conduct rules for collaboration
124
-
125
- ## Contributing
126
-
127
- ### Development Process
128
- 1. Update the active feature specification
129
- 2. Create comprehensive tests
130
- 3. Implement with quality gates
131
- 4. Generate provenance artifacts
132
- 5. Document changes thoroughly
133
-
134
- ### Code Review
135
- - Review against the active feature spec
136
- - Check trust score and quality gates
137
- - Validate observability and rollback
138
- - Ensure documentation completeness
139
-
140
- ## Resources
141
-
142
- - **[CAWS Framework](agents.md)**: Complete system documentation
143
- - **[Canonical Specs](.caws/specs/)**: Project requirements
144
- - **[Quality Gates](.github/workflows/caws.yml)**: CI/CD pipeline
145
- - **[Tools](apps/tools/caws/)**: Development utilities
146
-
147
- ---
148
-
149
- **Maintainer**: @darianrosebrook
150
- **Framework**: CAWS v1.0
151
- **Updated**: $(date)
@@ -1,80 +0,0 @@
1
- #!/bin/bash
2
- # Create a new CAWS feature spec + optional worktree
3
- #
4
- # Usage:
5
- # scripts/new_feature.sh FEAT-001 "Feature description"
6
- # scripts/new_feature.sh FEAT-001 "Feature description" --worktree
7
- #
8
- # This script:
9
- # 1. Creates a feature spec in .caws/specs/<ID>.yaml
10
- # 2. Optionally creates a git worktree for isolated development
11
-
12
- set -euo pipefail
13
-
14
- if [ $# -lt 2 ]; then
15
- echo "usage: scripts/new_feature.sh <SPEC-ID> <title> [--worktree]" >&2
16
- echo " example: scripts/new_feature.sh FEAT-001 'Add user authentication'" >&2
17
- exit 1
18
- fi
19
-
20
- SPEC_ID="$1"
21
- TITLE="$2"
22
- USE_WORKTREE="${3:-}"
23
-
24
- # Validate spec ID format (PREFIX-NUMBER, e.g., FEAT-001, AUTH-042)
25
- if ! echo "$SPEC_ID" | grep -qE '^[A-Z]+-[0-9]+$'; then
26
- echo "error: spec ID must be in format PREFIX-NUMBER (e.g., FEAT-001, AUTH-042)" >&2
27
- exit 1
28
- fi
29
-
30
- SPEC_FILE=".caws/specs/${SPEC_ID}.yaml"
31
-
32
- # Check if spec already exists
33
- if [ -f "$SPEC_FILE" ]; then
34
- echo "error: spec $SPEC_ID already exists at $SPEC_FILE" >&2
35
- exit 1
36
- fi
37
-
38
- # Create spec directory if needed
39
- mkdir -p .caws/specs
40
-
41
- # Generate spec scaffold
42
- TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
43
- cat > "$SPEC_FILE" << EOF
44
- id: ${SPEC_ID}
45
- type: feature
46
- title: "${TITLE}"
47
- status: draft
48
- risk_tier: 2
49
- mode: development
50
- created_at: "${TIMESTAMP}"
51
- updated_at: "${TIMESTAMP}"
52
- blast_radius:
53
- modules: []
54
- data_migration: false
55
- operational_rollback_slo: 5m
56
- scope:
57
- in: []
58
- out:
59
- - docs/reference/v1/
60
- - .caws/
61
- threats: []
62
- invariants: []
63
- acceptance: []
64
- acceptance_criteria: []
65
- milestones: []
66
- EOF
67
-
68
- echo "Created feature spec: $SPEC_FILE"
69
-
70
- # Optionally create worktree
71
- if [ "$USE_WORKTREE" = "--worktree" ]; then
72
- BRANCH_NAME="feat/${SPEC_ID,,}" # lowercase
73
- WORKTREE_DIR=".caws/worktrees/${SPEC_ID,,}"
74
-
75
- git worktree add "$WORKTREE_DIR" -b "$BRANCH_NAME"
76
- echo "Created worktree: $WORKTREE_DIR (branch: $BRANCH_NAME)"
77
- echo ""
78
- echo "To start working:"
79
- echo " cd $WORKTREE_DIR"
80
- fi
@@ -1,146 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * God Object Detector
5
- *
6
- * Checks for god objects (large files) in staged files only.
7
- * This script is automatically generated by CAWS scaffold.
8
- *
9
- * @author @darianrosebrook
10
- */
11
-
12
- const fs = require('fs');
13
- const path = require('path');
14
- const { execSync } = require('child_process');
15
-
16
- // Configuration
17
- const CONFIG = {
18
- godObjectThresholds: {
19
- warning: 1750,
20
- critical: 2000,
21
- },
22
- };
23
-
24
- // Collect staged Rust files only
25
- function collectStagedRustFiles() {
26
- try {
27
- // Get staged files
28
- const stagedFiles = execSync("git diff --cached --name-only", {
29
- encoding: "utf8",
30
- })
31
- .trim()
32
- .split("\n")
33
- .filter((file) => file.trim() !== "");
34
-
35
- // Filter for Rust files
36
- const rustFiles = stagedFiles.filter((file) => file.endsWith(".rs"));
37
-
38
- // Convert to absolute paths
39
- const RUST_FILES = [];
40
- for (const file of rustFiles) {
41
- const fullPath = path.resolve(file);
42
- if (fs.existsSync(fullPath)) {
43
- RUST_FILES.push(fullPath);
44
- }
45
- }
46
-
47
- console.log(`📁 Found ${rustFiles.length} staged Rust files to check`);
48
- return RUST_FILES;
49
- } catch (error) {
50
- console.warn(`⚠️ Could not get staged files: ${error.message}`);
51
- return [];
52
- }
53
- }
54
-
55
- // Check for god objects
56
- function checkGodObjects() {
57
- const RUST_FILES = collectStagedRustFiles();
58
-
59
- if (RUST_FILES.length === 0) {
60
- console.log("✅ No staged Rust files to check for god objects");
61
- return { violations: [], warnings: [] };
62
- }
63
-
64
- const violations = [];
65
- const warnings = [];
66
-
67
- for (const filePath of RUST_FILES) {
68
- try {
69
- const content = fs.readFileSync(filePath, 'utf8');
70
- const lineCount = content.split('\n').length;
71
- const relativePath = path.relative(process.cwd(), filePath);
72
-
73
- if (lineCount >= CONFIG.godObjectThresholds.critical) {
74
- violations.push({
75
- file: relativePath,
76
- lines: lineCount,
77
- message: `CRITICAL: ${lineCount} LOC exceeds god object threshold (${CONFIG.godObjectThresholds.critical}+ LOC)`
78
- });
79
- } else if (lineCount >= CONFIG.godObjectThresholds.warning) {
80
- warnings.push({
81
- file: relativePath,
82
- lines: lineCount,
83
- message: `WARNING: ${lineCount} LOC approaches god object territory (${CONFIG.godObjectThresholds.warning}+ LOC)`
84
- });
85
- }
86
- } catch (error) {
87
- console.warn(`⚠️ Could not analyze ${filePath}: ${error.message}`);
88
- }
89
- }
90
-
91
- return { violations, warnings };
92
- }
93
-
94
- // Check for god object regression
95
- function checkGodObjectRegression() {
96
- const RUST_FILES = collectStagedRustFiles();
97
-
98
- if (RUST_FILES.length === 0) {
99
- return { regression: false };
100
- }
101
-
102
- // This is a simplified check - in a real implementation,
103
- // you might want to compare against previous commits
104
- const results = checkGodObjects();
105
-
106
- return {
107
- regression: results.violations.length > 0,
108
- violations: results.violations,
109
- warnings: results.warnings
110
- };
111
- }
112
-
113
- // Main execution
114
- function main() {
115
- console.log("🏗️ Checking god objects...");
116
-
117
- const results = checkGodObjects();
118
-
119
- if (results.violations.length > 0) {
120
- console.log(" ❌ God object violations detected:");
121
- results.violations.forEach(violation => {
122
- console.log(` ${violation.file}: ${violation.message}`);
123
- });
124
- process.exit(1);
125
- } else {
126
- console.log(" ✅ No blocking god object violations");
127
- }
128
-
129
- if (results.warnings.length > 0) {
130
- console.log(" ⚠️ God object warnings:");
131
- results.warnings.forEach(warning => {
132
- console.log(` ${warning.file}: ${warning.message}`);
133
- });
134
- }
135
- }
136
-
137
- // Run if called directly
138
- if (require.main === module) {
139
- main();
140
- }
141
-
142
- module.exports = {
143
- checkGodObjects,
144
- checkGodObjectRegression,
145
- collectStagedRustFiles,
146
- };
@@ -1,50 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Quality Gates Runner
5
- *
6
- * Runs comprehensive quality gates on staged files only.
7
- * This script is automatically generated by CAWS scaffold.
8
- *
9
- * @author @darianrosebrook
10
- */
11
-
12
- const { runQualityGates } = require('@paths.design/caws-cli/src/utils/quality-gates');
13
-
14
- // Parse command line arguments
15
- const args = process.argv.slice(2);
16
- const options = {
17
- languages: ['rust'],
18
- checkTodos: true,
19
- checkGodObjects: true,
20
- ci: args.includes('--ci') || args.includes('--ci-mode')
21
- };
22
-
23
- // Extract languages from arguments
24
- const langIndex = args.indexOf('--languages');
25
- if (langIndex !== -1 && args[langIndex + 1]) {
26
- options.languages = args[langIndex + 1].split(',').map(lang => lang.trim());
27
- }
28
-
29
- // Check for disable flags
30
- if (args.includes('--no-todos')) {
31
- options.checkTodos = false;
32
- }
33
-
34
- if (args.includes('--no-god-objects')) {
35
- options.checkGodObjects = false;
36
- }
37
-
38
- // Run quality gates
39
- try {
40
- const results = runQualityGates(options);
41
-
42
- if (!results.passed && options.ci) {
43
- process.exit(1);
44
- }
45
- } catch (error) {
46
- console.error(`❌ Quality gates failed: ${error.message}`);
47
- if (options.ci) {
48
- process.exit(1);
49
- }
50
- }