@vibecheckai/cli 3.5.0 → 3.5.2
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/bin/registry.js +214 -237
- package/bin/runners/cli-utils.js +33 -2
- package/bin/runners/context/analyzer.js +52 -1
- package/bin/runners/context/generators/cursor.js +2 -49
- package/bin/runners/context/git-context.js +3 -1
- package/bin/runners/context/team-conventions.js +33 -7
- package/bin/runners/lib/analysis-core.js +25 -5
- package/bin/runners/lib/analyzers.js +431 -481
- package/bin/runners/lib/default-config.js +127 -0
- package/bin/runners/lib/doctor/modules/security.js +3 -1
- package/bin/runners/lib/engine/ast-cache.js +210 -0
- package/bin/runners/lib/engine/auth-extractor.js +211 -0
- package/bin/runners/lib/engine/billing-extractor.js +112 -0
- package/bin/runners/lib/engine/enforcement-extractor.js +100 -0
- package/bin/runners/lib/engine/env-extractor.js +207 -0
- package/bin/runners/lib/engine/express-extractor.js +208 -0
- package/bin/runners/lib/engine/extractors.js +849 -0
- package/bin/runners/lib/engine/index.js +207 -0
- package/bin/runners/lib/engine/repo-index.js +514 -0
- package/bin/runners/lib/engine/types.js +124 -0
- package/bin/runners/lib/engines/accessibility-engine.js +18 -218
- package/bin/runners/lib/engines/api-consistency-engine.js +30 -335
- package/bin/runners/lib/engines/cross-file-analysis-engine.js +27 -292
- package/bin/runners/lib/engines/empty-catch-engine.js +17 -127
- package/bin/runners/lib/engines/mock-data-engine.js +10 -53
- package/bin/runners/lib/engines/performance-issues-engine.js +36 -176
- package/bin/runners/lib/engines/security-vulnerabilities-engine.js +54 -382
- package/bin/runners/lib/engines/type-aware-engine.js +39 -263
- package/bin/runners/lib/engines/vibecheck-engines/index.js +13 -122
- package/bin/runners/lib/engines/vibecheck-engines/lib/ast-cache.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/code-quality-engine.js +291 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/console-logs-engine.js +83 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/dead-code-engine.js +198 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/deprecated-api-engine.js +275 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/empty-catch-engine.js +167 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/file-filter.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/hardcoded-secrets-engine.js +73 -373
- package/bin/runners/lib/engines/vibecheck-engines/lib/mock-data-engine.js +140 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/parallel-processor.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/performance-issues-engine.js +234 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/type-aware-engine.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/unsafe-regex-engine.js +78 -0
- package/bin/runners/lib/entitlements-v2.js +73 -97
- package/bin/runners/lib/error-handler.js +44 -3
- package/bin/runners/lib/error-messages.js +289 -0
- package/bin/runners/lib/evidence-pack.js +7 -1
- package/bin/runners/lib/finding-id.js +69 -0
- package/bin/runners/lib/finding-sorter.js +89 -0
- package/bin/runners/lib/html-proof-report.js +700 -350
- package/bin/runners/lib/missions/plan.js +6 -46
- package/bin/runners/lib/missions/templates.js +0 -232
- package/bin/runners/lib/next-action.js +560 -0
- package/bin/runners/lib/prerequisites.js +149 -0
- package/bin/runners/lib/route-detection.js +137 -68
- package/bin/runners/lib/scan-output.js +91 -76
- package/bin/runners/lib/scan-runner.js +135 -0
- package/bin/runners/lib/schemas/ajv-validator.js +464 -0
- package/bin/runners/lib/schemas/error-envelope.schema.json +105 -0
- package/bin/runners/lib/schemas/finding-v3.schema.json +151 -0
- package/bin/runners/lib/schemas/report-artifact.schema.json +120 -0
- package/bin/runners/lib/schemas/run-request.schema.json +108 -0
- package/bin/runners/lib/schemas/validator.js +27 -0
- package/bin/runners/lib/schemas/verdict.schema.json +140 -0
- package/bin/runners/lib/ship-output-enterprise.js +23 -23
- package/bin/runners/lib/ship-output.js +75 -31
- package/bin/runners/lib/terminal-ui.js +6 -113
- package/bin/runners/lib/truth.js +351 -10
- package/bin/runners/lib/unified-cli-output.js +430 -603
- package/bin/runners/lib/unified-output.js +13 -9
- package/bin/runners/runAIAgent.js +10 -5
- package/bin/runners/runAgent.js +0 -3
- package/bin/runners/runAllowlist.js +389 -0
- package/bin/runners/runApprove.js +0 -33
- package/bin/runners/runAuth.js +73 -45
- package/bin/runners/runCheckpoint.js +51 -11
- package/bin/runners/runClassify.js +85 -21
- package/bin/runners/runContext.js +0 -3
- package/bin/runners/runDoctor.js +41 -28
- package/bin/runners/runEvidencePack.js +362 -0
- package/bin/runners/runFirewall.js +0 -3
- package/bin/runners/runFirewallHook.js +0 -3
- package/bin/runners/runFix.js +66 -76
- package/bin/runners/runGuard.js +18 -411
- package/bin/runners/runInit.js +113 -30
- package/bin/runners/runLabs.js +424 -0
- package/bin/runners/runMcp.js +19 -25
- package/bin/runners/runPolish.js +64 -240
- package/bin/runners/runPromptFirewall.js +12 -5
- package/bin/runners/runProve.js +57 -22
- package/bin/runners/runQuickstart.js +531 -0
- package/bin/runners/runReality.js +59 -68
- package/bin/runners/runReport.js +38 -33
- package/bin/runners/runRuntime.js +8 -5
- package/bin/runners/runScan.js +1413 -190
- package/bin/runners/runShip.js +113 -719
- package/bin/runners/runTruth.js +0 -3
- package/bin/runners/runValidate.js +13 -9
- package/bin/runners/runWatch.js +23 -14
- package/bin/scan.js +6 -1
- package/bin/vibecheck.js +204 -185
- package/mcp-server/deprecation-middleware.js +282 -0
- package/mcp-server/handlers/index.ts +15 -0
- package/mcp-server/handlers/tool-handler.ts +554 -0
- package/mcp-server/index-v1.js +698 -0
- package/mcp-server/index.js +210 -238
- package/mcp-server/lib/cache-wrapper.cjs +383 -0
- package/mcp-server/lib/error-envelope.js +138 -0
- package/mcp-server/lib/executor.ts +499 -0
- package/mcp-server/lib/index.ts +19 -0
- package/mcp-server/lib/rate-limiter.js +166 -0
- package/mcp-server/lib/sandbox.test.ts +519 -0
- package/mcp-server/lib/sandbox.ts +395 -0
- package/mcp-server/lib/types.ts +267 -0
- package/mcp-server/package.json +12 -3
- package/mcp-server/registry/tool-registry.js +794 -0
- package/mcp-server/registry/tools.json +605 -0
- package/mcp-server/registry.test.ts +334 -0
- package/mcp-server/tests/tier-gating.test.js +297 -0
- package/mcp-server/tier-auth.js +378 -45
- package/mcp-server/tools-v3.js +353 -442
- package/mcp-server/tsconfig.json +37 -0
- package/mcp-server/vibecheck-2.0-tools.js +14 -1
- package/package.json +1 -1
- package/bin/runners/lib/agent-firewall/learning/learning-engine.js +0 -849
- package/bin/runners/lib/audit-logger.js +0 -532
- package/bin/runners/lib/authority/authorities/architecture.js +0 -364
- package/bin/runners/lib/authority/authorities/compliance.js +0 -341
- package/bin/runners/lib/authority/authorities/human.js +0 -343
- package/bin/runners/lib/authority/authorities/quality.js +0 -420
- package/bin/runners/lib/authority/authorities/security.js +0 -228
- package/bin/runners/lib/authority/index.js +0 -293
- package/bin/runners/lib/bundle/bundle-intelligence.js +0 -846
- package/bin/runners/lib/cli-charts.js +0 -368
- package/bin/runners/lib/cli-config-display.js +0 -405
- package/bin/runners/lib/cli-demo.js +0 -275
- package/bin/runners/lib/cli-errors.js +0 -438
- package/bin/runners/lib/cli-help-formatter.js +0 -439
- package/bin/runners/lib/cli-interactive-menu.js +0 -509
- package/bin/runners/lib/cli-prompts.js +0 -441
- package/bin/runners/lib/cli-scan-cards.js +0 -362
- package/bin/runners/lib/compliance-reporter.js +0 -710
- package/bin/runners/lib/conductor/index.js +0 -671
- package/bin/runners/lib/easy/README.md +0 -123
- package/bin/runners/lib/easy/index.js +0 -140
- package/bin/runners/lib/easy/interactive-wizard.js +0 -788
- package/bin/runners/lib/easy/one-click-firewall.js +0 -564
- package/bin/runners/lib/easy/zero-config-reality.js +0 -714
- package/bin/runners/lib/engines/async-patterns-engine.js +0 -444
- package/bin/runners/lib/engines/bundle-size-engine.js +0 -433
- package/bin/runners/lib/engines/confidence-scoring.js +0 -276
- package/bin/runners/lib/engines/context-detection.js +0 -264
- package/bin/runners/lib/engines/database-patterns-engine.js +0 -429
- package/bin/runners/lib/engines/duplicate-code-engine.js +0 -354
- package/bin/runners/lib/engines/env-variables-engine.js +0 -458
- package/bin/runners/lib/engines/error-handling-engine.js +0 -437
- package/bin/runners/lib/engines/false-positive-prevention.js +0 -630
- package/bin/runners/lib/engines/framework-adapters/index.js +0 -607
- package/bin/runners/lib/engines/framework-detection.js +0 -508
- package/bin/runners/lib/engines/import-order-engine.js +0 -429
- package/bin/runners/lib/engines/naming-conventions-engine.js +0 -544
- package/bin/runners/lib/engines/noise-reduction-engine.js +0 -452
- package/bin/runners/lib/engines/orchestrator.js +0 -334
- package/bin/runners/lib/engines/react-patterns-engine.js +0 -457
- package/bin/runners/lib/engines/vibecheck-engines/lib/ai-hallucination-engine.js +0 -806
- package/bin/runners/lib/engines/vibecheck-engines/lib/smart-fix-engine.js +0 -577
- package/bin/runners/lib/engines/vibecheck-engines/lib/vibe-score-engine.js +0 -543
- package/bin/runners/lib/engines/vibecheck-engines.js +0 -514
- package/bin/runners/lib/enhanced-features/index.js +0 -305
- package/bin/runners/lib/enhanced-output.js +0 -631
- package/bin/runners/lib/enterprise.js +0 -300
- package/bin/runners/lib/firewall/command-validator.js +0 -351
- package/bin/runners/lib/firewall/config.js +0 -341
- package/bin/runners/lib/firewall/content-validator.js +0 -519
- package/bin/runners/lib/firewall/index.js +0 -101
- package/bin/runners/lib/firewall/path-validator.js +0 -256
- package/bin/runners/lib/intelligence/cross-repo-intelligence.js +0 -817
- package/bin/runners/lib/mcp-utils.js +0 -425
- package/bin/runners/lib/output/index.js +0 -1022
- package/bin/runners/lib/policy-engine.js +0 -652
- package/bin/runners/lib/polish/autofix/accessibility-fixes.js +0 -333
- package/bin/runners/lib/polish/autofix/async-handlers.js +0 -273
- package/bin/runners/lib/polish/autofix/dead-code.js +0 -280
- package/bin/runners/lib/polish/autofix/imports-optimizer.js +0 -344
- package/bin/runners/lib/polish/autofix/index.js +0 -200
- package/bin/runners/lib/polish/autofix/remove-consoles.js +0 -209
- package/bin/runners/lib/polish/autofix/strengthen-types.js +0 -245
- package/bin/runners/lib/polish/backend-checks.js +0 -148
- package/bin/runners/lib/polish/documentation-checks.js +0 -111
- package/bin/runners/lib/polish/frontend-checks.js +0 -168
- package/bin/runners/lib/polish/index.js +0 -71
- package/bin/runners/lib/polish/infrastructure-checks.js +0 -131
- package/bin/runners/lib/polish/library-detection.js +0 -175
- package/bin/runners/lib/polish/performance-checks.js +0 -100
- package/bin/runners/lib/polish/security-checks.js +0 -148
- package/bin/runners/lib/polish/utils.js +0 -203
- package/bin/runners/lib/prompt-builder.js +0 -540
- package/bin/runners/lib/proof-certificate.js +0 -634
- package/bin/runners/lib/reality/accessibility-audit.js +0 -946
- package/bin/runners/lib/reality/api-contract-validator.js +0 -1012
- package/bin/runners/lib/reality/chaos-engineering.js +0 -1084
- package/bin/runners/lib/reality/performance-tracker.js +0 -1077
- package/bin/runners/lib/reality/scenario-generator.js +0 -1404
- package/bin/runners/lib/reality/visual-regression.js +0 -852
- package/bin/runners/lib/reality-profiler.js +0 -717
- package/bin/runners/lib/replay/flight-recorder-viewer.js +0 -1160
- package/bin/runners/lib/review/ai-code-review.js +0 -832
- package/bin/runners/lib/rules/custom-rule-engine.js +0 -985
- package/bin/runners/lib/sbom-generator.js +0 -641
- package/bin/runners/lib/scan-output-enhanced.js +0 -512
- package/bin/runners/lib/security/owasp-scanner.js +0 -939
- package/bin/runners/lib/validators/contract-validator.js +0 -283
- package/bin/runners/lib/validators/dead-export-detector.js +0 -279
- package/bin/runners/lib/validators/dep-audit.js +0 -245
- package/bin/runners/lib/validators/env-validator.js +0 -319
- package/bin/runners/lib/validators/index.js +0 -120
- package/bin/runners/lib/validators/license-checker.js +0 -252
- package/bin/runners/lib/validators/route-validator.js +0 -290
- package/bin/runners/runAuthority.js +0 -528
- package/bin/runners/runConductor.js +0 -772
- package/bin/runners/runContainer.js +0 -366
- package/bin/runners/runEasy.js +0 -410
- package/bin/runners/runIaC.js +0 -372
- package/bin/runners/runVibe.js +0 -791
- package/mcp-server/tools.js +0 -495
package/bin/registry.js
CHANGED
|
@@ -7,45 +7,41 @@
|
|
|
7
7
|
* Simple 2-tier model:
|
|
8
8
|
* - FREE ($0): Inspect & Observe
|
|
9
9
|
* - PRO ($69/mo): Fix, Prove & Enforce
|
|
10
|
-
*
|
|
11
|
-
* SCAN = Quick lint (5 core engines, fast, FREE)
|
|
12
|
-
* SHIP = Comprehensive verdict (all engines + proof cert, PRO)
|
|
13
10
|
*/
|
|
14
11
|
|
|
15
12
|
"use strict";
|
|
16
13
|
|
|
17
14
|
// ─────────────────────────────────────────────────────────────
|
|
18
|
-
// CLI COMMANDS (
|
|
15
|
+
// CLI COMMANDS (2-tier: FREE / PRO)
|
|
19
16
|
// ─────────────────────────────────────────────────────────────
|
|
20
17
|
const ALLOWED_COMMANDS = new Set([
|
|
21
|
-
// FREE (
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"login",
|
|
31
|
-
"logout",
|
|
32
|
-
"whoami",
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"prove",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"conductor.propose", // submit change proposal
|
|
18
|
+
// FREE (14) - Inspect & Observe
|
|
19
|
+
"init", // one-time setup
|
|
20
|
+
"quickstart", // 2-minute onboarding (NEW)
|
|
21
|
+
"doctor", // health check
|
|
22
|
+
"watch", // continuous mode
|
|
23
|
+
"scan", // static analysis
|
|
24
|
+
"report", // generate reports
|
|
25
|
+
"context", // generate IDE rules
|
|
26
|
+
"classify", // Authority: inventory (read-only)
|
|
27
|
+
"login", // authenticate
|
|
28
|
+
"logout", // remove credentials
|
|
29
|
+
"whoami", // show current user
|
|
30
|
+
"allowlist", // manage finding allowlist
|
|
31
|
+
"evidence-pack", // bundle proof artifacts
|
|
32
|
+
"labs", // experimental features
|
|
33
|
+
|
|
34
|
+
// PRO (9) - Fix, Prove & Enforce
|
|
35
|
+
"ship", // verdict engine (GO/NO-GO)
|
|
36
|
+
"fix", // AI-powered fixes
|
|
37
|
+
"prove", // runtime proof
|
|
38
|
+
"reality", // browser verification
|
|
39
|
+
"gate", // CI/CD enforcement
|
|
40
|
+
"guard", // AI guardrails
|
|
41
|
+
"mcp", // MCP server
|
|
42
|
+
"checkpoint", // baseline comparison
|
|
43
|
+
"approve", // Authority: verdicts
|
|
44
|
+
"polish", // production polish
|
|
49
45
|
]);
|
|
50
46
|
|
|
51
47
|
function assertAllowedOnly(obj) {
|
|
@@ -63,39 +59,54 @@ const COMMANDS = {
|
|
|
63
59
|
// FREE TIER - Inspect & Observe
|
|
64
60
|
// ══════════════════════════════════════════════════════════════
|
|
65
61
|
|
|
66
|
-
|
|
67
|
-
description: "
|
|
68
|
-
longDescription: "
|
|
62
|
+
init: {
|
|
63
|
+
description: "One-time setup (config + contracts + scripts)",
|
|
64
|
+
longDescription: "Initialize vibecheck in your project. Creates configuration files, sets up IDE rules, and optionally connects to the dashboard.",
|
|
69
65
|
tier: "free",
|
|
70
|
-
category: "
|
|
71
|
-
aliases: ["
|
|
72
|
-
runner: () => require("./runners/
|
|
66
|
+
category: "setup",
|
|
67
|
+
aliases: ["setup", "configure"],
|
|
68
|
+
runner: () => require("./runners/runInit").runInit,
|
|
73
69
|
examples: [
|
|
74
|
-
{ command: "vibecheck
|
|
75
|
-
{ command: "vibecheck
|
|
76
|
-
{ command: "vibecheck
|
|
70
|
+
{ command: "vibecheck init", description: "Interactive setup wizard" },
|
|
71
|
+
{ command: "vibecheck init --local", description: "Quick local-only setup" },
|
|
72
|
+
{ command: "vibecheck init --quick", description: "Non-interactive defaults" },
|
|
77
73
|
],
|
|
78
|
-
related: ["
|
|
74
|
+
related: ["quickstart", "doctor", "scan"],
|
|
79
75
|
},
|
|
80
76
|
|
|
81
|
-
|
|
82
|
-
description: "
|
|
83
|
-
longDescription: "
|
|
77
|
+
quickstart: {
|
|
78
|
+
description: "2-minute onboarding: doctor → ctx → scan → ship → report",
|
|
79
|
+
longDescription: "Get your first proof in under 2 minutes. Runs the complete verification pipeline with sensible defaults.",
|
|
84
80
|
tier: "free",
|
|
85
81
|
category: "setup",
|
|
86
|
-
aliases: ["
|
|
87
|
-
runner: () => require("./runners/
|
|
82
|
+
aliases: ["qs", "start", "onboard"],
|
|
83
|
+
runner: () => require("./runners/runQuickstart").runQuickstart,
|
|
88
84
|
examples: [
|
|
89
|
-
{ command: "vibecheck
|
|
90
|
-
{ command: "vibecheck
|
|
91
|
-
{ command: "vibecheck
|
|
85
|
+
{ command: "vibecheck quickstart", description: "Run full 2-minute onboarding" },
|
|
86
|
+
{ command: "vibecheck quickstart --fast", description: "Skip optional checks" },
|
|
87
|
+
{ command: "vibecheck quickstart --no-open", description: "Don't open report in browser" },
|
|
92
88
|
],
|
|
93
|
-
related: ["scan", "
|
|
89
|
+
related: ["init", "scan", "ship"],
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
doctor: {
|
|
93
|
+
description: "Environment + dependency + config health check",
|
|
94
|
+
longDescription: "Comprehensive diagnostics for your development environment.",
|
|
95
|
+
tier: "free",
|
|
96
|
+
category: "setup",
|
|
97
|
+
aliases: ["health", "diag"],
|
|
98
|
+
runner: () => require("./runners/runDoctor").runDoctor,
|
|
99
|
+
examples: [
|
|
100
|
+
{ command: "vibecheck doctor", description: "Run all health checks" },
|
|
101
|
+
{ command: "vibecheck doctor --fix", description: "Auto-fix detected issues" },
|
|
102
|
+
{ command: "vibecheck doctor --json", description: "Output as JSON" },
|
|
103
|
+
],
|
|
104
|
+
related: ["init", "scan"],
|
|
94
105
|
},
|
|
95
106
|
|
|
96
107
|
watch: {
|
|
97
|
-
description: "
|
|
98
|
-
longDescription: "File watcher that automatically re-runs
|
|
108
|
+
description: "Continuous mode - re-runs on changes",
|
|
109
|
+
longDescription: "File watcher that automatically re-runs scans when your code changes.",
|
|
99
110
|
tier: "free",
|
|
100
111
|
category: "setup",
|
|
101
112
|
aliases: ["w", "dev"],
|
|
@@ -107,24 +118,24 @@ const COMMANDS = {
|
|
|
107
118
|
related: ["scan"],
|
|
108
119
|
},
|
|
109
120
|
|
|
110
|
-
|
|
111
|
-
description: "
|
|
112
|
-
longDescription: "
|
|
121
|
+
scan: {
|
|
122
|
+
description: "Static code analysis; use --allowlist for false positives",
|
|
123
|
+
longDescription: "Scan your codebase for route integrity issues, security vulnerabilities, and code quality problems.",
|
|
113
124
|
tier: "free",
|
|
114
|
-
category: "
|
|
115
|
-
aliases: ["
|
|
116
|
-
runner: () => require("./runners/
|
|
125
|
+
category: "proof",
|
|
126
|
+
aliases: ["s", "check"],
|
|
127
|
+
runner: () => require("./runners/runScan").runScan,
|
|
117
128
|
examples: [
|
|
118
|
-
{ command: "vibecheck
|
|
119
|
-
{ command: "vibecheck
|
|
120
|
-
{ command: "vibecheck
|
|
129
|
+
{ command: "vibecheck scan", description: "Quick scan" },
|
|
130
|
+
{ command: "vibecheck scan --profile full", description: "Full scan" },
|
|
131
|
+
{ command: "vibecheck scan --allowlist list", description: "View suppressed findings" },
|
|
121
132
|
],
|
|
122
|
-
related: ["
|
|
133
|
+
related: ["ship", "fix", "report"],
|
|
123
134
|
},
|
|
124
135
|
|
|
125
136
|
report: {
|
|
126
|
-
description: "Generate HTML/SARIF reports
|
|
127
|
-
longDescription: "Create shareable reports from scan results
|
|
137
|
+
description: "Generate HTML/MD/SARIF reports",
|
|
138
|
+
longDescription: "Create shareable reports from scan results.",
|
|
128
139
|
tier: "free",
|
|
129
140
|
category: "output",
|
|
130
141
|
aliases: ["html", "artifact"],
|
|
@@ -134,42 +145,42 @@ const COMMANDS = {
|
|
|
134
145
|
{ command: "vibecheck report --format md", description: "Markdown report" },
|
|
135
146
|
{ command: "vibecheck report --format sarif", description: "SARIF for GitHub" },
|
|
136
147
|
],
|
|
137
|
-
related: ["scan"
|
|
148
|
+
related: ["scan"],
|
|
138
149
|
},
|
|
139
150
|
|
|
140
|
-
|
|
141
|
-
description: "
|
|
142
|
-
longDescription: "
|
|
151
|
+
context: {
|
|
152
|
+
description: "Generate IDE rules (.cursorrules, MDC, Copilot)",
|
|
153
|
+
longDescription: "Generate project-aware AI coding rules for your IDE.",
|
|
143
154
|
tier: "free",
|
|
144
|
-
category: "
|
|
145
|
-
aliases: ["
|
|
146
|
-
runner: () => require("./runners/
|
|
155
|
+
category: "truth",
|
|
156
|
+
aliases: ["rules", "ai-rules", "mdc", "ctx"],
|
|
157
|
+
runner: () => require("./runners/runContext").runContext,
|
|
147
158
|
examples: [
|
|
148
|
-
{ command: "vibecheck
|
|
149
|
-
{ command: "vibecheck
|
|
150
|
-
{ command: "vibecheck authority approve -a quality -a security", description: "Multi-authority" },
|
|
159
|
+
{ command: "vibecheck context", description: "Generate all IDE rules" },
|
|
160
|
+
{ command: "vibecheck context --format cursor", description: ".cursorrules only" },
|
|
151
161
|
],
|
|
152
|
-
related: ["
|
|
162
|
+
related: ["scan", "guard"],
|
|
153
163
|
},
|
|
154
164
|
|
|
155
|
-
|
|
156
|
-
description: "
|
|
157
|
-
longDescription: "
|
|
165
|
+
classify: {
|
|
166
|
+
description: "Inventory authority - duplication & legacy code maps",
|
|
167
|
+
longDescription: "Read-only inventory of your codebase including duplication maps and legacy code detection.",
|
|
158
168
|
tier: "free",
|
|
159
169
|
category: "authority",
|
|
160
|
-
aliases: ["
|
|
161
|
-
runner: () => require("./runners/
|
|
170
|
+
aliases: ["inventory", "audit"],
|
|
171
|
+
runner: () => require("./runners/runClassify").runClassify,
|
|
162
172
|
examples: [
|
|
163
|
-
{ command: "vibecheck
|
|
173
|
+
{ command: "vibecheck classify", description: "Quick inventory" },
|
|
174
|
+
{ command: "vibecheck classify --json", description: "JSON output" },
|
|
164
175
|
],
|
|
165
|
-
related: ["
|
|
176
|
+
related: ["approve", "scan"],
|
|
166
177
|
},
|
|
167
178
|
|
|
168
179
|
login: {
|
|
169
180
|
description: "Authenticate with API key",
|
|
170
|
-
longDescription: "Connect your CLI to the vibecheck API
|
|
181
|
+
longDescription: "Connect your CLI to the vibecheck API.",
|
|
171
182
|
tier: "free",
|
|
172
|
-
category: "
|
|
183
|
+
category: "account",
|
|
173
184
|
aliases: ["auth", "signin"],
|
|
174
185
|
runner: () => require("./runners/runAuth").runLogin,
|
|
175
186
|
skipAuth: true,
|
|
@@ -181,10 +192,9 @@ const COMMANDS = {
|
|
|
181
192
|
},
|
|
182
193
|
|
|
183
194
|
logout: {
|
|
184
|
-
description: "
|
|
185
|
-
longDescription: "Remove stored authentication credentials from your system.",
|
|
195
|
+
description: "Remove stored credentials",
|
|
186
196
|
tier: "free",
|
|
187
|
-
category: "
|
|
197
|
+
category: "account",
|
|
188
198
|
aliases: ["signout"],
|
|
189
199
|
runner: () => require("./runners/runAuth").runLogout,
|
|
190
200
|
skipAuth: true,
|
|
@@ -196,9 +206,8 @@ const COMMANDS = {
|
|
|
196
206
|
|
|
197
207
|
whoami: {
|
|
198
208
|
description: "Show current user and plan",
|
|
199
|
-
longDescription: "Display information about the currently authenticated user and their subscription plan.",
|
|
200
209
|
tier: "free",
|
|
201
|
-
category: "
|
|
210
|
+
category: "account",
|
|
202
211
|
aliases: ["me", "user"],
|
|
203
212
|
runner: () => require("./runners/runAuth").runWhoami,
|
|
204
213
|
skipAuth: true,
|
|
@@ -208,17 +217,53 @@ const COMMANDS = {
|
|
|
208
217
|
related: ["login", "logout"],
|
|
209
218
|
},
|
|
210
219
|
|
|
211
|
-
|
|
212
|
-
description: "
|
|
213
|
-
longDescription: "
|
|
220
|
+
allowlist: {
|
|
221
|
+
description: "Manage finding allowlist for false positives",
|
|
222
|
+
longDescription: "Add, remove, or view allowlist entries to suppress known false positives. Supports patterns, file scopes, and expiration.",
|
|
214
223
|
tier: "free",
|
|
215
224
|
category: "setup",
|
|
216
|
-
aliases: ["
|
|
217
|
-
runner: () => require("./runners/
|
|
225
|
+
aliases: ["al", "suppress"],
|
|
226
|
+
runner: () => require("./runners/runAllowlist").runAllowlist,
|
|
227
|
+
examples: [
|
|
228
|
+
{ command: "vibecheck allowlist", description: "List allowlist entries" },
|
|
229
|
+
{ command: "vibecheck allowlist add --id MOCK_DATA_xyz --reason 'Test fixture'", description: "Add by ID" },
|
|
230
|
+
{ command: "vibecheck allowlist add --pattern 'lorem' --reason 'Placeholder'", description: "Add pattern" },
|
|
231
|
+
{ command: "vibecheck allowlist remove --id AL_abc123", description: "Remove entry" },
|
|
232
|
+
],
|
|
233
|
+
related: ["scan", "ship"],
|
|
234
|
+
},
|
|
235
|
+
|
|
236
|
+
"evidence-pack": {
|
|
237
|
+
description: "Bundle proof artifacts into shareable packs",
|
|
238
|
+
longDescription: "Creates shareable evidence packs from proof runs. Bundles videos, traces, screenshots, and findings.",
|
|
239
|
+
tier: "free",
|
|
240
|
+
category: "output",
|
|
241
|
+
aliases: ["pack", "bundle"],
|
|
242
|
+
runner: () => require("./runners/runEvidencePack").runEvidencePack,
|
|
218
243
|
examples: [
|
|
219
|
-
{ command: "vibecheck
|
|
244
|
+
{ command: "vibecheck evidence-pack", description: "Bundle latest run" },
|
|
245
|
+
{ command: "vibecheck evidence-pack --run-id abc123", description: "Bundle specific run" },
|
|
246
|
+
{ command: "vibecheck evidence-pack --markdown", description: "Markdown report" },
|
|
247
|
+
{ command: "vibecheck evidence-pack --no-videos", description: "Exclude large files" },
|
|
220
248
|
],
|
|
221
|
-
related: ["
|
|
249
|
+
related: ["prove", "reality"],
|
|
250
|
+
},
|
|
251
|
+
|
|
252
|
+
labs: {
|
|
253
|
+
description: "Experimental & beta features",
|
|
254
|
+
longDescription: "Access experimental features that are in development. Features may change or be removed without notice.",
|
|
255
|
+
tier: "free",
|
|
256
|
+
category: "setup",
|
|
257
|
+
aliases: ["experimental", "beta"],
|
|
258
|
+
runner: () => require("./runners/runLabs").runLabs,
|
|
259
|
+
skipAuth: true,
|
|
260
|
+
examples: [
|
|
261
|
+
{ command: "vibecheck labs", description: "List available features" },
|
|
262
|
+
{ command: "vibecheck labs ai-agent --url http://localhost:3000", description: "AI agent" },
|
|
263
|
+
{ command: "vibecheck labs security-audit", description: "Security audit" },
|
|
264
|
+
{ command: "vibecheck labs smart-fix", description: "AI-powered fixes" },
|
|
265
|
+
],
|
|
266
|
+
related: ["scan", "fix"],
|
|
222
267
|
},
|
|
223
268
|
|
|
224
269
|
// ══════════════════════════════════════════════════════════════
|
|
@@ -226,11 +271,11 @@ const COMMANDS = {
|
|
|
226
271
|
// ══════════════════════════════════════════════════════════════
|
|
227
272
|
|
|
228
273
|
ship: {
|
|
229
|
-
description: "
|
|
230
|
-
longDescription: "The final word on whether your code is ready to ship.
|
|
274
|
+
description: "Verdict engine - SHIP / WARN / BLOCK",
|
|
275
|
+
longDescription: "The final word on whether your code is ready to ship. Combines all scan results and generates a clear verdict.",
|
|
231
276
|
tier: "pro",
|
|
232
|
-
category: "
|
|
233
|
-
aliases: ["verdict", "go"
|
|
277
|
+
category: "proof",
|
|
278
|
+
aliases: ["verdict", "go"],
|
|
234
279
|
runner: () => require("./runners/runShip").runShip,
|
|
235
280
|
examples: [
|
|
236
281
|
{ command: "vibecheck ship", description: "Get shipping verdict" },
|
|
@@ -241,199 +286,131 @@ const COMMANDS = {
|
|
|
241
286
|
},
|
|
242
287
|
|
|
243
288
|
fix: {
|
|
244
|
-
description: "AI-powered auto-fix
|
|
245
|
-
longDescription: "Generate AI
|
|
289
|
+
description: "AI-powered auto-fix for findings",
|
|
290
|
+
longDescription: "Generate AI prompts to fix detected issues. Use --apply to let AI make changes directly.",
|
|
246
291
|
tier: "pro",
|
|
247
|
-
category: "
|
|
248
|
-
aliases: ["f", "repair"
|
|
292
|
+
category: "proof",
|
|
293
|
+
aliases: ["f", "repair"],
|
|
249
294
|
runner: () => require("./runners/runFix").runFix,
|
|
250
295
|
examples: [
|
|
251
296
|
{ command: "vibecheck fix", description: "Generate fix missions" },
|
|
252
297
|
{ command: "vibecheck fix --apply", description: "Apply AI fixes" },
|
|
253
298
|
{ command: "vibecheck fix --loop", description: "Fix loop until clean" },
|
|
254
299
|
],
|
|
255
|
-
related: ["scan", "ship"
|
|
300
|
+
related: ["scan", "ship"],
|
|
256
301
|
},
|
|
257
302
|
|
|
258
|
-
|
|
259
|
-
description: "
|
|
260
|
-
longDescription: "
|
|
303
|
+
prove: {
|
|
304
|
+
description: "Full proof loop with runtime verification",
|
|
305
|
+
longDescription: "Complete verification cycle with runtime testing and evidence generation.",
|
|
261
306
|
tier: "pro",
|
|
262
|
-
category: "
|
|
263
|
-
aliases: ["
|
|
264
|
-
runner: () => require("./runners/
|
|
307
|
+
category: "proof",
|
|
308
|
+
aliases: ["p", "verify"],
|
|
309
|
+
runner: () => require("./runners/runProve").runProve,
|
|
265
310
|
examples: [
|
|
266
|
-
{ command: "vibecheck
|
|
267
|
-
{ command: "vibecheck
|
|
268
|
-
{ command: "vibecheck
|
|
269
|
-
{ command: "vibecheck polish --safe-only --apply", description: "Apply only safe fixes" },
|
|
270
|
-
{ command: "vibecheck polish --list-passes", description: "List available passes" },
|
|
311
|
+
{ command: "vibecheck prove", description: "Run full proof loop" },
|
|
312
|
+
{ command: "vibecheck prove --url http://localhost:3000", description: "With runtime testing" },
|
|
313
|
+
{ command: "vibecheck prove --bundle", description: "Generate evidence pack" },
|
|
271
314
|
],
|
|
272
|
-
related: ["ship", "
|
|
315
|
+
related: ["ship", "reality"],
|
|
273
316
|
},
|
|
274
317
|
|
|
275
318
|
reality: {
|
|
276
|
-
description: "
|
|
277
|
-
longDescription: "Verify your app's runtime behavior with Playwright-powered browser testing.
|
|
319
|
+
description: "Browser-based runtime verification",
|
|
320
|
+
longDescription: "Verify your app's runtime behavior with Playwright-powered browser testing.",
|
|
278
321
|
tier: "pro",
|
|
279
|
-
category: "
|
|
280
|
-
aliases: ["browser", "e2e"
|
|
322
|
+
category: "proof",
|
|
323
|
+
aliases: ["browser", "e2e"],
|
|
281
324
|
runner: () => require("./runners/runReality").runReality,
|
|
282
325
|
examples: [
|
|
283
326
|
{ command: "vibecheck reality --url http://localhost:3000", description: "Test localhost" },
|
|
284
327
|
{ command: "vibecheck reality --auth email:pass", description: "With authentication" },
|
|
285
|
-
{ command: "vibecheck reality --
|
|
286
|
-
],
|
|
287
|
-
related: ["prove", "ship", "ai-test"],
|
|
288
|
-
},
|
|
289
|
-
|
|
290
|
-
"ai-test": {
|
|
291
|
-
description: "AI agent for autonomous app testing",
|
|
292
|
-
longDescription: "AI-powered autonomous testing that explores your app like a real user. Supports common scenarios like login, checkout, and signup flows.",
|
|
293
|
-
tier: "pro",
|
|
294
|
-
category: "verification",
|
|
295
|
-
aliases: ["agent", "autonomous"],
|
|
296
|
-
runner: () => require("./runners/runAIAgent").runAIAgent,
|
|
297
|
-
examples: [
|
|
298
|
-
{ command: "vibecheck ai-test --url http://localhost:3000", description: "Explore app autonomously" },
|
|
299
|
-
{ command: "vibecheck ai-test --url http://localhost:3000 --scenario login", description: "Test login flow" },
|
|
300
|
-
{ command: "vibecheck ai-test --url http://localhost:3000 --headed", description: "Watch the AI test" },
|
|
301
|
-
],
|
|
302
|
-
related: ["reality", "prove"],
|
|
303
|
-
},
|
|
304
|
-
|
|
305
|
-
prove: {
|
|
306
|
-
description: "Full proof loop with evidence pack",
|
|
307
|
-
longDescription: "Complete verification cycle: scan + reality check + evidence generation. Creates cryptographically signed proof pack.",
|
|
308
|
-
tier: "pro",
|
|
309
|
-
category: "verification",
|
|
310
|
-
aliases: ["p", "verify", "evidence"],
|
|
311
|
-
runner: () => require("./runners/runProve").runProve,
|
|
312
|
-
examples: [
|
|
313
|
-
{ command: "vibecheck prove", description: "Run full proof loop" },
|
|
314
|
-
{ command: "vibecheck prove --url http://localhost:3000", description: "With runtime testing" },
|
|
315
|
-
{ command: "vibecheck prove --bundle", description: "Generate evidence pack" },
|
|
328
|
+
{ command: "vibecheck reality --agent", description: "AI agent testing" },
|
|
316
329
|
],
|
|
317
|
-
related: ["
|
|
330
|
+
related: ["prove", "ship"],
|
|
318
331
|
},
|
|
319
332
|
|
|
320
333
|
gate: {
|
|
321
|
-
description: "CI/CD enforcement -
|
|
322
|
-
longDescription: "Enforce quality gates in your CI/CD pipeline.
|
|
334
|
+
description: "CI/CD enforcement - fail builds on issues",
|
|
335
|
+
longDescription: "Enforce quality gates in your CI/CD pipeline.",
|
|
323
336
|
tier: "pro",
|
|
324
337
|
category: "automation",
|
|
325
|
-
aliases: ["ci", "enforce"
|
|
338
|
+
aliases: ["ci", "enforce"],
|
|
326
339
|
runner: () => require("./runners/runGuard").runGate,
|
|
327
340
|
examples: [
|
|
328
341
|
{ command: "vibecheck gate", description: "Run CI gate check" },
|
|
329
|
-
{ command: "vibecheck gate --strict", description: "Strict mode
|
|
330
|
-
{ command: "vibecheck gate --threshold 80", description: "Custom score threshold" },
|
|
342
|
+
{ command: "vibecheck gate --strict", description: "Strict mode" },
|
|
331
343
|
],
|
|
332
344
|
related: ["ship", "scan"],
|
|
333
345
|
},
|
|
334
346
|
|
|
335
347
|
guard: {
|
|
336
|
-
description: "
|
|
337
|
-
longDescription: "AI
|
|
338
|
-
tier: "free",
|
|
339
|
-
category: "firewall",
|
|
340
|
-
skipAuth: true, // Allow observe mode without authentication
|
|
341
|
-
aliases: ["firewall", "ai-guard"],
|
|
342
|
-
runner: () => require("./runners/runGuard").runGuard,
|
|
343
|
-
examples: [
|
|
344
|
-
{ command: "vibecheck guard --init", description: "Initialize firewall config" },
|
|
345
|
-
{ command: "vibecheck guard --mode observe --action write --path .env", description: "Check path (observe)" },
|
|
346
|
-
{ command: "vibecheck guard --mode enforce --action write --path .env", description: "Block write (PRO)" },
|
|
347
|
-
{ command: "vibecheck guard --action execute --command \"rm -rf /\"", description: "Validate command" },
|
|
348
|
-
{ command: "vibecheck guard --claims", description: "Verify AI claims (legacy)" },
|
|
349
|
-
],
|
|
350
|
-
related: ["context", "fix", "scan"],
|
|
351
|
-
},
|
|
352
|
-
|
|
353
|
-
"authority.approve": {
|
|
354
|
-
description: "Get authority verdict - APPROVED/REJECTED/PENDING with proofs",
|
|
355
|
-
longDescription: "Request approval from an authority for a specific action. Returns structured verdict with evidence and findings.",
|
|
356
|
-
tier: "pro",
|
|
357
|
-
category: "authority",
|
|
358
|
-
aliases: ["auth-verdict"],
|
|
359
|
-
runner: () => {
|
|
360
|
-
const { runAuthority } = require("./runners/runAuthority");
|
|
361
|
-
return (args, context) => runAuthority(['approve', ...args], context);
|
|
362
|
-
},
|
|
363
|
-
examples: [
|
|
364
|
-
{ command: "vibecheck authority approve --authority security", description: "Security review" },
|
|
365
|
-
{ command: "vibecheck authority approve -a security -a quality", description: "Multi-authority" },
|
|
366
|
-
{ command: "vibecheck authority approve -a security --json", description: "JSON output" },
|
|
367
|
-
],
|
|
368
|
-
related: ["authority", "authority.list", "ship"],
|
|
369
|
-
},
|
|
370
|
-
|
|
371
|
-
"conductor.status": {
|
|
372
|
-
description: "Multi-agent coordination status",
|
|
373
|
-
longDescription: "View status of registered AI agents, active locks, and pending proposals.",
|
|
348
|
+
description: "AI guardrails - prompt firewall & hallucination checking",
|
|
349
|
+
longDescription: "Validate AI-generated code and prompts. Detects prompt injection and verifies claims.",
|
|
374
350
|
tier: "pro",
|
|
375
|
-
category: "
|
|
376
|
-
aliases: ["
|
|
377
|
-
runner: () => require("./runners/
|
|
351
|
+
category: "truth",
|
|
352
|
+
aliases: ["ai-guard", "firewall", "validate"],
|
|
353
|
+
runner: () => require("./runners/runGuard").runGuard,
|
|
378
354
|
examples: [
|
|
379
|
-
{ command: "vibecheck
|
|
380
|
-
{ command: "vibecheck
|
|
355
|
+
{ command: "vibecheck guard", description: "Run all guardrail checks" },
|
|
356
|
+
{ command: "vibecheck guard --claims", description: "Verify AI claims" },
|
|
381
357
|
],
|
|
382
|
-
related: ["
|
|
358
|
+
related: ["context", "fix"],
|
|
383
359
|
},
|
|
384
360
|
|
|
385
|
-
|
|
386
|
-
description: "
|
|
387
|
-
longDescription: "
|
|
361
|
+
mcp: {
|
|
362
|
+
description: "Start MCP server for AI IDEs",
|
|
363
|
+
longDescription: "Launch an MCP server for AI IDE integration.",
|
|
388
364
|
tier: "pro",
|
|
389
|
-
category: "
|
|
390
|
-
aliases: [
|
|
391
|
-
runner: () => require("./runners/
|
|
365
|
+
category: "automation",
|
|
366
|
+
aliases: [],
|
|
367
|
+
runner: () => require("./runners/runMcp").runMcp,
|
|
392
368
|
examples: [
|
|
393
|
-
{ command: "vibecheck
|
|
369
|
+
{ command: "vibecheck mcp", description: "Start MCP server" },
|
|
370
|
+
{ command: "vibecheck mcp --port 3099", description: "Custom port" },
|
|
394
371
|
],
|
|
395
|
-
related: ["
|
|
372
|
+
related: ["context"],
|
|
396
373
|
},
|
|
397
374
|
|
|
398
|
-
|
|
399
|
-
description: "
|
|
400
|
-
longDescription: "
|
|
375
|
+
checkpoint: {
|
|
376
|
+
description: "Compare baseline vs current, hallucination scoring",
|
|
377
|
+
longDescription: "Track changes between scan runs. Detects new issues, resolved issues, and regressions.",
|
|
401
378
|
tier: "pro",
|
|
402
|
-
category: "
|
|
403
|
-
aliases: ["
|
|
404
|
-
runner: () => require("./runners/
|
|
379
|
+
category: "analysis",
|
|
380
|
+
aliases: ["cp", "compare", "diff"],
|
|
381
|
+
runner: () => require("./runners/runCheckpoint").runCheckpoint,
|
|
405
382
|
examples: [
|
|
406
|
-
{ command: "vibecheck
|
|
407
|
-
{ command: "vibecheck
|
|
383
|
+
{ command: "vibecheck checkpoint", description: "Compare against baseline" },
|
|
384
|
+
{ command: "vibecheck checkpoint --set", description: "Save new baseline" },
|
|
408
385
|
],
|
|
409
|
-
related: ["
|
|
386
|
+
related: ["scan", "fix"],
|
|
410
387
|
},
|
|
411
388
|
|
|
412
|
-
|
|
413
|
-
description: "
|
|
414
|
-
longDescription: "
|
|
389
|
+
approve: {
|
|
390
|
+
description: "Authority verdicts - PROCEED/STOP/DEFER with proofs",
|
|
391
|
+
longDescription: "Execute authorities to get structured verdicts with proofs.",
|
|
415
392
|
tier: "pro",
|
|
416
|
-
category: "
|
|
417
|
-
aliases: ["
|
|
418
|
-
runner: () => require("./runners/
|
|
393
|
+
category: "authority",
|
|
394
|
+
aliases: ["auth-verdict", "authority"],
|
|
395
|
+
runner: () => require("./runners/runApprove").runApprove,
|
|
419
396
|
examples: [
|
|
420
|
-
{ command: "vibecheck
|
|
421
|
-
{ command: "vibecheck
|
|
397
|
+
{ command: "vibecheck approve safe-consolidation", description: "Run authority" },
|
|
398
|
+
{ command: "vibecheck approve --list", description: "List authorities" },
|
|
422
399
|
],
|
|
423
|
-
related: ["
|
|
400
|
+
related: ["classify", "ship"],
|
|
424
401
|
},
|
|
425
402
|
|
|
426
|
-
|
|
427
|
-
description: "
|
|
428
|
-
longDescription: "
|
|
403
|
+
polish: {
|
|
404
|
+
description: "Production polish - final cleanup before deploy",
|
|
405
|
+
longDescription: "Final production readiness checks and cleanup.",
|
|
429
406
|
tier: "pro",
|
|
430
|
-
category: "
|
|
431
|
-
aliases: ["
|
|
432
|
-
runner: () => require("./runners/
|
|
407
|
+
category: "proof",
|
|
408
|
+
aliases: ["prod", "final"],
|
|
409
|
+
runner: () => require("./runners/runPolish").runPolish,
|
|
433
410
|
examples: [
|
|
434
|
-
{ command: "vibecheck
|
|
411
|
+
{ command: "vibecheck polish", description: "Run polish checks" },
|
|
435
412
|
],
|
|
436
|
-
related: ["
|
|
413
|
+
related: ["ship", "prove"],
|
|
437
414
|
},
|
|
438
415
|
};
|
|
439
416
|
|