@vibecheckai/cli 3.3.0 → 3.5.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 (170) hide show
  1. package/bin/registry.js +389 -269
  2. package/bin/runners/cli-utils.js +2 -33
  3. package/bin/runners/context/generators/cursor.js +49 -2
  4. package/bin/runners/lib/agent-firewall/learning/learning-engine.js +849 -0
  5. package/bin/runners/lib/analyzers.js +599 -142
  6. package/bin/runners/lib/audit-logger.js +532 -0
  7. package/bin/runners/lib/authority/authorities/architecture.js +364 -0
  8. package/bin/runners/lib/authority/authorities/compliance.js +341 -0
  9. package/bin/runners/lib/authority/authorities/human.js +343 -0
  10. package/bin/runners/lib/authority/authorities/quality.js +420 -0
  11. package/bin/runners/lib/authority/authorities/security.js +228 -0
  12. package/bin/runners/lib/authority/index.js +293 -0
  13. package/bin/runners/lib/authority-badge.js +425 -425
  14. package/bin/runners/lib/bundle/bundle-intelligence.js +846 -0
  15. package/bin/runners/lib/cli-charts.js +368 -0
  16. package/bin/runners/lib/cli-config-display.js +405 -0
  17. package/bin/runners/lib/cli-demo.js +275 -0
  18. package/bin/runners/lib/cli-errors.js +438 -0
  19. package/bin/runners/lib/cli-help-formatter.js +439 -0
  20. package/bin/runners/lib/cli-interactive-menu.js +509 -0
  21. package/bin/runners/lib/cli-prompts.js +441 -0
  22. package/bin/runners/lib/cli-scan-cards.js +362 -0
  23. package/bin/runners/lib/compliance-reporter.js +710 -0
  24. package/bin/runners/lib/conductor/index.js +671 -0
  25. package/bin/runners/lib/easy/README.md +123 -0
  26. package/bin/runners/lib/easy/index.js +140 -0
  27. package/bin/runners/lib/easy/interactive-wizard.js +788 -0
  28. package/bin/runners/lib/easy/one-click-firewall.js +564 -0
  29. package/bin/runners/lib/easy/zero-config-reality.js +714 -0
  30. package/bin/runners/lib/engines/accessibility-engine.js +218 -18
  31. package/bin/runners/lib/engines/api-consistency-engine.js +335 -30
  32. package/bin/runners/lib/engines/async-patterns-engine.js +444 -0
  33. package/bin/runners/lib/engines/bundle-size-engine.js +433 -0
  34. package/bin/runners/lib/engines/confidence-scoring.js +276 -0
  35. package/bin/runners/lib/engines/context-detection.js +264 -0
  36. package/bin/runners/lib/engines/cross-file-analysis-engine.js +292 -27
  37. package/bin/runners/lib/engines/database-patterns-engine.js +429 -0
  38. package/bin/runners/lib/engines/duplicate-code-engine.js +354 -0
  39. package/bin/runners/lib/engines/empty-catch-engine.js +127 -17
  40. package/bin/runners/lib/engines/env-variables-engine.js +458 -0
  41. package/bin/runners/lib/engines/error-handling-engine.js +437 -0
  42. package/bin/runners/lib/engines/false-positive-prevention.js +630 -0
  43. package/bin/runners/lib/engines/framework-adapters/index.js +607 -0
  44. package/bin/runners/lib/engines/framework-detection.js +508 -0
  45. package/bin/runners/lib/engines/import-order-engine.js +429 -0
  46. package/bin/runners/lib/engines/mock-data-engine.js +53 -10
  47. package/bin/runners/lib/engines/naming-conventions-engine.js +544 -0
  48. package/bin/runners/lib/engines/noise-reduction-engine.js +452 -0
  49. package/bin/runners/lib/engines/orchestrator.js +334 -0
  50. package/bin/runners/lib/engines/performance-issues-engine.js +176 -36
  51. package/bin/runners/lib/engines/react-patterns-engine.js +457 -0
  52. package/bin/runners/lib/engines/security-vulnerabilities-engine.js +382 -54
  53. package/bin/runners/lib/engines/type-aware-engine.js +263 -39
  54. package/bin/runners/lib/engines/vibecheck-engines/index.js +122 -13
  55. package/bin/runners/lib/engines/vibecheck-engines/lib/ai-hallucination-engine.js +806 -0
  56. package/bin/runners/lib/engines/vibecheck-engines/lib/hardcoded-secrets-engine.js +373 -73
  57. package/bin/runners/lib/engines/vibecheck-engines/lib/smart-fix-engine.js +577 -0
  58. package/bin/runners/lib/engines/vibecheck-engines/lib/vibe-score-engine.js +543 -0
  59. package/bin/runners/lib/engines/vibecheck-engines.js +514 -0
  60. package/bin/runners/lib/enhanced-features/index.js +305 -0
  61. package/bin/runners/lib/enhanced-output.js +631 -0
  62. package/bin/runners/lib/enterprise.js +300 -0
  63. package/bin/runners/lib/entitlements-v2.js +161 -478
  64. package/bin/runners/lib/firewall/command-validator.js +351 -0
  65. package/bin/runners/lib/firewall/config.js +341 -0
  66. package/bin/runners/lib/firewall/content-validator.js +519 -0
  67. package/bin/runners/lib/firewall/index.js +101 -0
  68. package/bin/runners/lib/firewall/path-validator.js +256 -0
  69. package/bin/runners/lib/html-proof-report.js +350 -700
  70. package/bin/runners/lib/intelligence/cross-repo-intelligence.js +817 -0
  71. package/bin/runners/lib/mcp-utils.js +425 -0
  72. package/bin/runners/lib/missions/plan.js +46 -6
  73. package/bin/runners/lib/missions/templates.js +232 -0
  74. package/bin/runners/lib/output/index.js +1022 -0
  75. package/bin/runners/lib/policy-engine.js +652 -0
  76. package/bin/runners/lib/polish/autofix/accessibility-fixes.js +333 -0
  77. package/bin/runners/lib/polish/autofix/async-handlers.js +273 -0
  78. package/bin/runners/lib/polish/autofix/dead-code.js +280 -0
  79. package/bin/runners/lib/polish/autofix/imports-optimizer.js +344 -0
  80. package/bin/runners/lib/polish/autofix/index.js +200 -0
  81. package/bin/runners/lib/polish/autofix/remove-consoles.js +209 -0
  82. package/bin/runners/lib/polish/autofix/strengthen-types.js +245 -0
  83. package/bin/runners/lib/polish/backend-checks.js +148 -0
  84. package/bin/runners/lib/polish/documentation-checks.js +111 -0
  85. package/bin/runners/lib/polish/frontend-checks.js +168 -0
  86. package/bin/runners/lib/polish/index.js +71 -0
  87. package/bin/runners/lib/polish/infrastructure-checks.js +131 -0
  88. package/bin/runners/lib/polish/library-detection.js +175 -0
  89. package/bin/runners/lib/polish/performance-checks.js +100 -0
  90. package/bin/runners/lib/polish/security-checks.js +148 -0
  91. package/bin/runners/lib/polish/utils.js +203 -0
  92. package/bin/runners/lib/prompt-builder.js +540 -0
  93. package/bin/runners/lib/proof-certificate.js +634 -0
  94. package/bin/runners/lib/reality/accessibility-audit.js +946 -0
  95. package/bin/runners/lib/reality/api-contract-validator.js +1012 -0
  96. package/bin/runners/lib/reality/chaos-engineering.js +1084 -0
  97. package/bin/runners/lib/reality/performance-tracker.js +1077 -0
  98. package/bin/runners/lib/reality/scenario-generator.js +1404 -0
  99. package/bin/runners/lib/reality/visual-regression.js +852 -0
  100. package/bin/runners/lib/reality-profiler.js +717 -0
  101. package/bin/runners/lib/replay/flight-recorder-viewer.js +1160 -0
  102. package/bin/runners/lib/review/ai-code-review.js +832 -0
  103. package/bin/runners/lib/rules/custom-rule-engine.js +985 -0
  104. package/bin/runners/lib/sbom-generator.js +641 -0
  105. package/bin/runners/lib/scan-output-enhanced.js +512 -0
  106. package/bin/runners/lib/scan-output.js +65 -19
  107. package/bin/runners/lib/security/owasp-scanner.js +939 -0
  108. package/bin/runners/lib/ship-output.js +18 -25
  109. package/bin/runners/lib/terminal-ui.js +113 -1
  110. package/bin/runners/lib/unified-cli-output.js +603 -430
  111. package/bin/runners/lib/upsell.js +90 -338
  112. package/bin/runners/lib/validators/contract-validator.js +283 -0
  113. package/bin/runners/lib/validators/dead-export-detector.js +279 -0
  114. package/bin/runners/lib/validators/dep-audit.js +245 -0
  115. package/bin/runners/lib/validators/env-validator.js +319 -0
  116. package/bin/runners/lib/validators/index.js +120 -0
  117. package/bin/runners/lib/validators/license-checker.js +252 -0
  118. package/bin/runners/lib/validators/route-validator.js +290 -0
  119. package/bin/runners/runAIAgent.js +5 -10
  120. package/bin/runners/runAgent.js +3 -0
  121. package/bin/runners/runApprove.js +1233 -1200
  122. package/bin/runners/runAuth.js +22 -1
  123. package/bin/runners/runAuthority.js +528 -0
  124. package/bin/runners/runCheckpoint.js +4 -24
  125. package/bin/runners/runClassify.js +862 -859
  126. package/bin/runners/runConductor.js +772 -0
  127. package/bin/runners/runContainer.js +366 -0
  128. package/bin/runners/runContext.js +3 -0
  129. package/bin/runners/runDoctor.js +28 -41
  130. package/bin/runners/runEasy.js +410 -0
  131. package/bin/runners/runFirewall.js +3 -0
  132. package/bin/runners/runFirewallHook.js +3 -0
  133. package/bin/runners/runFix.js +76 -66
  134. package/bin/runners/runGuard.js +411 -18
  135. package/bin/runners/runIaC.js +372 -0
  136. package/bin/runners/runInit.js +10 -60
  137. package/bin/runners/runMcp.js +11 -12
  138. package/bin/runners/runPolish.js +240 -64
  139. package/bin/runners/runPromptFirewall.js +5 -12
  140. package/bin/runners/runProve.js +20 -55
  141. package/bin/runners/runReality.js +68 -59
  142. package/bin/runners/runReport.js +31 -5
  143. package/bin/runners/runRuntime.js +5 -8
  144. package/bin/runners/runScan.js +194 -1273
  145. package/bin/runners/runShip.js +695 -47
  146. package/bin/runners/runTruth.js +3 -0
  147. package/bin/runners/runValidate.js +7 -11
  148. package/bin/runners/runVibe.js +791 -0
  149. package/bin/runners/runWatch.js +14 -23
  150. package/bin/vibecheck.js +179 -65
  151. package/mcp-server/index.js +202 -636
  152. package/mcp-server/lib/api-client.cjs +7 -299
  153. package/mcp-server/package.json +1 -1
  154. package/mcp-server/tier-auth.js +175 -574
  155. package/mcp-server/tools-v3.js +800 -505
  156. package/mcp-server/tools.js +495 -0
  157. package/package.json +1 -1
  158. package/bin/runners/lib/engines/vibecheck-engines/lib/ast-cache.js +0 -164
  159. package/bin/runners/lib/engines/vibecheck-engines/lib/code-quality-engine.js +0 -291
  160. package/bin/runners/lib/engines/vibecheck-engines/lib/console-logs-engine.js +0 -83
  161. package/bin/runners/lib/engines/vibecheck-engines/lib/dead-code-engine.js +0 -198
  162. package/bin/runners/lib/engines/vibecheck-engines/lib/deprecated-api-engine.js +0 -275
  163. package/bin/runners/lib/engines/vibecheck-engines/lib/empty-catch-engine.js +0 -167
  164. package/bin/runners/lib/engines/vibecheck-engines/lib/file-filter.js +0 -217
  165. package/bin/runners/lib/engines/vibecheck-engines/lib/mock-data-engine.js +0 -140
  166. package/bin/runners/lib/engines/vibecheck-engines/lib/parallel-processor.js +0 -164
  167. package/bin/runners/lib/engines/vibecheck-engines/lib/performance-issues-engine.js +0 -234
  168. package/bin/runners/lib/engines/vibecheck-engines/lib/type-aware-engine.js +0 -217
  169. package/bin/runners/lib/engines/vibecheck-engines/lib/unsafe-regex-engine.js +0 -78
  170. package/mcp-server/index-v1.js +0 -698
@@ -0,0 +1,305 @@
1
+ /**
2
+ * Enhanced Features Index
3
+ *
4
+ * ═══════════════════════════════════════════════════════════════════════════════
5
+ * VIBECHECK COMPETITIVE MOAT - 8 Industry-Leading Features
6
+ * ═══════════════════════════════════════════════════════════════════════════════
7
+ *
8
+ * This module exports all enhanced features that make Vibecheck unbeatable:
9
+ *
10
+ * 1. AI-Powered Scenario Generation - Auto-generate edge case test scenarios
11
+ * 2. Learning Firewall - Self-improving false positive reduction
12
+ * 3. Visual Regression Detection - Perceptual diff for UI drift
13
+ * 4. Performance Regression Detection - Core Web Vitals tracking
14
+ * 5. Interactive Flight Recorder - HTML replay viewer with timeline
15
+ * 6. API Contract Validation - OpenAPI/Swagger schema validation
16
+ * 7. Cross-Repository Intelligence - Ecosystem-wide learning
17
+ * 8. Custom Rule DSL - User-defined rules with marketplace
18
+ */
19
+
20
+ "use strict";
21
+
22
+ // ═══════════════════════════════════════════════════════════════════════════════
23
+ // SCENARIO GENERATION
24
+ // ═══════════════════════════════════════════════════════════════════════════════
25
+
26
+ const {
27
+ ScenarioGenerator,
28
+ ScenarioExecutor,
29
+ SCENARIO_TEMPLATES
30
+ } = require("../reality/scenario-generator");
31
+
32
+ // ═══════════════════════════════════════════════════════════════════════════════
33
+ // LEARNING FIREWALL
34
+ // ═══════════════════════════════════════════════════════════════════════════════
35
+
36
+ const {
37
+ LearningEngine,
38
+ getLearningEngine,
39
+ FEEDBACK_TYPE,
40
+ FEEDBACK_WEIGHT
41
+ } = require("../agent-firewall/learning/learning-engine");
42
+
43
+ // ═══════════════════════════════════════════════════════════════════════════════
44
+ // VISUAL REGRESSION
45
+ // ═══════════════════════════════════════════════════════════════════════════════
46
+
47
+ const {
48
+ VisualRegressionEngine,
49
+ createRealityModeHooks: createVisualHooks,
50
+ DEFAULT_CONFIG: VISUAL_CONFIG
51
+ } = require("../reality/visual-regression");
52
+
53
+ // ═══════════════════════════════════════════════════════════════════════════════
54
+ // PERFORMANCE TRACKING
55
+ // ═══════════════════════════════════════════════════════════════════════════════
56
+
57
+ const {
58
+ PerformanceTracker,
59
+ THRESHOLDS: PERFORMANCE_THRESHOLDS,
60
+ REGRESSION_THRESHOLDS
61
+ } = require("../reality/performance-tracker");
62
+
63
+ // ═══════════════════════════════════════════════════════════════════════════════
64
+ // FLIGHT RECORDER
65
+ // ═══════════════════════════════════════════════════════════════════════════════
66
+
67
+ const {
68
+ FlightRecorderViewer,
69
+ HTML_TEMPLATE: FLIGHT_RECORDER_TEMPLATE
70
+ } = require("../replay/flight-recorder-viewer");
71
+
72
+ // ═══════════════════════════════════════════════════════════════════════════════
73
+ // API CONTRACT VALIDATION
74
+ // ═══════════════════════════════════════════════════════════════════════════════
75
+
76
+ const {
77
+ APIContractValidator,
78
+ SchemaValidator,
79
+ SPEC_LOCATIONS
80
+ } = require("../reality/api-contract-validator");
81
+
82
+ // ═══════════════════════════════════════════════════════════════════════════════
83
+ // CROSS-REPO INTELLIGENCE
84
+ // ═══════════════════════════════════════════════════════════════════════════════
85
+
86
+ const {
87
+ CrossRepoIntelligence,
88
+ StackFingerprinter,
89
+ DEFAULT_INTELLIGENCE_DB
90
+ } = require("../intelligence/cross-repo-intelligence");
91
+
92
+ // ═══════════════════════════════════════════════════════════════════════════════
93
+ // CUSTOM RULES
94
+ // ═══════════════════════════════════════════════════════════════════════════════
95
+
96
+ const {
97
+ CustomRuleEngine,
98
+ RuleParser,
99
+ RuleExecutor,
100
+ RULE_SCHEMA
101
+ } = require("../rules/custom-rule-engine");
102
+
103
+ // ═══════════════════════════════════════════════════════════════════════════════
104
+ // UNIFIED REALITY MODE ENHANCER
105
+ // ═══════════════════════════════════════════════════════════════════════════════
106
+
107
+ /**
108
+ * Create an enhanced Reality Mode runner with all features enabled
109
+ */
110
+ function createEnhancedRealityMode(options = {}) {
111
+ const {
112
+ projectRoot = process.cwd(),
113
+ enableScenarios = true,
114
+ enableVisualRegression = true,
115
+ enablePerformance = true,
116
+ enableApiValidation = true,
117
+ enableLearning = true,
118
+ enableIntelligence = true
119
+ } = options;
120
+
121
+ // Initialize all engines
122
+ const engines = {
123
+ scenarios: enableScenarios ? new ScenarioGenerator({ projectRoot }) : null,
124
+ visual: enableVisualRegression ? new VisualRegressionEngine({ projectRoot }) : null,
125
+ performance: enablePerformance ? new PerformanceTracker({ projectRoot }) : null,
126
+ apiValidator: enableApiValidation ? new APIContractValidator({ projectRoot }) : null,
127
+ learning: enableLearning ? getLearningEngine({ projectRoot }) : null,
128
+ intelligence: enableIntelligence ? new CrossRepoIntelligence({ projectRoot }) : null
129
+ };
130
+
131
+ // Create flight recorder
132
+ const flightRecorder = new FlightRecorderViewer({ projectRoot });
133
+
134
+ return {
135
+ engines,
136
+ flightRecorder,
137
+
138
+ /**
139
+ * Initialize all engines for a run
140
+ */
141
+ async initialize(page) {
142
+ if (engines.visual) engines.visual.setPage(page);
143
+ if (engines.performance) await engines.performance.setPage(page);
144
+ if (engines.apiValidator) await engines.apiValidator.loadSpec();
145
+ },
146
+
147
+ /**
148
+ * Generate scenarios based on truthpack
149
+ */
150
+ generateScenarios() {
151
+ if (!engines.scenarios) return [];
152
+ return engines.scenarios.generateScenarios(projectRoot);
153
+ },
154
+
155
+ /**
156
+ * Process a finding through learning engine
157
+ */
158
+ processFinding(finding, outcome) {
159
+ if (engines.learning) {
160
+ engines.learning.recordFeedback({
161
+ violationId: finding.id,
162
+ ruleId: finding.type,
163
+ feedbackType: outcome,
164
+ filePath: finding.file,
165
+ codePattern: finding.match,
166
+ context: finding.context
167
+ });
168
+ }
169
+
170
+ if (engines.intelligence) {
171
+ engines.intelligence.learnFromFinding(finding, outcome);
172
+ }
173
+ },
174
+
175
+ /**
176
+ * Get adjusted confidence for a finding
177
+ */
178
+ async getAdjustedConfidence(finding) {
179
+ let adjusted = { original: finding.confidence, adjusted: finding.confidence };
180
+
181
+ if (engines.learning) {
182
+ const learningAdj = engines.learning.getAdjustedConfidence(
183
+ finding.confidence,
184
+ { ruleId: finding.type, codePattern: finding.match, filePath: finding.file }
185
+ );
186
+ adjusted = learningAdj;
187
+ }
188
+
189
+ if (engines.intelligence) {
190
+ const fingerprint = await new StackFingerprinter(projectRoot).fingerprint();
191
+ const intelAdj = engines.intelligence.getAdjustedConfidence(finding, fingerprint);
192
+
193
+ // Combine adjustments
194
+ adjusted.adjusted = (adjusted.adjusted + intelAdj.adjusted) / 2;
195
+ }
196
+
197
+ return adjusted;
198
+ },
199
+
200
+ /**
201
+ * Generate HTML report with flight recorder
202
+ */
203
+ generateReport(recordingData) {
204
+ return flightRecorder.generate(recordingData);
205
+ },
206
+
207
+ /**
208
+ * Get recommendations based on intelligence
209
+ */
210
+ async getRecommendations() {
211
+ if (!engines.intelligence) return { recommendations: [] };
212
+ return engines.intelligence.getRecommendations();
213
+ },
214
+
215
+ /**
216
+ * Get performance metrics
217
+ */
218
+ async collectPerformanceMetrics() {
219
+ if (!engines.performance) return null;
220
+ return engines.performance.collectMetrics();
221
+ },
222
+
223
+ /**
224
+ * Run visual regression test
225
+ */
226
+ async runVisualTest(pageName, options) {
227
+ if (!engines.visual) return null;
228
+ return engines.visual.runTest(pageName, options);
229
+ },
230
+
231
+ /**
232
+ * Validate API against contract
233
+ */
234
+ validateApiResponse(response, requestMatch) {
235
+ if (!engines.apiValidator) return { valid: true, errors: [] };
236
+ return engines.apiValidator.validateResponse(response, requestMatch);
237
+ },
238
+
239
+ /**
240
+ * Get summary of all enhanced features
241
+ */
242
+ getSummary() {
243
+ return {
244
+ scenarioGeneration: !!engines.scenarios,
245
+ visualRegression: !!engines.visual,
246
+ performanceTracking: !!engines.performance,
247
+ apiValidation: !!engines.apiValidator,
248
+ learningFirewall: !!engines.learning,
249
+ crossRepoIntelligence: !!engines.intelligence,
250
+ learningStats: engines.learning?.getPerformanceReport(),
251
+ intelligenceStats: engines.intelligence?.getSummary()
252
+ };
253
+ }
254
+ };
255
+ }
256
+
257
+ // ═══════════════════════════════════════════════════════════════════════════════
258
+ // EXPORTS
259
+ // ═══════════════════════════════════════════════════════════════════════════════
260
+
261
+ module.exports = {
262
+ // Main factory
263
+ createEnhancedRealityMode,
264
+
265
+ // Scenario Generation
266
+ ScenarioGenerator,
267
+ ScenarioExecutor,
268
+ SCENARIO_TEMPLATES,
269
+
270
+ // Learning Firewall
271
+ LearningEngine,
272
+ getLearningEngine,
273
+ FEEDBACK_TYPE,
274
+ FEEDBACK_WEIGHT,
275
+
276
+ // Visual Regression
277
+ VisualRegressionEngine,
278
+ createVisualHooks,
279
+ VISUAL_CONFIG,
280
+
281
+ // Performance Tracking
282
+ PerformanceTracker,
283
+ PERFORMANCE_THRESHOLDS,
284
+ REGRESSION_THRESHOLDS,
285
+
286
+ // Flight Recorder
287
+ FlightRecorderViewer,
288
+ FLIGHT_RECORDER_TEMPLATE,
289
+
290
+ // API Contract Validation
291
+ APIContractValidator,
292
+ SchemaValidator,
293
+ SPEC_LOCATIONS,
294
+
295
+ // Cross-Repo Intelligence
296
+ CrossRepoIntelligence,
297
+ StackFingerprinter,
298
+ DEFAULT_INTELLIGENCE_DB,
299
+
300
+ // Custom Rules
301
+ CustomRuleEngine,
302
+ RuleParser,
303
+ RuleExecutor,
304
+ RULE_SCHEMA
305
+ };