@paths.design/caws-cli 3.0.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +295 -150
- package/dist/budget-derivation.d.ts +35 -0
- package/dist/budget-derivation.d.ts.map +1 -0
- package/dist/budget-derivation.js +204 -0
- package/dist/cicd-optimizer.d.ts +142 -0
- package/dist/cicd-optimizer.d.ts.map +1 -0
- package/dist/cicd-optimizer.js +504 -0
- package/dist/commands/burnup.d.ts +6 -0
- package/dist/commands/burnup.d.ts.map +1 -0
- package/dist/commands/burnup.js +90 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +514 -0
- package/dist/commands/provenance.d.ts +22 -0
- package/dist/commands/provenance.d.ts.map +1 -0
- package/dist/commands/provenance.js +594 -0
- package/dist/commands/tool.d.ts +13 -0
- package/dist/commands/tool.d.ts.map +1 -0
- package/dist/commands/tool.js +138 -0
- package/dist/commands/validate.d.ts +7 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +80 -0
- package/dist/config/index.d.ts +29 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +132 -0
- package/dist/error-handler.d.ts +50 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +253 -0
- package/dist/generators/working-spec.d.ts +13 -0
- package/dist/generators/working-spec.d.ts.map +1 -0
- package/dist/generators/working-spec.js +204 -0
- package/dist/index-new.d.ts +5 -0
- package/dist/index-new.d.ts.map +1 -0
- package/dist/index-new.js +317 -0
- package/dist/index.d.ts +3 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -1659
- package/dist/index.js.backup +4711 -0
- package/dist/scaffold/cursor-hooks.d.ts +7 -0
- package/dist/scaffold/cursor-hooks.d.ts.map +1 -0
- package/dist/scaffold/cursor-hooks.js +152 -0
- package/dist/scaffold/index.d.ts +20 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/index.js +486 -0
- package/dist/test-analysis.d.ts +182 -0
- package/dist/test-analysis.d.ts.map +1 -0
- package/dist/test-analysis.js +580 -0
- package/dist/tool-interface.d.ts +236 -0
- package/dist/tool-interface.d.ts.map +1 -0
- package/dist/tool-interface.js +314 -0
- package/dist/tool-loader.d.ts +77 -0
- package/dist/tool-loader.d.ts.map +1 -0
- package/dist/tool-loader.js +298 -0
- package/dist/tool-validator.d.ts +72 -0
- package/dist/tool-validator.d.ts.map +1 -0
- package/dist/tool-validator.js +387 -0
- package/dist/utils/detection.d.ts +7 -0
- package/dist/utils/detection.d.ts.map +1 -0
- package/dist/utils/detection.js +174 -0
- package/dist/utils/finalization.d.ts +17 -0
- package/dist/utils/finalization.d.ts.map +1 -0
- package/dist/utils/finalization.js +229 -0
- package/dist/utils/project-analysis.d.ts +14 -0
- package/dist/utils/project-analysis.d.ts.map +1 -0
- package/dist/utils/project-analysis.js +105 -0
- package/dist/validation/spec-validation.d.ts +29 -0
- package/dist/validation/spec-validation.d.ts.map +1 -0
- package/dist/validation/spec-validation.js +376 -0
- package/dist/waivers-manager.d.ts +167 -0
- package/dist/waivers-manager.d.ts.map +1 -0
- package/dist/waivers-manager.js +549 -0
- package/package.json +10 -12
- package/templates/.cursor/README.md +311 -0
- package/templates/.cursor/hooks/audit.sh +55 -0
- package/templates/.cursor/hooks/block-dangerous.sh +77 -0
- package/templates/.cursor/hooks/caws-quality-check.sh +52 -0
- package/templates/.cursor/hooks/caws-scope-guard.sh +74 -0
- package/templates/.cursor/hooks/caws-tool-validation.sh +121 -0
- package/templates/.cursor/hooks/format.sh +38 -0
- package/templates/.cursor/hooks/naming-check.sh +64 -0
- package/templates/.cursor/hooks/scan-secrets.sh +46 -0
- package/templates/.cursor/hooks/scope-guard.sh +52 -0
- package/templates/.cursor/hooks/validate-spec.sh +38 -0
- package/templates/.cursor/hooks.json +59 -0
- package/templates/.github/copilot/instructions.md +311 -0
- package/templates/.idea/runConfigurations/CAWS_Evaluate.xml +5 -0
- package/templates/.idea/runConfigurations/CAWS_Validate.xml +5 -0
- package/templates/.vscode/launch.json +56 -0
- package/templates/.vscode/settings.json +93 -0
- package/templates/.windsurf/workflows/caws-guided-development.md +92 -0
- package/templates/apps/tools/caws/README.md +1 -1
- package/templates/apps/tools/caws/prompt-lint.js.backup +274 -0
- package/templates/apps/tools/caws/provenance.js.backup +73 -0
- package/templates/apps/tools/caws/schemas/working-spec.schema.json +21 -3
- package/templates/codemod/test.js +93 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main Test Analysis CLI handler
|
|
3
|
+
*/
|
|
4
|
+
export function testAnalysisCommand(subcommand: any, options?: any[]): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Waiver Pattern Learning Engine
|
|
7
|
+
* Analyzes waiver history to find systematic patterns in budget overruns
|
|
8
|
+
*/
|
|
9
|
+
export class WaiverPatternLearner {
|
|
10
|
+
constructor(projectRoot?: string);
|
|
11
|
+
projectRoot: string;
|
|
12
|
+
/**
|
|
13
|
+
* Analyze waiver patterns from historical data
|
|
14
|
+
*/
|
|
15
|
+
analyzePatterns(): {
|
|
16
|
+
status: string;
|
|
17
|
+
patterns: {
|
|
18
|
+
total_waivers: number;
|
|
19
|
+
budget_overruns: {
|
|
20
|
+
average_overrun_files: number;
|
|
21
|
+
average_overrun_loc: number;
|
|
22
|
+
common_patterns: any[];
|
|
23
|
+
total_budget_waivers?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
total_budget_waivers: any;
|
|
26
|
+
average_overrun_files: number;
|
|
27
|
+
average_overrun_loc: number;
|
|
28
|
+
common_patterns: {
|
|
29
|
+
reason: string;
|
|
30
|
+
frequency: number;
|
|
31
|
+
avg_overrun_files: number;
|
|
32
|
+
avg_overrun_loc: number;
|
|
33
|
+
}[];
|
|
34
|
+
};
|
|
35
|
+
common_reasons: {
|
|
36
|
+
reason: string;
|
|
37
|
+
count: any;
|
|
38
|
+
frequency: number;
|
|
39
|
+
}[];
|
|
40
|
+
risk_factors: {
|
|
41
|
+
factor: string;
|
|
42
|
+
description: string;
|
|
43
|
+
risk_level: string;
|
|
44
|
+
}[];
|
|
45
|
+
generated_at: string;
|
|
46
|
+
};
|
|
47
|
+
message?: undefined;
|
|
48
|
+
} | {
|
|
49
|
+
status: string;
|
|
50
|
+
message: any;
|
|
51
|
+
patterns: {};
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Load all waiver files from .caws/waivers/
|
|
55
|
+
*/
|
|
56
|
+
loadWaivers(): any[];
|
|
57
|
+
/**
|
|
58
|
+
* Load historical working specs (mock implementation)
|
|
59
|
+
*/
|
|
60
|
+
loadHistoricalSpecs(): any[];
|
|
61
|
+
/**
|
|
62
|
+
* Analyze budget overrun patterns
|
|
63
|
+
*/
|
|
64
|
+
analyzeBudgetOverruns(waivers: any, specs: any): {
|
|
65
|
+
average_overrun_files: number;
|
|
66
|
+
average_overrun_loc: number;
|
|
67
|
+
common_patterns: any[];
|
|
68
|
+
total_budget_waivers?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
total_budget_waivers: any;
|
|
71
|
+
average_overrun_files: number;
|
|
72
|
+
average_overrun_loc: number;
|
|
73
|
+
common_patterns: {
|
|
74
|
+
reason: string;
|
|
75
|
+
frequency: number;
|
|
76
|
+
avg_overrun_files: number;
|
|
77
|
+
avg_overrun_loc: number;
|
|
78
|
+
}[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Analyze most common waiver reasons
|
|
82
|
+
*/
|
|
83
|
+
analyzeCommonReasons(waivers: any): {
|
|
84
|
+
reason: string;
|
|
85
|
+
count: any;
|
|
86
|
+
frequency: number;
|
|
87
|
+
}[];
|
|
88
|
+
/**
|
|
89
|
+
* Identify risk factors from waiver patterns
|
|
90
|
+
*/
|
|
91
|
+
identifyRiskFactors(waivers: any, specs: any): {
|
|
92
|
+
factor: string;
|
|
93
|
+
description: string;
|
|
94
|
+
risk_level: string;
|
|
95
|
+
}[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Project Similarity Matcher
|
|
99
|
+
* Finds historical projects similar to current work
|
|
100
|
+
*/
|
|
101
|
+
export class ProjectSimilarityMatcher {
|
|
102
|
+
constructor(projectRoot?: string);
|
|
103
|
+
projectRoot: string;
|
|
104
|
+
/**
|
|
105
|
+
* Find projects similar to the current spec
|
|
106
|
+
*/
|
|
107
|
+
findSimilarProjects(currentSpec: any): {
|
|
108
|
+
project: string;
|
|
109
|
+
similarity_score: number;
|
|
110
|
+
budget_accuracy: number;
|
|
111
|
+
waiver_count: number;
|
|
112
|
+
details: {
|
|
113
|
+
id: string;
|
|
114
|
+
title: string;
|
|
115
|
+
risk_tier: number;
|
|
116
|
+
mode: string;
|
|
117
|
+
tech_stack: string;
|
|
118
|
+
feature_type: string;
|
|
119
|
+
actual_budget: {
|
|
120
|
+
files: number;
|
|
121
|
+
loc: number;
|
|
122
|
+
};
|
|
123
|
+
allocated_budget: {
|
|
124
|
+
files: number;
|
|
125
|
+
loc: number;
|
|
126
|
+
};
|
|
127
|
+
waivers: string[];
|
|
128
|
+
};
|
|
129
|
+
}[];
|
|
130
|
+
/**
|
|
131
|
+
* Calculate similarity score between two specs/projects
|
|
132
|
+
*/
|
|
133
|
+
calculateSimilarity(spec1: any, spec2: any): number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Budget Predictor using statistical analysis
|
|
137
|
+
*/
|
|
138
|
+
export class BudgetPredictor {
|
|
139
|
+
constructor(projectRoot?: string);
|
|
140
|
+
projectRoot: string;
|
|
141
|
+
patternLearner: WaiverPatternLearner;
|
|
142
|
+
similarityMatcher: ProjectSimilarityMatcher;
|
|
143
|
+
/**
|
|
144
|
+
* Assess budget for a working spec
|
|
145
|
+
*/
|
|
146
|
+
assessBudget(spec: any): {
|
|
147
|
+
status: string;
|
|
148
|
+
assessment: {
|
|
149
|
+
similar_projects_analyzed: number;
|
|
150
|
+
recommended_budget: {
|
|
151
|
+
files: number;
|
|
152
|
+
loc: number;
|
|
153
|
+
};
|
|
154
|
+
baseline_budget: {
|
|
155
|
+
files: number;
|
|
156
|
+
loc: number;
|
|
157
|
+
};
|
|
158
|
+
buffer_applied: {
|
|
159
|
+
files_percent: number;
|
|
160
|
+
loc_percent: number;
|
|
161
|
+
};
|
|
162
|
+
rationale: string[];
|
|
163
|
+
risk_factors: any;
|
|
164
|
+
confidence: number;
|
|
165
|
+
};
|
|
166
|
+
message?: undefined;
|
|
167
|
+
recommendation?: undefined;
|
|
168
|
+
} | {
|
|
169
|
+
status: string;
|
|
170
|
+
message: any;
|
|
171
|
+
recommendation: {
|
|
172
|
+
use_default_tier: boolean;
|
|
173
|
+
confidence: number;
|
|
174
|
+
};
|
|
175
|
+
assessment?: undefined;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Generate human-readable rationale for the recommendation
|
|
179
|
+
*/
|
|
180
|
+
generateRationale(spec: any, similarProjects: any, patterns: any): string[];
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=test-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-analysis.d.ts","sourceRoot":"","sources":["../src/test-analysis.js"],"names":[],"mappings":"AAiZA;;GAEG;AACH,qFAsBC;AAhaD;;;GAGG;AACH;IACE,kCAEC;IADC,oBAA8B;IAGhC;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCC;IAED;;OAEG;IACH,qBAsBC;IAED;;OAEG;IACH,6BAIC;IAED;;OAEG;IACH;;;;;;;;;;;;;;;MA6CC;IAED;;OAEG;IACH;;;;QAaC;IAED;;OAEG;IACH;;;;QAeC;CACF;AAED;;;GAGG;AACH;IACE,kCAEC;IADC,oBAA8B;IAGhC;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;;QAkEC;IAED;;OAEG;IACH,oDA6BC;CACF;AAED;;GAEG;AACH;IACE,kCAIC;IAHC,oBAA8B;IAC9B,qCAA2D;IAC3D,4CAAkE;IAGpE;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8DC;IAED;;OAEG;IACH,4EAsBC;CACF"}
|