@paths.design/caws-cli 10.2.0 → 11.1.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 (493) hide show
  1. package/README.md +125 -374
  2. package/dist/index.js +45 -787
  3. package/dist/init/harness-detect.d.ts +18 -0
  4. package/dist/init/harness-detect.d.ts.map +1 -0
  5. package/dist/init/harness-detect.js +90 -0
  6. package/dist/init/harness-detect.js.map +1 -0
  7. package/dist/init/hook-install.d.ts +53 -0
  8. package/dist/init/hook-install.d.ts.map +1 -0
  9. package/dist/init/hook-install.js +421 -0
  10. package/dist/init/hook-install.js.map +1 -0
  11. package/dist/init/hook-packs/manifest-claude-code.d.ts +4 -0
  12. package/dist/init/hook-packs/manifest-claude-code.d.ts.map +1 -0
  13. package/dist/init/hook-packs/manifest-claude-code.js +190 -0
  14. package/dist/init/hook-packs/manifest-claude-code.js.map +1 -0
  15. package/dist/init/hook-packs/register.d.ts +19 -0
  16. package/dist/init/hook-packs/register.d.ts.map +1 -0
  17. package/dist/init/hook-packs/register.js +37 -0
  18. package/dist/init/hook-packs/register.js.map +1 -0
  19. package/dist/init/hook-packs/types.d.ts +123 -0
  20. package/dist/init/hook-packs/types.d.ts.map +1 -0
  21. package/dist/init/hook-packs/types.js +29 -0
  22. package/dist/init/hook-packs/types.js.map +1 -0
  23. package/dist/shell/binding/resolve-binding.d.ts +4 -0
  24. package/dist/shell/binding/resolve-binding.d.ts.map +1 -0
  25. package/dist/shell/binding/resolve-binding.js +228 -0
  26. package/dist/shell/binding/resolve-binding.js.map +1 -0
  27. package/dist/shell/binding/types.d.ts +42 -0
  28. package/dist/shell/binding/types.d.ts.map +1 -0
  29. package/dist/shell/binding/types.js +21 -0
  30. package/dist/shell/binding/types.js.map +1 -0
  31. package/dist/shell/commands/claim.d.ts +14 -0
  32. package/dist/shell/commands/claim.d.ts.map +1 -0
  33. package/dist/shell/commands/claim.js +197 -0
  34. package/dist/shell/commands/claim.js.map +1 -0
  35. package/dist/shell/commands/doctor.d.ts +13 -0
  36. package/dist/shell/commands/doctor.d.ts.map +1 -0
  37. package/dist/shell/commands/doctor.js +97 -0
  38. package/dist/shell/commands/doctor.js.map +1 -0
  39. package/dist/shell/commands/evidence.d.ts +28 -0
  40. package/dist/shell/commands/evidence.d.ts.map +1 -0
  41. package/dist/shell/commands/evidence.js +166 -0
  42. package/dist/shell/commands/evidence.js.map +1 -0
  43. package/dist/shell/commands/gates.d.ts +19 -0
  44. package/dist/shell/commands/gates.d.ts.map +1 -0
  45. package/dist/shell/commands/gates.js +208 -0
  46. package/dist/shell/commands/gates.js.map +1 -0
  47. package/dist/shell/commands/init.d.ts +17 -0
  48. package/dist/shell/commands/init.d.ts.map +1 -0
  49. package/dist/shell/commands/init.js +168 -0
  50. package/dist/shell/commands/init.js.map +1 -0
  51. package/dist/shell/commands/scope.d.ts +11 -0
  52. package/dist/shell/commands/scope.d.ts.map +1 -0
  53. package/dist/shell/commands/scope.js +92 -0
  54. package/dist/shell/commands/scope.js.map +1 -0
  55. package/dist/shell/commands/specs.d.ts +41 -0
  56. package/dist/shell/commands/specs.d.ts.map +1 -0
  57. package/dist/shell/commands/specs.js +264 -0
  58. package/dist/shell/commands/specs.js.map +1 -0
  59. package/dist/shell/commands/status.d.ts +15 -0
  60. package/dist/shell/commands/status.d.ts.map +1 -0
  61. package/dist/shell/commands/status.js +106 -0
  62. package/dist/shell/commands/status.js.map +1 -0
  63. package/dist/shell/commands/waiver.d.ts +38 -0
  64. package/dist/shell/commands/waiver.d.ts.map +1 -0
  65. package/dist/shell/commands/waiver.js +240 -0
  66. package/dist/shell/commands/waiver.js.map +1 -0
  67. package/dist/shell/commands/worktree.d.ts +38 -0
  68. package/dist/shell/commands/worktree.d.ts.map +1 -0
  69. package/dist/shell/commands/worktree.js +286 -0
  70. package/dist/shell/commands/worktree.js.map +1 -0
  71. package/dist/shell/gates/disposition.d.ts +23 -0
  72. package/dist/shell/gates/disposition.d.ts.map +1 -0
  73. package/dist/shell/gates/disposition.js +117 -0
  74. package/dist/shell/gates/disposition.js.map +1 -0
  75. package/dist/shell/gates/gate-result-contract.d.ts +39 -0
  76. package/dist/shell/gates/gate-result-contract.d.ts.map +1 -0
  77. package/dist/shell/gates/gate-result-contract.js +150 -0
  78. package/dist/shell/gates/gate-result-contract.js.map +1 -0
  79. package/dist/shell/gates/local-evaluators/budget-limit.d.ts +24 -0
  80. package/dist/shell/gates/local-evaluators/budget-limit.d.ts.map +1 -0
  81. package/dist/shell/gates/local-evaluators/budget-limit.js +67 -0
  82. package/dist/shell/gates/local-evaluators/budget-limit.js.map +1 -0
  83. package/dist/shell/gates/local-evaluators/diff-helpers.d.ts +25 -0
  84. package/dist/shell/gates/local-evaluators/diff-helpers.d.ts.map +1 -0
  85. package/dist/shell/gates/local-evaluators/diff-helpers.js +74 -0
  86. package/dist/shell/gates/local-evaluators/diff-helpers.js.map +1 -0
  87. package/dist/shell/gates/local-evaluators/index.d.ts +28 -0
  88. package/dist/shell/gates/local-evaluators/index.d.ts.map +1 -0
  89. package/dist/shell/gates/local-evaluators/index.js +67 -0
  90. package/dist/shell/gates/local-evaluators/index.js.map +1 -0
  91. package/dist/shell/gates/local-evaluators/scope-boundary.d.ts +23 -0
  92. package/dist/shell/gates/local-evaluators/scope-boundary.d.ts.map +1 -0
  93. package/dist/shell/gates/local-evaluators/scope-boundary.js +67 -0
  94. package/dist/shell/gates/local-evaluators/scope-boundary.js.map +1 -0
  95. package/dist/shell/gates/local-evaluators/spec-completeness.d.ts +12 -0
  96. package/dist/shell/gates/local-evaluators/spec-completeness.d.ts.map +1 -0
  97. package/dist/shell/gates/local-evaluators/spec-completeness.js +73 -0
  98. package/dist/shell/gates/local-evaluators/spec-completeness.js.map +1 -0
  99. package/dist/shell/gates/quality-gates-adapter.d.ts +55 -0
  100. package/dist/shell/gates/quality-gates-adapter.d.ts.map +1 -0
  101. package/dist/shell/gates/quality-gates-adapter.js +161 -0
  102. package/dist/shell/gates/quality-gates-adapter.js.map +1 -0
  103. package/dist/shell/gates/waiver-filter.d.ts +58 -0
  104. package/dist/shell/gates/waiver-filter.d.ts.map +1 -0
  105. package/dist/shell/gates/waiver-filter.js +119 -0
  106. package/dist/shell/gates/waiver-filter.js.map +1 -0
  107. package/dist/shell/index.d.ts +54 -0
  108. package/dist/shell/index.d.ts.map +1 -0
  109. package/dist/shell/index.js +85 -0
  110. package/dist/shell/index.js.map +1 -0
  111. package/dist/shell/register.d.ts +11 -0
  112. package/dist/shell/register.d.ts.map +1 -0
  113. package/dist/shell/register.js +464 -0
  114. package/dist/shell/register.js.map +1 -0
  115. package/dist/shell/render/claim.d.ts +22 -0
  116. package/dist/shell/render/claim.d.ts.map +1 -0
  117. package/dist/shell/render/claim.js +75 -0
  118. package/dist/shell/render/claim.js.map +1 -0
  119. package/dist/shell/render/decision.d.ts +15 -0
  120. package/dist/shell/render/decision.d.ts.map +1 -0
  121. package/dist/shell/render/decision.js +66 -0
  122. package/dist/shell/render/decision.js.map +1 -0
  123. package/dist/shell/render/diagnostic.d.ts +19 -0
  124. package/dist/shell/render/diagnostic.d.ts.map +1 -0
  125. package/dist/shell/render/diagnostic.js +76 -0
  126. package/dist/shell/render/diagnostic.js.map +1 -0
  127. package/dist/shell/render/finding.d.ts +15 -0
  128. package/dist/shell/render/finding.d.ts.map +1 -0
  129. package/dist/shell/render/finding.js +57 -0
  130. package/dist/shell/render/finding.js.map +1 -0
  131. package/dist/shell/render/gates.d.ts +3 -0
  132. package/dist/shell/render/gates.d.ts.map +1 -0
  133. package/dist/shell/render/gates.js +56 -0
  134. package/dist/shell/render/gates.js.map +1 -0
  135. package/dist/shell/render/init-hook-pack.d.ts +16 -0
  136. package/dist/shell/render/init-hook-pack.d.ts.map +1 -0
  137. package/dist/shell/render/init-hook-pack.js +206 -0
  138. package/dist/shell/render/init-hook-pack.js.map +1 -0
  139. package/dist/shell/render/init.d.ts +11 -0
  140. package/dist/shell/render/init.d.ts.map +1 -0
  141. package/dist/shell/render/init.js +32 -0
  142. package/dist/shell/render/init.js.map +1 -0
  143. package/dist/shell/render/status.d.ts +26 -0
  144. package/dist/shell/render/status.d.ts.map +1 -0
  145. package/dist/shell/render/status.js +143 -0
  146. package/dist/shell/render/status.js.map +1 -0
  147. package/dist/shell/render/waiver.d.ts +21 -0
  148. package/dist/shell/render/waiver.d.ts.map +1 -0
  149. package/dist/shell/render/waiver.js +94 -0
  150. package/dist/shell/render/waiver.js.map +1 -0
  151. package/dist/shell/rules.d.ts +37 -0
  152. package/dist/shell/rules.d.ts.map +1 -0
  153. package/dist/shell/rules.js +51 -0
  154. package/dist/shell/rules.js.map +1 -0
  155. package/dist/shell/session/actor.d.ts +14 -0
  156. package/dist/shell/session/actor.d.ts.map +1 -0
  157. package/dist/shell/session/actor.js +34 -0
  158. package/dist/shell/session/actor.js.map +1 -0
  159. package/dist/shell/session/resolve-session.d.ts +5 -0
  160. package/dist/shell/session/resolve-session.d.ts.map +1 -0
  161. package/dist/shell/session/resolve-session.js +239 -0
  162. package/dist/shell/session/resolve-session.js.map +1 -0
  163. package/dist/shell/session/types.d.ts +56 -0
  164. package/dist/shell/session/types.d.ts.map +1 -0
  165. package/dist/shell/session/types.js +15 -0
  166. package/dist/shell/session/types.js.map +1 -0
  167. package/dist/store/agents-store.d.ts +3 -0
  168. package/dist/store/agents-store.d.ts.map +1 -0
  169. package/dist/store/agents-store.js +63 -0
  170. package/dist/store/agents-store.js.map +1 -0
  171. package/dist/store/apply-patch.d.ts +16 -0
  172. package/dist/store/apply-patch.d.ts.map +1 -0
  173. package/dist/store/apply-patch.js +191 -0
  174. package/dist/store/apply-patch.js.map +1 -0
  175. package/dist/store/atomic-write.d.ts +34 -0
  176. package/dist/store/atomic-write.d.ts.map +1 -0
  177. package/dist/store/atomic-write.js +174 -0
  178. package/dist/store/atomic-write.js.map +1 -0
  179. package/dist/store/doctor-snapshot.d.ts +20 -0
  180. package/dist/store/doctor-snapshot.d.ts.map +1 -0
  181. package/dist/store/doctor-snapshot.js +176 -0
  182. package/dist/store/doctor-snapshot.js.map +1 -0
  183. package/dist/store/events-store.d.ts +33 -0
  184. package/dist/store/events-store.d.ts.map +1 -0
  185. package/dist/store/events-store.js +297 -0
  186. package/dist/store/events-store.js.map +1 -0
  187. package/dist/store/index.d.ts +21 -0
  188. package/dist/store/index.d.ts.map +1 -0
  189. package/dist/store/index.js +47 -0
  190. package/dist/store/index.js.map +1 -0
  191. package/dist/store/init-store.d.ts +21 -0
  192. package/dist/store/init-store.d.ts.map +1 -0
  193. package/dist/store/init-store.js +295 -0
  194. package/dist/store/init-store.js.map +1 -0
  195. package/dist/store/json-store.d.ts +3 -0
  196. package/dist/store/json-store.d.ts.map +1 -0
  197. package/dist/store/json-store.js +65 -0
  198. package/dist/store/json-store.js.map +1 -0
  199. package/dist/store/lifecycle-lock.d.ts +34 -0
  200. package/dist/store/lifecycle-lock.d.ts.map +1 -0
  201. package/dist/store/lifecycle-lock.js +168 -0
  202. package/dist/store/lifecycle-lock.js.map +1 -0
  203. package/dist/store/lifecycle-transaction.d.ts +79 -0
  204. package/dist/store/lifecycle-transaction.d.ts.map +1 -0
  205. package/dist/store/lifecycle-transaction.js +319 -0
  206. package/dist/store/lifecycle-transaction.js.map +1 -0
  207. package/dist/store/policy-store.d.ts +3 -0
  208. package/dist/store/policy-store.d.ts.map +1 -0
  209. package/dist/store/policy-store.js +65 -0
  210. package/dist/store/policy-store.js.map +1 -0
  211. package/dist/store/repo-root.d.ts +46 -0
  212. package/dist/store/repo-root.d.ts.map +1 -0
  213. package/dist/store/repo-root.js +145 -0
  214. package/dist/store/repo-root.js.map +1 -0
  215. package/dist/store/rules.d.ts +69 -0
  216. package/dist/store/rules.d.ts.map +1 -0
  217. package/dist/store/rules.js +95 -0
  218. package/dist/store/rules.js.map +1 -0
  219. package/dist/store/specs-store.d.ts +3 -0
  220. package/dist/store/specs-store.d.ts.map +1 -0
  221. package/dist/store/specs-store.js +131 -0
  222. package/dist/store/specs-store.js.map +1 -0
  223. package/dist/store/specs-writer.d.ts +61 -0
  224. package/dist/store/specs-writer.d.ts.map +1 -0
  225. package/dist/store/specs-writer.js +506 -0
  226. package/dist/store/specs-writer.js.map +1 -0
  227. package/dist/store/types.d.ts +84 -0
  228. package/dist/store/types.d.ts.map +1 -0
  229. package/dist/store/types.js +14 -0
  230. package/dist/store/types.js.map +1 -0
  231. package/dist/store/waivers-store.d.ts +25 -0
  232. package/dist/store/waivers-store.d.ts.map +1 -0
  233. package/dist/store/waivers-store.js +232 -0
  234. package/dist/store/waivers-store.js.map +1 -0
  235. package/dist/store/worktrees-store.d.ts +3 -0
  236. package/dist/store/worktrees-store.d.ts.map +1 -0
  237. package/dist/store/worktrees-store.js +62 -0
  238. package/dist/store/worktrees-store.js.map +1 -0
  239. package/dist/store/worktrees-writer.d.ts +77 -0
  240. package/dist/store/worktrees-writer.d.ts.map +1 -0
  241. package/dist/store/worktrees-writer.js +674 -0
  242. package/dist/store/worktrees-writer.js.map +1 -0
  243. package/dist/store/yaml-patch.d.ts +7 -0
  244. package/dist/store/yaml-patch.d.ts.map +1 -0
  245. package/dist/store/yaml-patch.js +250 -0
  246. package/dist/store/yaml-patch.js.map +1 -0
  247. package/dist/store/yaml-store.d.ts +9 -0
  248. package/dist/store/yaml-store.d.ts.map +1 -0
  249. package/dist/store/yaml-store.js +121 -0
  250. package/dist/store/yaml-store.js.map +1 -0
  251. package/package.json +15 -13
  252. package/dist/budget-derivation.js +0 -751
  253. package/dist/cicd-optimizer.js +0 -504
  254. package/dist/commands/agents.js +0 -124
  255. package/dist/commands/archive.js +0 -500
  256. package/dist/commands/burnup.js +0 -198
  257. package/dist/commands/diagnose.js +0 -525
  258. package/dist/commands/evaluate.js +0 -314
  259. package/dist/commands/gates.js +0 -149
  260. package/dist/commands/init.js +0 -857
  261. package/dist/commands/iterate.js +0 -417
  262. package/dist/commands/mode.js +0 -269
  263. package/dist/commands/parallel.js +0 -242
  264. package/dist/commands/plan.js +0 -438
  265. package/dist/commands/provenance.js +0 -1143
  266. package/dist/commands/quality-monitor.js +0 -284
  267. package/dist/commands/scope.js +0 -264
  268. package/dist/commands/session.js +0 -312
  269. package/dist/commands/sidecar.js +0 -74
  270. package/dist/commands/specs.js +0 -1656
  271. package/dist/commands/status.js +0 -1172
  272. package/dist/commands/templates.js +0 -237
  273. package/dist/commands/tool.js +0 -136
  274. package/dist/commands/tutorial.js +0 -480
  275. package/dist/commands/validate.js +0 -357
  276. package/dist/commands/verify-acs.js +0 -443
  277. package/dist/commands/waivers.js +0 -599
  278. package/dist/commands/workflow.js +0 -243
  279. package/dist/commands/worktree.js +0 -502
  280. package/dist/config/lite-scope.js +0 -158
  281. package/dist/config/modes.js +0 -347
  282. package/dist/constants/spec-types.js +0 -65
  283. package/dist/gates/budget-limit.js +0 -121
  284. package/dist/gates/feedback.js +0 -260
  285. package/dist/gates/format.js +0 -179
  286. package/dist/gates/god-object.js +0 -117
  287. package/dist/gates/pipeline.js +0 -167
  288. package/dist/gates/scope-boundary.js +0 -112
  289. package/dist/gates/spec-completeness.js +0 -109
  290. package/dist/gates/todo-detection.js +0 -205
  291. package/dist/generators/jest-config-generator.js +0 -242
  292. package/dist/generators/working-spec.js +0 -237
  293. package/dist/minimal-cli.js +0 -88
  294. package/dist/parallel/parallel-manager.js +0 -433
  295. package/dist/policy/PolicyManager.js +0 -470
  296. package/dist/scaffold/claude-hooks.js +0 -443
  297. package/dist/scaffold/cursor-hooks.js +0 -177
  298. package/dist/scaffold/git-hooks.js +0 -928
  299. package/dist/scaffold/index.js +0 -794
  300. package/dist/session/session-manager.js +0 -653
  301. package/dist/sidecars/index.js +0 -33
  302. package/dist/sidecars/listeners.js +0 -40
  303. package/dist/sidecars/provenance-summary.js +0 -238
  304. package/dist/sidecars/quality-gaps.js +0 -258
  305. package/dist/sidecars/schema.js +0 -149
  306. package/dist/sidecars/spec-drift.js +0 -151
  307. package/dist/sidecars/waiver-draft.js +0 -176
  308. package/dist/spec/SpecFileManager.js +0 -419
  309. package/dist/templates/.caws/schemas/policy.schema.json +0 -117
  310. package/dist/templates/.caws/schemas/scope.schema.json +0 -52
  311. package/dist/templates/.caws/schemas/waivers.schema.json +0 -106
  312. package/dist/templates/.caws/schemas/working-spec.schema.json +0 -340
  313. package/dist/templates/.caws/schemas/worktrees.schema.json +0 -38
  314. package/dist/templates/.caws/templates/working-spec.template.yml +0 -80
  315. package/dist/templates/.caws/tools/README.md +0 -18
  316. package/dist/templates/.caws/tools/scope-guard.js +0 -203
  317. package/dist/templates/.caws/tools-allow.json +0 -331
  318. package/dist/templates/.caws/waivers.yml +0 -19
  319. package/dist/templates/.claude/README.md +0 -190
  320. package/dist/templates/.claude/hooks/audit.sh +0 -121
  321. package/dist/templates/.claude/hooks/block-dangerous.sh +0 -203
  322. package/dist/templates/.claude/hooks/classify_command.py +0 -592
  323. package/dist/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
  324. package/dist/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
  325. package/dist/templates/.claude/hooks/naming-check.sh +0 -100
  326. package/dist/templates/.claude/hooks/protected-paths.sh +0 -39
  327. package/dist/templates/.claude/hooks/quality-check.sh +0 -81
  328. package/dist/templates/.claude/hooks/scan-secrets.sh +0 -85
  329. package/dist/templates/.claude/hooks/scope-guard.sh +0 -381
  330. package/dist/templates/.claude/hooks/session-caws-status.sh +0 -117
  331. package/dist/templates/.claude/hooks/session-log.sh +0 -634
  332. package/dist/templates/.claude/hooks/simplification-guard.sh +0 -92
  333. package/dist/templates/.claude/hooks/stop-worktree-check.sh +0 -46
  334. package/dist/templates/.claude/hooks/test_classify_command.py +0 -370
  335. package/dist/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
  336. package/dist/templates/.claude/hooks/validate-spec.sh +0 -76
  337. package/dist/templates/.claude/hooks/worktree-guard.sh +0 -220
  338. package/dist/templates/.claude/hooks/worktree-write-guard.sh +0 -190
  339. package/dist/templates/.claude/rules/git-safety.md +0 -26
  340. package/dist/templates/.claude/rules/worktree-isolation.md +0 -101
  341. package/dist/templates/.claude/settings.json +0 -141
  342. package/dist/templates/.cursor/README.md +0 -299
  343. package/dist/templates/.cursor/hooks/audit.sh +0 -55
  344. package/dist/templates/.cursor/hooks/block-dangerous.sh +0 -84
  345. package/dist/templates/.cursor/hooks/caws-quality-check.sh +0 -52
  346. package/dist/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
  347. package/dist/templates/.cursor/hooks/format.sh +0 -38
  348. package/dist/templates/.cursor/hooks/naming-check.sh +0 -64
  349. package/dist/templates/.cursor/hooks/scan-secrets.sh +0 -51
  350. package/dist/templates/.cursor/hooks/scope-guard.sh +0 -52
  351. package/dist/templates/.cursor/hooks/session-log.sh +0 -924
  352. package/dist/templates/.cursor/hooks/validate-spec.sh +0 -83
  353. package/dist/templates/.cursor/hooks.json +0 -76
  354. package/dist/templates/.cursor/rules/00-claims-verification.mdc +0 -144
  355. package/dist/templates/.cursor/rules/01-working-style.mdc +0 -50
  356. package/dist/templates/.cursor/rules/02-quality-gates.mdc +0 -368
  357. package/dist/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
  358. package/dist/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
  359. package/dist/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
  360. package/dist/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
  361. package/dist/templates/.cursor/rules/07-process-ops.mdc +0 -20
  362. package/dist/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
  363. package/dist/templates/.cursor/rules/09-docstrings.mdc +0 -89
  364. package/dist/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
  365. package/dist/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
  366. package/dist/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
  367. package/dist/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
  368. package/dist/templates/.cursor/rules/README.md +0 -148
  369. package/dist/templates/.github/copilot-instructions.md +0 -82
  370. package/dist/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
  371. package/dist/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
  372. package/dist/templates/.junie/guidelines.md +0 -73
  373. package/dist/templates/.vscode/launch.json +0 -17
  374. package/dist/templates/.vscode/settings.json +0 -95
  375. package/dist/templates/.windsurf/rules/caws-quality-standards.md +0 -54
  376. package/dist/templates/.windsurf/workflows/caws-guided-development.md +0 -92
  377. package/dist/templates/CLAUDE.md +0 -196
  378. package/dist/templates/COMMIT_CONVENTIONS.md +0 -86
  379. package/dist/templates/OIDC_SETUP.md +0 -300
  380. package/dist/templates/agents.md +0 -171
  381. package/dist/templates/codemod/README.md +0 -1
  382. package/dist/templates/codemod/test.js +0 -93
  383. package/dist/templates/docs/README.md +0 -151
  384. package/dist/templates/scripts/new_feature.sh +0 -80
  385. package/dist/templates/scripts/quality-gates/check-god-objects.js +0 -146
  386. package/dist/templates/scripts/quality-gates/run-quality-gates.js +0 -50
  387. package/dist/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
  388. package/dist/test-analysis.js +0 -786
  389. package/dist/tool-interface.js +0 -314
  390. package/dist/tool-loader.js +0 -303
  391. package/dist/tool-validator.js +0 -393
  392. package/dist/utils/agent-display.js +0 -210
  393. package/dist/utils/agent-session.js +0 -344
  394. package/dist/utils/async-utils.js +0 -188
  395. package/dist/utils/command-wrapper.js +0 -200
  396. package/dist/utils/event-log.js +0 -584
  397. package/dist/utils/event-renderer.js +0 -521
  398. package/dist/utils/finalization.js +0 -230
  399. package/dist/utils/git-lock.js +0 -119
  400. package/dist/utils/gitignore-updater.js +0 -158
  401. package/dist/utils/ide-detection.js +0 -133
  402. package/dist/utils/lifecycle-events.js +0 -94
  403. package/dist/utils/project-analysis.js +0 -367
  404. package/dist/utils/promise-utils.js +0 -72
  405. package/dist/utils/quality-gates-errors.js +0 -520
  406. package/dist/utils/quality-gates-utils.js +0 -387
  407. package/dist/utils/schema-validator.js +0 -50
  408. package/dist/utils/spec-resolver.js +0 -711
  409. package/dist/utils/typescript-detector.js +0 -369
  410. package/dist/utils/working-state.js +0 -530
  411. package/dist/utils/yaml-validation.js +0 -156
  412. package/dist/validation/spec-validation.js +0 -924
  413. package/dist/waivers-manager.js +0 -732
  414. package/dist/worktree/worktree-manager.js +0 -1735
  415. package/templates/.caws/schemas/policy.schema.json +0 -117
  416. package/templates/.caws/schemas/scope.schema.json +0 -52
  417. package/templates/.caws/schemas/waivers.schema.json +0 -106
  418. package/templates/.caws/schemas/working-spec.schema.json +0 -340
  419. package/templates/.caws/schemas/worktrees.schema.json +0 -38
  420. package/templates/.caws/templates/working-spec.template.yml +0 -80
  421. package/templates/.caws/tools/README.md +0 -18
  422. package/templates/.caws/tools/scope-guard.js +0 -203
  423. package/templates/.caws/tools-allow.json +0 -331
  424. package/templates/.caws/waivers.yml +0 -19
  425. package/templates/.claude/README.md +0 -190
  426. package/templates/.claude/hooks/audit.sh +0 -121
  427. package/templates/.claude/hooks/block-dangerous.sh +0 -203
  428. package/templates/.claude/hooks/classify_command.py +0 -592
  429. package/templates/.claude/hooks/doc-frontmatter-check.sh +0 -173
  430. package/templates/.claude/hooks/lite-sprawl-check.sh +0 -145
  431. package/templates/.claude/hooks/naming-check.sh +0 -100
  432. package/templates/.claude/hooks/protected-paths.sh +0 -39
  433. package/templates/.claude/hooks/quality-check.sh +0 -81
  434. package/templates/.claude/hooks/scan-secrets.sh +0 -85
  435. package/templates/.claude/hooks/scope-guard.sh +0 -381
  436. package/templates/.claude/hooks/session-caws-status.sh +0 -117
  437. package/templates/.claude/hooks/session-log.sh +0 -634
  438. package/templates/.claude/hooks/simplification-guard.sh +0 -92
  439. package/templates/.claude/hooks/stop-worktree-check.sh +0 -46
  440. package/templates/.claude/hooks/test_classify_command.py +0 -370
  441. package/templates/.claude/hooks/test_wrapper_smoke.sh +0 -96
  442. package/templates/.claude/hooks/validate-spec.sh +0 -76
  443. package/templates/.claude/hooks/worktree-guard.sh +0 -220
  444. package/templates/.claude/hooks/worktree-write-guard.sh +0 -190
  445. package/templates/.claude/rules/git-safety.md +0 -26
  446. package/templates/.claude/rules/worktree-isolation.md +0 -101
  447. package/templates/.claude/settings.json +0 -141
  448. package/templates/.cursor/README.md +0 -299
  449. package/templates/.cursor/hooks/audit.sh +0 -55
  450. package/templates/.cursor/hooks/block-dangerous.sh +0 -84
  451. package/templates/.cursor/hooks/caws-quality-check.sh +0 -52
  452. package/templates/.cursor/hooks/caws-scope-guard.sh +0 -130
  453. package/templates/.cursor/hooks/format.sh +0 -38
  454. package/templates/.cursor/hooks/naming-check.sh +0 -64
  455. package/templates/.cursor/hooks/scan-secrets.sh +0 -51
  456. package/templates/.cursor/hooks/scope-guard.sh +0 -52
  457. package/templates/.cursor/hooks/session-log.sh +0 -924
  458. package/templates/.cursor/hooks/validate-spec.sh +0 -83
  459. package/templates/.cursor/hooks.json +0 -76
  460. package/templates/.cursor/rules/00-claims-verification.mdc +0 -144
  461. package/templates/.cursor/rules/01-working-style.mdc +0 -50
  462. package/templates/.cursor/rules/02-quality-gates.mdc +0 -368
  463. package/templates/.cursor/rules/03-naming-and-refactor.mdc +0 -33
  464. package/templates/.cursor/rules/04-logging-language-style.mdc +0 -23
  465. package/templates/.cursor/rules/05-safe-defaults-guards.mdc +0 -23
  466. package/templates/.cursor/rules/06-typescript-conventions.mdc +0 -36
  467. package/templates/.cursor/rules/07-process-ops.mdc +0 -20
  468. package/templates/.cursor/rules/08-solid-and-architecture.mdc +0 -16
  469. package/templates/.cursor/rules/09-docstrings.mdc +0 -89
  470. package/templates/.cursor/rules/10-documentation-quality-standards.mdc +0 -385
  471. package/templates/.cursor/rules/11-scope-management-waivers.mdc +0 -381
  472. package/templates/.cursor/rules/12-implementation-completeness.mdc +0 -516
  473. package/templates/.cursor/rules/13-language-agnostic-standards.mdc +0 -578
  474. package/templates/.cursor/rules/README.md +0 -148
  475. package/templates/.github/copilot-instructions.md +0 -82
  476. package/templates/.idea/runConfigurations/CAWS_Evaluate.xml +0 -5
  477. package/templates/.idea/runConfigurations/CAWS_Validate.xml +0 -5
  478. package/templates/.junie/guidelines.md +0 -73
  479. package/templates/.vscode/launch.json +0 -17
  480. package/templates/.vscode/settings.json +0 -95
  481. package/templates/.windsurf/rules/caws-quality-standards.md +0 -54
  482. package/templates/.windsurf/workflows/caws-guided-development.md +0 -92
  483. package/templates/CLAUDE.md +0 -196
  484. package/templates/COMMIT_CONVENTIONS.md +0 -86
  485. package/templates/OIDC_SETUP.md +0 -300
  486. package/templates/agents.md +0 -171
  487. package/templates/codemod/README.md +0 -1
  488. package/templates/codemod/test.js +0 -93
  489. package/templates/docs/README.md +0 -151
  490. package/templates/scripts/new_feature.sh +0 -80
  491. package/templates/scripts/quality-gates/check-god-objects.js +0 -146
  492. package/templates/scripts/quality-gates/run-quality-gates.js +0 -50
  493. package/templates/scripts/v3/analysis/todo_analyzer.py +0 -1997
@@ -1,80 +0,0 @@
1
- id: '{{FEATURE_ID}}'
2
- title: '{{FEATURE_TITLE}}'
3
- # Recommended when the spec belongs to a CAWS worktree:
4
- # worktree: '{{WORKTREE_NAME}}'
5
- risk_tier: {{TIER}}
6
- mode: feature
7
- blast_radius:
8
- modules: []
9
- data_migration: false
10
- operational_rollback_slo: "30m"
11
- scope:
12
- in:
13
- - '{{SCOPE_ITEM_1}}'
14
- - '{{SCOPE_ITEM_2}}'
15
- out:
16
- - '{{OUT_OF_SCOPE_ITEM_1}}'
17
- invariants:
18
- - '{{BUSINESS_RULE_1}}'
19
- - '{{BUSINESS_RULE_2}}'
20
- acceptance:
21
- - id: A1
22
- given: '{{GIVEN_CONDITION}}'
23
- when: '{{WHEN_ACTION}}'
24
- then: '{{THEN_OUTCOME}}'
25
- status: pending # pending | in_progress | completed
26
- # Optional: detailed progress tracking
27
- # tests:
28
- # written: 0
29
- # passing: 0
30
- # coverage: 0.0
31
- # last_updated: '2025-10-09T14:30:00Z'
32
- - id: A2
33
- given: '{{GIVEN_CONDITION_2}}'
34
- when: '{{WHEN_ACTION_2}}'
35
- then: '{{THEN_OUTCOME_2}}'
36
- status: pending # pending | in_progress | completed
37
- # Optional: detailed progress tracking
38
- # tests:
39
- # written: 0
40
- # passing: 0
41
- # coverage: 0.0
42
- # last_updated: '2025-10-09T14:30:00Z'
43
- non_functional:
44
- a11y:
45
- - '{{ACCESSIBILITY_REQUIREMENT}}'
46
- perf:
47
- api_p95_ms: {{PERF_BUDGET}}
48
- lcp_ms: {{LCP_BUDGET}}
49
- security:
50
- - '{{SECURITY_REQUIREMENT}}'
51
- contracts:
52
- - type: '{{CONTRACT_TYPE}}'
53
- path: '{{CONTRACT_PATH}}'
54
- observability:
55
- logs:
56
- - '{{LOG_STATEMENT}}'
57
- metrics:
58
- - '{{METRIC_NAME}}'
59
- traces:
60
- - '{{TRACE_SPAN}}'
61
- migrations:
62
- - '{{MIGRATION_DESCRIPTION}}'
63
- rollback:
64
- - '{{ROLLBACK_STRATEGY}}'
65
- # Optional: Enable for experimental features with reduced requirements
66
- # experiment_mode: true
67
- # timeboxed_hours: 24
68
-
69
- # Optional: AI confidence assessment
70
- # ai_assessment:
71
- # confidence_level: 8
72
- # uncertainty_areas: ["complex business logic", "performance implications"]
73
- # recommended_pairing: false
74
-
75
- # Optional: Human override for special cases (hotfixes, urgent changes)
76
- # human_override:
77
- # approved_by: "senior-dev-username"
78
- # reason: "Urgent production fix - bypassing mutation tests for immediate deployment"
79
- # waived_requirements: ["mutation_testing", "manual_review"]
80
- # expiry_date: "2025-10-01T00:00:00Z"
@@ -1,18 +0,0 @@
1
- # CAWS Tools
2
-
3
- This directory contains CAWS-specific tools that aren't available in the CLI.
4
-
5
- ## scope-guard.js
6
-
7
- Checks whether a file is within scope of active working-spec and feature specs. Used by Cursor hooks for scope validation on file attachments.
8
-
9
- ```bash
10
- # Check if a file is in scope
11
- node .caws/tools/scope-guard.js check src/index.js
12
-
13
- # Exit code 0 = in scope, 1 = out of scope
14
- ```
15
-
16
- **Usage in Cursor Hooks:**
17
-
18
- The `.cursor/hooks/scope-guard.sh` hook automatically uses this tool to validate file attachments against working spec scope boundaries.
@@ -1,203 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * @fileoverview CAWS Scope Guard (file-level)
5
- * Checks whether a given file path is within scope of active specs.
6
- * Used by Cursor hooks for scope validation on file attachments.
7
- * @author @darianrosebrook
8
- */
9
-
10
- const fs = require('fs');
11
- const path = require('path');
12
-
13
- /**
14
- * Convert a glob pattern to a RegExp, handling **, *, ?, [abc], {a,b}
15
- */
16
- function globToRegex(pattern) {
17
- let i = 0, re = '';
18
- while (i < pattern.length) {
19
- const c = pattern[i];
20
- if (c === '*' && pattern[i + 1] === '*') {
21
- re += '.*'; i += 2;
22
- if (pattern[i] === '/') i++; // skip trailing slash after **
23
- } else if (c === '*') {
24
- re += '[^/]*'; i++;
25
- } else if (c === '?') {
26
- re += '[^/]'; i++;
27
- } else if (c === '[') {
28
- const end = pattern.indexOf(']', i);
29
- if (end > i) { re += pattern.slice(i, end + 1); i = end + 1; }
30
- else { re += '\\['; i++; }
31
- } else if (c === '{') {
32
- const end = pattern.indexOf('}', i);
33
- if (end > i) {
34
- const alts = pattern.slice(i + 1, end).split(',').map(a => a.trim());
35
- re += '(?:' + alts.join('|') + ')'; i = end + 1;
36
- } else { re += '\\{'; i++; }
37
- } else if ('.+^$|()'.includes(c)) {
38
- re += '\\' + c; i++;
39
- } else {
40
- re += c; i++;
41
- }
42
- }
43
- return new RegExp(re);
44
- }
45
-
46
- const TERMINAL = new Set(['completed', 'closed', 'archived']);
47
-
48
- /**
49
- * Check if a file is within scope of active specs.
50
- * @param {string} filePath - Relative path from project root
51
- * @param {string} projectDir - Project root directory
52
- * @returns {{inScope: boolean, reason: string}}
53
- */
54
- function checkFileScope(filePath, projectDir) {
55
- // Smart allowlist: root-level files, .caws/, .claude/ always pass
56
- if (!filePath.includes('/') || filePath.startsWith('.caws/') || filePath.startsWith('.claude/')) {
57
- return { inScope: true, reason: 'allowlisted path' };
58
- }
59
-
60
- const specFile = path.join(projectDir, '.caws/working-spec.yaml');
61
- const specsDir = path.join(projectDir, '.caws/specs');
62
-
63
- if (!fs.existsSync(specFile) && !fs.existsSync(specsDir)) {
64
- return { inScope: true, reason: 'no specs found' };
65
- }
66
-
67
- // Load all active specs
68
- let yaml;
69
- try { yaml = require('js-yaml'); } catch (_) {
70
- return { inScope: true, reason: 'js-yaml not available' };
71
- }
72
-
73
- // --- Authoritative spec detection ---
74
- // If inside a worktree with a mutual spec binding, only check that spec.
75
- let authoritativeSpec = null;
76
- let mode = 'union';
77
-
78
- const registryPath = path.join(projectDir, '.caws', 'worktrees.json');
79
- const worktreesBase = path.join(projectDir, '.caws', 'worktrees');
80
- const cwd = process.cwd();
81
-
82
- if (cwd.startsWith(worktreesBase + path.sep)) {
83
- const relative = path.relative(worktreesBase, cwd);
84
- const worktreeName = relative.split(path.sep)[0];
85
-
86
- if (worktreeName && fs.existsSync(registryPath)) {
87
- try {
88
- const reg = JSON.parse(fs.readFileSync(registryPath, 'utf8'));
89
- const entry = reg.worktrees && reg.worktrees[worktreeName];
90
-
91
- if (entry && entry.specId) {
92
- const specCandidates = [
93
- path.join(specsDir, entry.specId + '.yaml'),
94
- path.join(specsDir, entry.specId + '.yml'),
95
- ];
96
- for (const candidate of specCandidates) {
97
- if (fs.existsSync(candidate)) {
98
- try {
99
- const s = yaml.load(fs.readFileSync(candidate, 'utf8'));
100
- if (s && !TERMINAL.has(s.status) && s.worktree === worktreeName) {
101
- authoritativeSpec = { source: path.basename(candidate), spec: s };
102
- mode = 'authoritative';
103
- }
104
- } catch (_) {}
105
- break;
106
- }
107
- }
108
- }
109
- } catch (_) {}
110
- }
111
- }
112
-
113
- // --- Collect specs based on mode ---
114
- const specs = [];
115
-
116
- if (authoritativeSpec) {
117
- specs.push(authoritativeSpec);
118
- } else {
119
- if (fs.existsSync(specFile)) {
120
- try {
121
- const s = yaml.load(fs.readFileSync(specFile, 'utf8'));
122
- if (s && !TERMINAL.has(s.status)) {
123
- specs.push({ source: 'working-spec', spec: s });
124
- }
125
- } catch (_) {}
126
- }
127
-
128
- if (fs.existsSync(specsDir)) {
129
- for (const f of fs.readdirSync(specsDir).filter(f => f.endsWith('.yaml') || f.endsWith('.yml'))) {
130
- try {
131
- const s = yaml.load(fs.readFileSync(path.join(specsDir, f), 'utf8'));
132
- if (s && !TERMINAL.has(s.status)) {
133
- specs.push({ source: f, spec: s });
134
- }
135
- } catch (_) {}
136
- }
137
- }
138
- }
139
-
140
- if (specs.length === 0) {
141
- return { inScope: true, reason: 'no active specs' };
142
- }
143
-
144
- // Check scope.out — any match blocks
145
- for (const { source, spec } of specs) {
146
- for (const pattern of (spec.scope?.out || [])) {
147
- if (globToRegex(pattern).test(filePath)) {
148
- const modeHint = mode === 'union'
149
- ? '. No authoritative spec bound — checking all active specs. Fix: caws worktree bind <spec-id>'
150
- : '';
151
- return { inScope: false, reason: `out-of-scope in ${source} (pattern: ${pattern})${modeHint}` };
152
- }
153
- }
154
- }
155
-
156
- // scope.in — must match at least one
157
- const allIn = specs.flatMap(({ spec }) => spec.scope?.in || []);
158
- if (allIn.length > 0) {
159
- const found = allIn.some(pattern => globToRegex(pattern).test(filePath));
160
- if (!found) {
161
- const modeHint = mode === 'union'
162
- ? '. No authoritative spec bound — checking all active specs. Fix: caws worktree bind <spec-id>'
163
- : '';
164
- return { inScope: false, reason: `not in any active spec scope.in${modeHint}` };
165
- }
166
- }
167
-
168
- return { inScope: true, reason: 'in scope' };
169
- }
170
-
171
- // CLI interface
172
- if (require.main === module) {
173
- const command = process.argv[2];
174
- const filePath = process.argv[3];
175
-
176
- if (command === 'check' && filePath) {
177
- // Resolve relative to cwd
178
- const projectDir = process.cwd();
179
- const rel = filePath.startsWith(projectDir)
180
- ? filePath.slice(projectDir.length + 1)
181
- : filePath;
182
-
183
- const result = checkFileScope(rel, projectDir);
184
- if (result.inScope) {
185
- console.log(`in_scope: ${result.reason}`);
186
- process.exit(0);
187
- } else {
188
- console.error(`out_of_scope: ${result.reason}`);
189
- process.exit(1);
190
- }
191
- } else {
192
- console.log('CAWS Scope Guard');
193
- console.log('Usage:');
194
- console.log(' node scope-guard.js check <file-path>');
195
- console.log('');
196
- console.log('Examples:');
197
- console.log(' node scope-guard.js check src/index.js');
198
- console.log(' node scope-guard.js check packages/cli/lib/main.ts');
199
- process.exit(1);
200
- }
201
- }
202
-
203
- module.exports = { checkFileScope, globToRegex };
@@ -1,331 +0,0 @@
1
- [
2
- "node",
3
- "npm",
4
- "yarn",
5
- "pnpm",
6
- "git",
7
- "docker",
8
- "kubectl",
9
- "aws",
10
- "azure",
11
- "gcloud",
12
- "terraform",
13
- "ansible",
14
- "curl",
15
- "wget",
16
- "grep",
17
- "sed",
18
- "awk",
19
- "bash",
20
- "sh",
21
- "zsh",
22
- "fish",
23
- "python",
24
- "python3",
25
- "pip",
26
- "pip3",
27
- "virtualenv",
28
- "conda",
29
- "java",
30
- "javac",
31
- "gradle",
32
- "maven",
33
- "go",
34
- "gofmt",
35
- "rust",
36
- "cargo",
37
- "rustfmt",
38
- "clippy",
39
- "ruby",
40
- "gem",
41
- "bundle",
42
- "rbenv",
43
- "php",
44
- "composer",
45
- "dotnet",
46
- "nuget",
47
- "swift",
48
- "xcodebuild",
49
- "make",
50
- "cmake",
51
- "ninja",
52
- "gcc",
53
- "clang",
54
- "ld",
55
- "ar",
56
- "strip",
57
- "objdump",
58
- "nm",
59
- "readelf",
60
- "file",
61
- "hexdump",
62
- "xxd",
63
- "base64",
64
- "openssl",
65
- "ssh",
66
- "scp",
67
- "rsync",
68
- "tar",
69
- "gzip",
70
- "bzip2",
71
- "xz",
72
- "zip",
73
- "unzip",
74
- "7z",
75
- "jq",
76
- "yq",
77
- "xmlstarlet",
78
- "html-xml-utils",
79
- "pandoc",
80
- "asciidoc",
81
- "rst2html",
82
- "markdown",
83
- "remark",
84
- "prettier",
85
- "eslint",
86
- "tslint",
87
- "stylelint",
88
- "htmlhint",
89
- "csslint",
90
- "jsonlint",
91
- "yamllint",
92
- "shellcheck",
93
- "hadolint",
94
- "dockerfile_lint",
95
- "markdownlint",
96
- "proselint",
97
- "vale",
98
- "alex",
99
- "write-good",
100
- "textlint",
101
- "redpen",
102
- "languagetool",
103
- "grammarly",
104
- "codespell",
105
- "typos",
106
- "aspell",
107
- "hunspell",
108
- "sort",
109
- "uniq",
110
- "cut",
111
- "paste",
112
- "join",
113
- "split",
114
- "tr",
115
- "column",
116
- "fold",
117
- "fmt",
118
- "pr",
119
- "head",
120
- "tail",
121
- "wc",
122
- "nl",
123
- "od",
124
- "strings",
125
- "iconv",
126
- "dos2unix",
127
- "unix2dos",
128
- "mac2unix",
129
- "unix2mac",
130
- "pbcopy",
131
- "pbpaste",
132
- "xclip",
133
- "xsel",
134
- "tmux",
135
- "screen",
136
- "vim",
137
- "nvim",
138
- "emacs",
139
- "nano",
140
- "micro",
141
- "code",
142
- "atom",
143
- "sublime",
144
- "vimr",
145
- "macvim",
146
- "gvim",
147
- "vscode",
148
- "intellij",
149
- "pycharm",
150
- "webstorm",
151
- "phpstorm",
152
- "rubymine",
153
- "clion",
154
- "goland",
155
- "rider",
156
- "datagrip",
157
- "android-studio",
158
- "xcode",
159
- "eclipse",
160
- "netbeans",
161
- "idea",
162
- "studio",
163
- "vs",
164
- "visualstudio",
165
- "monodevelop",
166
- "xamarin",
167
- "rider",
168
- "resharper",
169
- "testcafe",
170
- "cypress",
171
- "playwright",
172
- "puppeteer",
173
- "selenium",
174
- "webdriver",
175
- "jest",
176
- "mocha",
177
- "jasmine",
178
- "karma",
179
- "vitest",
180
- "testing-library",
181
- "enzyme",
182
- "react-testing-library",
183
- "vue-test-utils",
184
- "angular-testing-library",
185
- "svelte-testing-library",
186
- "lit-testing-library",
187
- "ember-testing",
188
- "backbone-testing",
189
- "jquery-testing",
190
- "dojo-testing",
191
- "dojo",
192
- "mootools",
193
- "prototype",
194
- "yui",
195
- "extjs",
196
- "sencha",
197
- "backbone",
198
- "marionette",
199
- "chaplin",
200
- "thorax",
201
- "handlebars",
202
- "mustache",
203
- "underscore",
204
- "lodash",
205
- "ramda",
206
- "functional",
207
- "lazy",
208
- "bluebird",
209
- "q",
210
- "deferred",
211
- "async",
212
- "await",
213
- "generator",
214
- "co",
215
- "redux",
216
- "mobx",
217
- "flux",
218
- "reflux",
219
- "alt",
220
- "flummox",
221
- "delorean",
222
- "cerebral",
223
- "kea",
224
- "zustand",
225
- "jotai",
226
- "recoil",
227
- "valtio",
228
- "effector",
229
- "xstate",
230
- "robot",
231
- "easy-peasy",
232
- "pullstate",
233
- "akita",
234
- "ngrx",
235
- "ngxs",
236
- "akita",
237
- "elf",
238
- "pinia",
239
- "overmind",
240
- "stately",
241
- "context",
242
- "useContext",
243
- "useReducer",
244
- "useState",
245
- "useEffect",
246
- "useMemo",
247
- "useCallback",
248
- "useRef",
249
- "useImperativeHandle",
250
- "useLayoutEffect",
251
- "useDebugValue",
252
- "useDeferredValue",
253
- "useTransition",
254
- "useId",
255
- "useSyncExternalStore",
256
- "createContext",
257
- "createElement",
258
- "cloneElement",
259
- "isValidElement",
260
- "ReactDOM",
261
- "render",
262
- "hydrate",
263
- "createRoot",
264
- "unmountComponentAtNode",
265
- "findDOMNode",
266
- "createPortal",
267
- "unstable_batchedUpdates",
268
- "flushSync",
269
- "React",
270
- "Component",
271
- "PureComponent",
272
- "memo",
273
- "lazy",
274
- "Suspense",
275
- "ErrorBoundary",
276
- "Profiler",
277
- "StrictMode",
278
- "Fragment",
279
- "createRef",
280
- "forwardRef",
281
- "createContext",
282
- "createElement",
283
- "cloneElement",
284
- "isValidElement",
285
- "Children",
286
- "map",
287
- "forEach",
288
- "count",
289
- "only",
290
- "toArray",
291
- "ReactDOM",
292
- "render",
293
- "hydrate",
294
- "createRoot",
295
- "unmountComponentAtNode",
296
- "findDOMNode",
297
- "createPortal",
298
- "unstable_batchedUpdates",
299
- "flushSync",
300
- "React",
301
- "Component",
302
- "PureComponent",
303
- "memo",
304
- "lazy",
305
- "Suspense",
306
- "ErrorBoundary",
307
- "Profiler",
308
- "StrictMode",
309
- "Fragment",
310
- "createRef",
311
- "forwardRef",
312
- "createContext",
313
- "createElement",
314
- "cloneElement",
315
- "isValidElement",
316
- "Children",
317
- "map",
318
- "forEach",
319
- "count",
320
- "only",
321
- "toArray",
322
- "ReactDOM",
323
- "render",
324
- "hydrate",
325
- "createRoot",
326
- "unmountComponentAtNode",
327
- "findDOMNode",
328
- "createPortal",
329
- "unstable_batchedUpdates",
330
- "flushSync"
331
- ]
@@ -1,19 +0,0 @@
1
- waivers:
2
- # Example waiver for urgent fixes
3
- # - id: "HOTFIX-001"
4
- # description: "Urgent security fix - mutation testing waived"
5
- # gates: ["mutation", "coverage"]
6
- # reason: "urgent_fix"
7
- # approver: "senior-dev"
8
- # expires_at: "2025-10-07T10:00:00.000Z"
9
- # projects: ["FEAT-1234"]
10
- # max_trust_score: 79
11
-
12
- # Example waiver for experimental features
13
- # - id: "EXP-001"
14
- # description: "Experimental feature - relaxed testing"
15
- # gates: ["mutation", "contracts"]
16
- # reason: "experimental"
17
- # approver: "tech-lead"
18
- # expires_at: "2025-10-14T10:00:00.000Z"
19
- # max_trust_score: 75