@paths.design/caws-cli 9.3.2 → 10.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 (286) hide show
  1. package/README.md +71 -32
  2. package/dist/budget-derivation.js +221 -74
  3. package/dist/commands/archive.js +67 -28
  4. package/dist/commands/burnup.js +20 -11
  5. package/dist/commands/diagnose.js +34 -22
  6. package/dist/commands/evaluate.js +41 -15
  7. package/dist/commands/gates.js +149 -0
  8. package/dist/commands/init.js +150 -19
  9. package/dist/commands/iterate.js +81 -4
  10. package/dist/commands/parallel.js +4 -0
  11. package/dist/commands/plan.js +9 -19
  12. package/dist/commands/provenance.js +53 -17
  13. package/dist/commands/quality-monitor.js +64 -45
  14. package/dist/commands/scope.js +264 -0
  15. package/dist/commands/sidecar.js +74 -0
  16. package/dist/commands/specs.js +381 -45
  17. package/dist/commands/status.js +117 -9
  18. package/dist/commands/templates.js +0 -8
  19. package/dist/commands/tutorial.js +10 -9
  20. package/dist/commands/validate.js +70 -6
  21. package/dist/commands/verify-acs.js +48 -76
  22. package/dist/commands/waivers.js +212 -13
  23. package/dist/commands/worktree.js +131 -26
  24. package/dist/error-handler.js +2 -13
  25. package/dist/gates/budget-limit.js +121 -0
  26. package/dist/gates/feedback.js +260 -0
  27. package/dist/gates/format.js +179 -0
  28. package/dist/gates/god-object.js +117 -0
  29. package/dist/gates/pipeline.js +167 -0
  30. package/dist/gates/scope-boundary.js +93 -0
  31. package/dist/gates/spec-completeness.js +109 -0
  32. package/dist/gates/todo-detection.js +205 -0
  33. package/dist/index.js +157 -151
  34. package/dist/parallel/parallel-manager.js +3 -3
  35. package/dist/policy/PolicyManager.js +51 -17
  36. package/dist/scaffold/claude-hooks.js +24 -1
  37. package/dist/scaffold/git-hooks.js +45 -102
  38. package/dist/scaffold/index.js +4 -3
  39. package/dist/session/session-manager.js +105 -14
  40. package/dist/sidecars/index.js +33 -0
  41. package/dist/sidecars/listeners.js +40 -0
  42. package/dist/sidecars/provenance-summary.js +238 -0
  43. package/dist/sidecars/quality-gaps.js +258 -0
  44. package/dist/sidecars/schema.js +149 -0
  45. package/dist/sidecars/spec-drift.js +151 -0
  46. package/dist/sidecars/waiver-draft.js +176 -0
  47. package/dist/templates/.caws/schemas/policy.schema.json +112 -0
  48. package/dist/templates/.caws/schemas/scope.schema.json +3 -3
  49. package/dist/templates/.caws/schemas/waivers.schema.json +96 -20
  50. package/dist/templates/.caws/schemas/working-spec.schema.json +264 -57
  51. package/dist/templates/.caws/schemas/worktrees.schema.json +3 -1
  52. package/dist/templates/.caws/templates/working-spec.template.yml +10 -4
  53. package/dist/templates/.caws/tools/scope-guard.js +66 -15
  54. package/dist/templates/.claude/README.md +1 -1
  55. package/dist/templates/.claude/hooks/audit.sh +0 -0
  56. package/dist/templates/.claude/hooks/block-dangerous.sh +52 -11
  57. package/dist/templates/.claude/hooks/classify_command.py +592 -0
  58. package/dist/templates/.claude/hooks/doc-frontmatter-check.sh +173 -0
  59. package/dist/templates/.claude/hooks/protected-paths.sh +39 -0
  60. package/dist/templates/.claude/hooks/quality-check.sh +23 -10
  61. package/dist/templates/.claude/hooks/scope-guard.sh +136 -55
  62. package/dist/templates/.claude/hooks/session-caws-status.sh +2 -2
  63. package/dist/templates/.claude/hooks/session-log.sh +76 -3
  64. package/dist/templates/.claude/hooks/stop-worktree-check.sh +1 -1
  65. package/dist/templates/.claude/hooks/test_classify_command.py +370 -0
  66. package/dist/templates/.claude/hooks/test_wrapper_smoke.sh +96 -0
  67. package/dist/templates/.claude/hooks/worktree-guard.sh +2 -2
  68. package/dist/templates/.claude/hooks/worktree-write-guard.sh +97 -4
  69. package/dist/templates/.claude/settings.json +31 -0
  70. package/dist/templates/.cursor/hooks/caws-quality-check.sh +4 -4
  71. package/dist/templates/.cursor/hooks/caws-scope-guard.sh +1 -1
  72. package/dist/templates/.cursor/hooks/session-log.sh +924 -0
  73. package/dist/templates/.cursor/hooks.json +25 -0
  74. package/dist/templates/.cursor/rules/02-quality-gates.mdc +3 -5
  75. package/dist/templates/.cursor/rules/10-documentation-quality-standards.mdc +6 -11
  76. package/dist/templates/.cursor/rules/11-scope-management-waivers.mdc +14 -18
  77. package/dist/templates/.cursor/rules/12-implementation-completeness.mdc +4 -4
  78. package/dist/templates/.cursor/rules/13-language-agnostic-standards.mdc +3 -13
  79. package/dist/templates/.github/copilot-instructions.md +5 -5
  80. package/dist/templates/.idea/runConfigurations/CAWS_Evaluate.xml +1 -1
  81. package/dist/templates/.junie/guidelines.md +2 -2
  82. package/dist/templates/.vscode/settings.json +3 -1
  83. package/dist/templates/.windsurf/rules/caws-quality-standards.md +2 -2
  84. package/dist/templates/.windsurf/workflows/caws-guided-development.md +3 -3
  85. package/dist/templates/CLAUDE.md +77 -8
  86. package/dist/templates/agents.md +50 -9
  87. package/dist/templates/docs/README.md +8 -7
  88. package/dist/templates/scripts/new_feature.sh +80 -0
  89. package/dist/test-analysis.js +43 -30
  90. package/dist/tool-loader.js +1 -1
  91. package/dist/utils/agent-session.js +202 -0
  92. package/dist/utils/detection.js +8 -2
  93. package/dist/utils/event-log.js +584 -0
  94. package/dist/utils/event-renderer.js +521 -0
  95. package/dist/utils/finalization.js +7 -6
  96. package/dist/utils/gitignore-updater.js +3 -0
  97. package/dist/utils/lifecycle-events.js +94 -0
  98. package/dist/utils/quality-gates-utils.js +29 -44
  99. package/dist/utils/schema-validator.js +50 -0
  100. package/dist/utils/spec-resolver.js +93 -21
  101. package/dist/utils/working-state.js +530 -0
  102. package/dist/validation/spec-validation.js +191 -31
  103. package/dist/waivers-manager.js +144 -6
  104. package/dist/worktree/worktree-manager.js +598 -95
  105. package/package.json +9 -8
  106. package/templates/.caws/schemas/policy.schema.json +112 -0
  107. package/templates/.caws/schemas/scope.schema.json +3 -3
  108. package/templates/.caws/schemas/waivers.schema.json +96 -20
  109. package/templates/.caws/schemas/working-spec.schema.json +264 -57
  110. package/templates/.caws/schemas/worktrees.schema.json +3 -1
  111. package/templates/.caws/templates/working-spec.template.yml +10 -4
  112. package/templates/.caws/tools/scope-guard.js +66 -15
  113. package/templates/.claude/README.md +1 -1
  114. package/templates/.claude/hooks/block-dangerous.sh +52 -11
  115. package/templates/.claude/hooks/classify_command.py +592 -0
  116. package/templates/.claude/hooks/doc-frontmatter-check.sh +173 -0
  117. package/templates/.claude/hooks/protected-paths.sh +39 -0
  118. package/templates/.claude/hooks/quality-check.sh +23 -10
  119. package/templates/.claude/hooks/scope-guard.sh +136 -55
  120. package/templates/.claude/hooks/session-caws-status.sh +2 -2
  121. package/templates/.claude/hooks/session-log.sh +76 -3
  122. package/templates/.claude/hooks/stop-worktree-check.sh +1 -1
  123. package/templates/.claude/hooks/test_classify_command.py +370 -0
  124. package/templates/.claude/hooks/test_wrapper_smoke.sh +96 -0
  125. package/templates/.claude/hooks/worktree-guard.sh +2 -2
  126. package/templates/.claude/hooks/worktree-write-guard.sh +97 -4
  127. package/templates/.claude/settings.json +31 -0
  128. package/templates/.cursor/hooks/caws-quality-check.sh +4 -4
  129. package/templates/.cursor/hooks/caws-scope-guard.sh +1 -1
  130. package/templates/.cursor/hooks/session-log.sh +924 -0
  131. package/templates/.cursor/hooks.json +25 -0
  132. package/templates/.cursor/rules/02-quality-gates.mdc +3 -5
  133. package/templates/.cursor/rules/10-documentation-quality-standards.mdc +6 -11
  134. package/templates/.cursor/rules/11-scope-management-waivers.mdc +14 -18
  135. package/templates/.cursor/rules/12-implementation-completeness.mdc +4 -4
  136. package/templates/.cursor/rules/13-language-agnostic-standards.mdc +3 -13
  137. package/templates/.github/copilot-instructions.md +5 -5
  138. package/templates/.idea/runConfigurations/CAWS_Evaluate.xml +1 -1
  139. package/templates/.junie/guidelines.md +2 -2
  140. package/templates/.vscode/settings.json +3 -1
  141. package/templates/.windsurf/rules/caws-quality-standards.md +2 -2
  142. package/templates/.windsurf/workflows/caws-guided-development.md +3 -3
  143. package/templates/CLAUDE.md +77 -8
  144. package/templates/{AGENTS.md → agents.md} +50 -9
  145. package/templates/docs/README.md +8 -7
  146. package/templates/scripts/new_feature.sh +80 -0
  147. package/dist/budget-derivation.d.ts +0 -74
  148. package/dist/budget-derivation.d.ts.map +0 -1
  149. package/dist/cicd-optimizer.d.ts +0 -142
  150. package/dist/cicd-optimizer.d.ts.map +0 -1
  151. package/dist/commands/archive.d.ts +0 -51
  152. package/dist/commands/archive.d.ts.map +0 -1
  153. package/dist/commands/burnup.d.ts +0 -6
  154. package/dist/commands/burnup.d.ts.map +0 -1
  155. package/dist/commands/diagnose.d.ts +0 -52
  156. package/dist/commands/diagnose.d.ts.map +0 -1
  157. package/dist/commands/evaluate.d.ts +0 -8
  158. package/dist/commands/evaluate.d.ts.map +0 -1
  159. package/dist/commands/init.d.ts +0 -5
  160. package/dist/commands/init.d.ts.map +0 -1
  161. package/dist/commands/iterate.d.ts +0 -8
  162. package/dist/commands/iterate.d.ts.map +0 -1
  163. package/dist/commands/mode.d.ts +0 -25
  164. package/dist/commands/mode.d.ts.map +0 -1
  165. package/dist/commands/parallel.d.ts +0 -7
  166. package/dist/commands/parallel.d.ts.map +0 -1
  167. package/dist/commands/plan.d.ts +0 -49
  168. package/dist/commands/plan.d.ts.map +0 -1
  169. package/dist/commands/provenance.d.ts +0 -32
  170. package/dist/commands/provenance.d.ts.map +0 -1
  171. package/dist/commands/quality-gates.d.ts +0 -6
  172. package/dist/commands/quality-gates.d.ts.map +0 -1
  173. package/dist/commands/quality-gates.js +0 -444
  174. package/dist/commands/quality-monitor.d.ts +0 -17
  175. package/dist/commands/quality-monitor.d.ts.map +0 -1
  176. package/dist/commands/session.d.ts +0 -7
  177. package/dist/commands/session.d.ts.map +0 -1
  178. package/dist/commands/specs.d.ts +0 -77
  179. package/dist/commands/specs.d.ts.map +0 -1
  180. package/dist/commands/status.d.ts +0 -44
  181. package/dist/commands/status.d.ts.map +0 -1
  182. package/dist/commands/templates.d.ts +0 -74
  183. package/dist/commands/templates.d.ts.map +0 -1
  184. package/dist/commands/tool.d.ts +0 -13
  185. package/dist/commands/tool.d.ts.map +0 -1
  186. package/dist/commands/troubleshoot.d.ts +0 -8
  187. package/dist/commands/troubleshoot.d.ts.map +0 -1
  188. package/dist/commands/troubleshoot.js +0 -104
  189. package/dist/commands/tutorial.d.ts +0 -55
  190. package/dist/commands/tutorial.d.ts.map +0 -1
  191. package/dist/commands/validate.d.ts +0 -15
  192. package/dist/commands/validate.d.ts.map +0 -1
  193. package/dist/commands/waivers.d.ts +0 -8
  194. package/dist/commands/waivers.d.ts.map +0 -1
  195. package/dist/commands/workflow.d.ts +0 -85
  196. package/dist/commands/workflow.d.ts.map +0 -1
  197. package/dist/commands/worktree.d.ts +0 -7
  198. package/dist/commands/worktree.d.ts.map +0 -1
  199. package/dist/config/index.d.ts +0 -29
  200. package/dist/config/index.d.ts.map +0 -1
  201. package/dist/config/lite-scope.d.ts +0 -33
  202. package/dist/config/lite-scope.d.ts.map +0 -1
  203. package/dist/config/modes.d.ts +0 -264
  204. package/dist/config/modes.d.ts.map +0 -1
  205. package/dist/constants/spec-types.d.ts +0 -93
  206. package/dist/constants/spec-types.d.ts.map +0 -1
  207. package/dist/error-handler.d.ts +0 -151
  208. package/dist/error-handler.d.ts.map +0 -1
  209. package/dist/generators/jest-config-generator.d.ts +0 -32
  210. package/dist/generators/jest-config-generator.d.ts.map +0 -1
  211. package/dist/generators/jest-config.d.ts +0 -32
  212. package/dist/generators/jest-config.d.ts.map +0 -1
  213. package/dist/generators/jest-config.js +0 -242
  214. package/dist/generators/working-spec.d.ts +0 -13
  215. package/dist/generators/working-spec.d.ts.map +0 -1
  216. package/dist/index-new.d.ts +0 -5
  217. package/dist/index-new.d.ts.map +0 -1
  218. package/dist/index-new.js +0 -317
  219. package/dist/index.d.ts +0 -5
  220. package/dist/index.d.ts.map +0 -1
  221. package/dist/index.js.backup +0 -4711
  222. package/dist/minimal-cli.d.ts +0 -3
  223. package/dist/minimal-cli.d.ts.map +0 -1
  224. package/dist/parallel/parallel-manager.d.ts +0 -67
  225. package/dist/parallel/parallel-manager.d.ts.map +0 -1
  226. package/dist/policy/PolicyManager.d.ts +0 -104
  227. package/dist/policy/PolicyManager.d.ts.map +0 -1
  228. package/dist/scaffold/claude-hooks.d.ts +0 -28
  229. package/dist/scaffold/claude-hooks.d.ts.map +0 -1
  230. package/dist/scaffold/cursor-hooks.d.ts +0 -7
  231. package/dist/scaffold/cursor-hooks.d.ts.map +0 -1
  232. package/dist/scaffold/git-hooks.d.ts +0 -38
  233. package/dist/scaffold/git-hooks.d.ts.map +0 -1
  234. package/dist/scaffold/index.d.ts +0 -17
  235. package/dist/scaffold/index.d.ts.map +0 -1
  236. package/dist/session/session-manager.d.ts +0 -94
  237. package/dist/session/session-manager.d.ts.map +0 -1
  238. package/dist/spec/SpecFileManager.d.ts +0 -146
  239. package/dist/spec/SpecFileManager.d.ts.map +0 -1
  240. package/dist/templates/.cursor/hooks/caws-tool-validation.sh +0 -121
  241. package/dist/templates/.github/copilot/instructions.md +0 -311
  242. package/dist/test-analysis.d.ts +0 -231
  243. package/dist/test-analysis.d.ts.map +0 -1
  244. package/dist/tool-interface.d.ts +0 -236
  245. package/dist/tool-interface.d.ts.map +0 -1
  246. package/dist/tool-loader.d.ts +0 -77
  247. package/dist/tool-loader.d.ts.map +0 -1
  248. package/dist/tool-validator.d.ts +0 -72
  249. package/dist/tool-validator.d.ts.map +0 -1
  250. package/dist/utils/async-utils.d.ts +0 -73
  251. package/dist/utils/async-utils.d.ts.map +0 -1
  252. package/dist/utils/command-wrapper.d.ts +0 -66
  253. package/dist/utils/command-wrapper.d.ts.map +0 -1
  254. package/dist/utils/detection.d.ts +0 -14
  255. package/dist/utils/detection.d.ts.map +0 -1
  256. package/dist/utils/error-categories.d.ts +0 -52
  257. package/dist/utils/error-categories.d.ts.map +0 -1
  258. package/dist/utils/finalization.d.ts +0 -17
  259. package/dist/utils/finalization.d.ts.map +0 -1
  260. package/dist/utils/git-lock.d.ts +0 -13
  261. package/dist/utils/git-lock.d.ts.map +0 -1
  262. package/dist/utils/gitignore-updater.d.ts +0 -39
  263. package/dist/utils/gitignore-updater.d.ts.map +0 -1
  264. package/dist/utils/ide-detection.d.ts +0 -89
  265. package/dist/utils/ide-detection.d.ts.map +0 -1
  266. package/dist/utils/project-analysis.d.ts +0 -34
  267. package/dist/utils/project-analysis.d.ts.map +0 -1
  268. package/dist/utils/promise-utils.d.ts +0 -30
  269. package/dist/utils/promise-utils.d.ts.map +0 -1
  270. package/dist/utils/quality-gates-utils.d.ts +0 -49
  271. package/dist/utils/quality-gates-utils.d.ts.map +0 -1
  272. package/dist/utils/quality-gates.d.ts +0 -49
  273. package/dist/utils/quality-gates.d.ts.map +0 -1
  274. package/dist/utils/quality-gates.js +0 -402
  275. package/dist/utils/spec-resolver.d.ts +0 -80
  276. package/dist/utils/spec-resolver.d.ts.map +0 -1
  277. package/dist/utils/typescript-detector.d.ts +0 -66
  278. package/dist/utils/typescript-detector.d.ts.map +0 -1
  279. package/dist/utils/yaml-validation.d.ts +0 -32
  280. package/dist/utils/yaml-validation.d.ts.map +0 -1
  281. package/dist/validation/spec-validation.d.ts +0 -43
  282. package/dist/validation/spec-validation.d.ts.map +0 -1
  283. package/dist/waivers-manager.d.ts +0 -167
  284. package/dist/waivers-manager.d.ts.map +0 -1
  285. package/dist/worktree/worktree-manager.d.ts +0 -54
  286. package/dist/worktree/worktree-manager.d.ts.map +0 -1
@@ -0,0 +1,80 @@
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,74 +0,0 @@
1
- /**
2
- * Derive budget for a working spec based on policy and waivers
3
- * Enhanced to use PolicyManager for caching
4
- * @param {Object} spec - Working spec object
5
- * @param {string} projectRoot - Project root directory
6
- * @param {Object} options - Derivation options
7
- * @param {boolean} options.useCache - Use cached policy (default: true)
8
- * @returns {Object} Derived budget with baseline and effective limits
9
- */
10
- export function deriveBudget(spec: any, projectRoot?: string, options?: {
11
- useCache: boolean;
12
- }): any;
13
- /**
14
- * Load a waiver by ID
15
- * Enhanced with structure validation and detailed error reporting
16
- * @param {string} waiverId - Waiver ID (e.g., WV-0001)
17
- * @param {string} projectRoot - Project root directory
18
- * @returns {Object|null} Waiver object or null if not found
19
- */
20
- export function loadWaiver(waiverId: string, projectRoot: string): any | null;
21
- /**
22
- * Check if a waiver is currently valid
23
- * Enhanced with proper expiry and approval validation
24
- * @param {Object} waiver - Waiver object
25
- * @param {Object} policy - Policy configuration (optional)
26
- * @returns {boolean} Whether waiver is valid and active
27
- */
28
- export function isWaiverValid(waiver: any, policy?: any): boolean;
29
- /**
30
- * Check if current changes exceed derived budget
31
- * @param {Object} derivedBudget - Budget from deriveBudget()
32
- * @param {Object} currentStats - Current change statistics
33
- * @returns {Object} Budget check result
34
- */
35
- export function checkBudgetCompliance(derivedBudget: any, currentStats: any): any;
36
- /**
37
- * Generate burn-up report for scope visibility
38
- * Enhanced with utilization metrics and warnings
39
- * @param {Object} derivedBudget - Budget from deriveBudget()
40
- * @param {Object} currentStats - Current change statistics
41
- * @returns {string} Human-readable burn-up report
42
- */
43
- export function generateBurnupReport(derivedBudget: any, currentStats: any): string;
44
- /**
45
- * Calculate budget utilization percentages
46
- * @param {Object} budgetCompliance - Budget compliance result
47
- * @returns {Object} Utilization percentages
48
- */
49
- export function calculateBudgetUtilization(budgetCompliance: any): any;
50
- /**
51
- * Check if changes are approaching budget limit
52
- * @param {Object} budgetCompliance - Budget compliance result
53
- * @param {number} threshold - Warning threshold (default 80)
54
- * @returns {boolean} Whether approaching limit
55
- */
56
- export function isApproachingBudgetLimit(budgetCompliance: any, threshold?: number): boolean;
57
- /**
58
- * Validate policy structure and content
59
- * @param {Object} policy - Policy object from policy.yaml
60
- * @throws {Error} If policy is invalid
61
- */
62
- export function validatePolicy(policy: any): void;
63
- /**
64
- * Get default policy as fallback
65
- * @returns {Object} Default CAWS policy
66
- */
67
- export function getDefaultPolicy(): any;
68
- /**
69
- * Validate waiver document structure
70
- * @param {Object} waiver - Waiver document to validate
71
- * @throws {Error} If waiver structure is invalid
72
- */
73
- export function validateWaiverStructure(waiver: any): void;
74
- //# sourceMappingURL=budget-derivation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget-derivation.d.ts","sourceRoot":"","sources":["../src/budget-derivation.js"],"names":[],"mappings":"AA8JA;;;;;;;;GAQG;AACH,sDALW,MAAM,YAEd;IAAyB,QAAQ,EAAzB,OAAO;CACf,OAgGF;AA4FD;;;;;;GAMG;AACH,qCAJW,MAAM,eACN,MAAM,GACJ,MAAO,IAAI,CAuCvB;AAED;;;;;;GAMG;AACH,0DAFa,OAAO,CAgDnB;AAED;;;;;GAKG;AACH,kFA8BC;AAqCD;;;;;;GAMG;AACH,6EAFa,MAAM,CA8ClB;AAtFD;;;;GAIG;AACH,uEAiBC;AAED;;;;;GAKG;AACH,4EAHW,MAAM,GACJ,OAAO,CAKnB;AAjgBD;;;;GAIG;AACH,kDA+FC;AAED;;;GAGG;AACH,wCAsCC;AA2GD;;;;GAIG;AACH,2DAmFC"}
@@ -1,142 +0,0 @@
1
- export = CICDOptimizer;
2
- declare class CICDOptimizer {
3
- constructor(options?: {});
4
- projectRoot: any;
5
- cacheDir: string;
6
- optimizationConfig: string;
7
- /**
8
- * Analyze project and generate CI/CD optimization recommendations
9
- */
10
- analyzeProject(specPath?: string): Promise<{
11
- project_tier: string;
12
- recommended_optimizations: any[];
13
- cache_strategy: {};
14
- parallel_groups: any[];
15
- conditional_execution: {};
16
- estimated_savings: {};
17
- }>;
18
- /**
19
- * Generate tier-based conditional execution rules
20
- */
21
- generateConditionalExecutionRules(tier: any): {
22
- coverage_required: boolean;
23
- mutation_required: boolean;
24
- contract_testing: boolean;
25
- accessibility_check: boolean;
26
- performance_budget: boolean;
27
- security_scan: boolean;
28
- lint_strict: boolean;
29
- };
30
- /**
31
- * Analyze what optimizations are beneficial for this tier
32
- */
33
- analyzeOptimizationOpportunities(tier: any): Promise<{
34
- type: string;
35
- description: string;
36
- impact: string;
37
- effort: string;
38
- }[]>;
39
- /**
40
- * Generate intelligent caching strategy
41
- */
42
- generateCacheStrategy(): Promise<{
43
- node_modules: {
44
- key: string;
45
- paths: string[];
46
- restore_keys: string[];
47
- };
48
- build_artifacts: {
49
- key: string;
50
- paths: string[];
51
- restore_keys: any[];
52
- };
53
- test_cache: {
54
- key: string;
55
- paths: string[];
56
- restore_keys: string[];
57
- };
58
- }>;
59
- /**
60
- * Create parallel execution groups for quality gates
61
- */
62
- createParallelGroups(): Promise<{
63
- name: string;
64
- description: string;
65
- jobs: string[];
66
- max_parallel: number;
67
- timeout: number;
68
- }[]>;
69
- /**
70
- * Analyze changed files to determine what tests to run
71
- */
72
- analyzeChangedFiles(changedFiles?: any[]): Promise<{
73
- unit: any[];
74
- integration: any[];
75
- contract: any[];
76
- e2e: any[];
77
- }>;
78
- /**
79
- * Estimate time savings from optimizations
80
- */
81
- estimateTimeSavings(analysis: any): {
82
- original_minutes: any;
83
- optimized_minutes: number;
84
- savings_percent: number;
85
- monthly_savings_hours: number;
86
- };
87
- /**
88
- * Generate optimized CI/CD configuration
89
- */
90
- generateOptimizedConfig(platform?: string): Promise<string | {
91
- name: string;
92
- on: {
93
- push: {
94
- branches: string[];
95
- };
96
- pull_request: {
97
- branches: string[];
98
- };
99
- };
100
- jobs: {};
101
- } | {
102
- stages: string[];
103
- cache: {
104
- key: string;
105
- paths: string[];
106
- };
107
- }>;
108
- /**
109
- * Generate optimized GitHub Actions workflow
110
- */
111
- generateGitHubActionsConfig(analysis: any): {
112
- name: string;
113
- on: {
114
- push: {
115
- branches: string[];
116
- };
117
- pull_request: {
118
- branches: string[];
119
- };
120
- };
121
- jobs: {};
122
- };
123
- /**
124
- * Generate GitLab CI configuration
125
- */
126
- generateGitLabCIConfig(analysis: any): {
127
- stages: string[];
128
- cache: {
129
- key: string;
130
- paths: string[];
131
- };
132
- };
133
- /**
134
- * Generate Jenkins pipeline configuration
135
- */
136
- generateJenkinsConfig(analysis: any): string;
137
- /**
138
- * Create hash for cache invalidation
139
- */
140
- createCacheHash(files: any): string;
141
- }
142
- //# sourceMappingURL=cicd-optimizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cicd-optimizer.d.ts","sourceRoot":"","sources":["../src/cicd-optimizer.js"],"names":[],"mappings":";AAaA;IACE,0BASC;IARC,iBAAuD;IACvD,iBAA6D;IAC7D,2BAAkF;IAQpF;;OAEG;IACH;;;;;;;OAyCC;IAED;;OAEG;IACH;;;;;;;;MAyBC;IAED;;OAEG;IACH;;;;;SA6CC;IAED;;OAEG;IACH;;;;;;;;;;;;;;;;OA8CC;IAED;;OAEG;IACH;;;;;;SA0BC;IAED;;OAEG;IACH;;;;;OA2BC;IAED;;OAEG;IACH;;;;;MA+BC;IAED;;OAEG;IACH;;;;;;;;;;;;;;;;;OAYC;IAED;;OAEG;IACH;;;;;;;;;;;MA4EC;IAED;;OAEG;IACH;;;;;;MAiCC;IAED;;OAEG;IACH,6CA+CC;IAED;;OAEG;IACH,oCAQC;CACF"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Archive command handler
3
- * @param {string} changeId - Change identifier to archive
4
- * @param {Object} options - Command options
5
- */
6
- export function archiveCommand(changeId: string, options?: any): Promise<any>;
7
- /**
8
- * Load change folder structure
9
- * @param {string} changeId - Change identifier
10
- * @returns {Promise<Object|null>} Change data or null
11
- */
12
- export function loadChange(changeId: string): Promise<any | null>;
13
- /**
14
- * Validate all acceptance criteria are met
15
- * @param {Object} workingSpec - Working specification
16
- * @returns {Promise<Object>} Validation result
17
- */
18
- export function validateAcceptanceCriteria(workingSpec: any): Promise<any>;
19
- /**
20
- * Validate change meets quality gates
21
- * Runs the actual quality gates runner and checks for violations
22
- * @param {string} changeId - Change identifier
23
- * @returns {Promise<Object>} Quality gate result
24
- */
25
- export function validateQualityGates(_changeId: any): Promise<any>;
26
- /**
27
- * Generate change summary for archival
28
- * @param {Object} change - Change data
29
- * @returns {Promise<string>} Summary text
30
- */
31
- export function generateChangeSummary(change: any): Promise<string>;
32
- /**
33
- * Archive change folder to archive directory
34
- * @param {Object} change - Change data
35
- * @returns {Promise<void>}
36
- */
37
- export function archiveChange(change: any): Promise<void>;
38
- /**
39
- * Update provenance with completion
40
- * @param {Object} change - Change data
41
- * @returns {Promise<void>}
42
- */
43
- export function updateProvenance(change: any): Promise<void>;
44
- /**
45
- * Display archive results
46
- * @param {Object} change - Change data
47
- * @param {Object} validation - Validation result
48
- * @param {Object} qualityGates - Quality gates result
49
- */
50
- export function displayArchiveResults(change: any, validation: any, qualityGates: any): void;
51
- //# sourceMappingURL=archive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.js"],"names":[],"mappings":"AA0VA;;;;GAIG;AACH,yCAHW,MAAM,+BAqGhB;AAjbD;;;;GAIG;AACH,qCAHW,MAAM,GACJ,OAAO,CAAC,MAAO,IAAI,CAAC,CAgChC;AAED;;;;GAIG;AACH,8DAFa,OAAO,KAAQ,CA8B3B;AAED;;;;;GAKG;AACH,sDAFa,OAAO,KAAQ,CAmH3B;AAED;;;;GAIG;AACH,oDAFa,OAAO,CAAC,MAAM,CAAC,CAgC3B;AAED;;;;GAIG;AACH,4CAFa,OAAO,CAAC,IAAI,CAAC,CAazB;AAED;;;;GAIG;AACH,+CAFa,OAAO,CAAC,IAAI,CAAC,CAoCzB;AAED;;;;;GAKG;AACH,6FAiCC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Burn-up command handler
3
- * @param {string} specFile - Path to spec file
4
- */
5
- export function burnupCommand(specFile: string): Promise<void>;
6
- //# sourceMappingURL=burnup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"burnup.d.ts","sourceRoot":"","sources":["../../src/commands/burnup.js"],"names":[],"mappings":"AAsFA;;;GAGG;AACH,wCAFW,MAAM,iBAgGhB"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Diagnose command handler
3
- * @param {Object} options - Command options
4
- */
5
- export function diagnoseCommand(options?: any): Promise<void>;
6
- /**
7
- * Run all health checks
8
- * @returns {Promise<Object>} Diagnosis results
9
- */
10
- export function runDiagnosis(): Promise<any>;
11
- /**
12
- * Display diagnosis results
13
- * @param {Object[]} results - Diagnosis results
14
- */
15
- export function displayResults(results: any[]): void;
16
- /**
17
- * Apply automatic fixes
18
- * @param {Object[]} results - Diagnosis results
19
- * @returns {Promise<Object>} Fix results
20
- */
21
- export function applyAutoFixes(results: any[]): Promise<any>;
22
- /**
23
- * Health check: Working spec validity
24
- * @returns {Promise<Object>} Check result
25
- */
26
- export function checkWorkingSpec(): Promise<any>;
27
- /**
28
- * Health check: Git repository
29
- * @returns {Promise<Object>} Check result
30
- */
31
- export function checkGitSetup(): Promise<any>;
32
- /**
33
- * Health check: Git hooks
34
- * @returns {Promise<Object>} Check result
35
- */
36
- export function checkGitHooks(): Promise<any>;
37
- /**
38
- * Health check: TypeScript configuration
39
- * @returns {Promise<Object>} Check result
40
- */
41
- export function checkTypeScriptConfig(): Promise<any>;
42
- /**
43
- * Health check: Test files exist
44
- * @returns {Promise<Object>} Check result
45
- */
46
- export function checkTestFiles(): Promise<any>;
47
- /**
48
- * Health check: CAWS tools directory
49
- * @returns {Promise<Object>} Check result
50
- */
51
- export function checkCAWSTools(): Promise<any>;
52
- //# sourceMappingURL=diagnose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/commands/diagnose.js"],"names":[],"mappings":"AA0bA;;;GAGG;AACH,8DAoDC;AAvND;;;GAGG;AACH,gCAFa,OAAO,KAAQ,CAkD3B;AAED;;;GAGG;AACH,wCAFW,KAAQ,QA4ClB;AAED;;;;GAIG;AACH,wCAHW,KAAQ,GACN,OAAO,KAAQ,CAoD3B;AAzaD;;;GAGG;AACH,oCAFa,OAAO,KAAQ,CA2C3B;AAED;;;GAGG;AACH,iCAFa,OAAO,KAAQ,CAiB3B;AAED;;;GAGG;AACH,iCAFa,OAAO,KAAQ,CA0C3B;AAED;;;GAGG;AACH,yCAFa,OAAO,KAAQ,CAgE3B;AAED;;;GAGG;AACH,kCAFa,OAAO,KAAQ,CAoC3B;AAED;;;GAGG;AACH,kCAFa,OAAO,KAAQ,CA0C3B"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Evaluate command handler
3
- *
4
- * @param {string} specFile - Path to working spec file
5
- * @param {object} options - Command options
6
- */
7
- export function evaluateCommand(specFile?: string, options?: object): Promise<void>;
8
- //# sourceMappingURL=evaluate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/commands/evaluate.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,2CAHW,MAAM,YACN,MAAM,iBA0QhB"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Initialize a new project with CAWS
3
- */
4
- export function initProject(projectName: any, options: any): Promise<void>;
5
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.js"],"names":[],"mappings":"AA8BA;;GAEG;AACH,2EAgrBC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Iterate command handler
3
- *
4
- * @param {string} specFile - Path to working spec file
5
- * @param {object} options - Command options
6
- */
7
- export function iterateCommand(specFile?: string, options?: object): Promise<void>;
8
- //# sourceMappingURL=iterate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/commands/iterate.js"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,0CAHW,MAAM,YACN,MAAM,iBAgLhB"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Mode command handler
3
- * @param {string} action - Action to perform (current, set, compare, recommend)
4
- * @param {Object} options - Command options
5
- */
6
- export function modeCommand(action: string, options?: any): Promise<any>;
7
- import { getCurrentMode } from "../config/modes";
8
- import { setCurrentMode } from "../config/modes";
9
- /**
10
- * Display current mode status
11
- * @param {string} currentMode - The current mode to display
12
- */
13
- export function displayCurrentMode(currentMode: string): void;
14
- /**
15
- * Display mode details
16
- * @param {string} mode - Mode to display
17
- */
18
- export function displayModeDetails(mode: string): void;
19
- /**
20
- * Interactive mode selection
21
- * @returns {Promise<string>} Selected mode
22
- */
23
- export function interactiveModeSelection(): Promise<string>;
24
- export { getCurrentMode, setCurrentMode };
25
- //# sourceMappingURL=mode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../src/commands/mode.js"],"names":[],"mappings":"AA0IA;;;;GAIG;AACH,oCAHW,MAAM,+BAuHhB;;;AAjPD;;;GAGG;AACH,gDAFW,MAAM,QA2BhB;AAED;;;GAGG;AACH,yCAFW,MAAM,QA+ChB;AAED;;;GAGG;AACH,4CAFa,OAAO,CAAC,MAAM,CAAC,CAkC3B"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Handle parallel subcommands
3
- * @param {string} subcommand - Subcommand name
4
- * @param {Object} options - Command options
5
- */
6
- export function parallelCommand(subcommand: string, options?: any): Promise<void>;
7
- //# sourceMappingURL=parallel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../src/commands/parallel.js"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,4CAHW,MAAM,gCAuBhB"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Plan command handler
3
- * @param {string} action - Action to perform (generate)
4
- * @param {Object} options - Command options
5
- */
6
- export function planCommand(action: string, options?: any): Promise<any>;
7
- /**
8
- * Generate implementation plan from spec
9
- * @param {Object} spec - Spec data
10
- * @returns {Object} Generated plan
11
- */
12
- export function generateImplementationPlan(spec: any): any;
13
- /**
14
- * Write plan to file
15
- * @param {Object} plan - Plan data
16
- * @param {string} outputPath - Output file path
17
- * @returns {Promise<void>}
18
- */
19
- export function writePlanToFile(plan: any, outputPath: string): Promise<void>;
20
- /**
21
- * Generate markdown content from plan
22
- * @param {Object} plan - Plan data
23
- * @returns {string} Markdown content
24
- */
25
- export function generatePlanMarkdown(plan: any): string;
26
- /**
27
- * Display generated plan
28
- * @param {Object} plan - Plan data
29
- */
30
- export function displayGeneratedPlan(plan: any): void;
31
- export namespace PLAN_TEMPLATES {
32
- namespace feature {
33
- let sections: string[];
34
- let defaultTasks: string[];
35
- }
36
- namespace fix {
37
- let sections_1: string[];
38
- export { sections_1 as sections };
39
- let defaultTasks_1: string[];
40
- export { defaultTasks_1 as defaultTasks };
41
- }
42
- namespace refactor {
43
- let sections_2: string[];
44
- export { sections_2 as sections };
45
- let defaultTasks_2: string[];
46
- export { defaultTasks_2 as defaultTasks };
47
- }
48
- }
49
- //# sourceMappingURL=plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.js"],"names":[],"mappings":"AA6XA;;;;GAIG;AACH,oCAHW,MAAM,+BAuDhB;AA1OD;;;;GAIG;AACH,2DA8CC;AAED;;;;;GAKG;AACH,uDAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;GAIG;AACH,iDAFa,MAAM,CAiElB;AAED;;;GAGG;AACH,sDAkCC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Provenance command handler
3
- * @param {string} subcommand - The subcommand to execute
4
- * @param {Object} options - Command options
5
- */
6
- export function provenanceCommand(subcommand: string, options: any): Promise<any>;
7
- /**
8
- * Update provenance with new commit information
9
- * @param {Object} options - Command options
10
- */
11
- export function updateProvenance(options: any): Promise<void>;
12
- /**
13
- * Show current provenance information
14
- * @param {Object} options - Command options
15
- */
16
- export function showProvenance(options: any): Promise<void>;
17
- /**
18
- * Verify provenance chain integrity
19
- * @param {Object} options - Command options
20
- */
21
- export function verifyProvenance(options: any): Promise<void>;
22
- /**
23
- * Initialize provenance tracking for the project
24
- * @param {Object} options - Command options
25
- */
26
- export function initProvenance(options: any): Promise<void>;
27
- /**
28
- * Install git hooks for automatic provenance updates
29
- * @param {Object} options - Command options
30
- */
31
- export function installHooks(options: any): Promise<void>;
32
- //# sourceMappingURL=provenance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.js"],"names":[],"mappings":"AA2CA;;;;GAIG;AACH,8CAHW,MAAM,8BA+BhB;AAED;;;GAGG;AACH,8DAuEC;AAED;;;GAGG;AACH,4DAyEC;AAED;;;GAGG;AACH,8DA8CC;AAgnBD;;;GAGG;AACH,4DAmEC;AA/cD;;;GAGG;AACH,0DAwEC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Run comprehensive quality gates on staged files
3
- * @param {Object} options - Command options
4
- */
5
- export function qualityGatesCommand(options?: any): Promise<any>;
6
- //# sourceMappingURL=quality-gates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-gates.d.ts","sourceRoot":"","sources":["../../src/commands/quality-gates.js"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,iEA8ZC"}