@vibecheckai/cli 3.2.5 → 3.3.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.
- package/bin/.generated +25 -25
- package/bin/dev/run-v2-torture.js +30 -30
- package/bin/registry.js +192 -5
- package/bin/runners/lib/__tests__/entitlements-v2.test.js +295 -295
- package/bin/runners/lib/agent-firewall/change-packet/builder.js +280 -6
- package/bin/runners/lib/agent-firewall/critic/index.js +151 -0
- package/bin/runners/lib/agent-firewall/critic/judge.js +432 -0
- package/bin/runners/lib/agent-firewall/critic/prompts.js +305 -0
- package/bin/runners/lib/agent-firewall/lawbook/distributor.js +465 -0
- package/bin/runners/lib/agent-firewall/lawbook/evaluator.js +604 -0
- package/bin/runners/lib/agent-firewall/lawbook/index.js +304 -0
- package/bin/runners/lib/agent-firewall/lawbook/registry.js +514 -0
- package/bin/runners/lib/agent-firewall/lawbook/schema.js +420 -0
- package/bin/runners/lib/agent-firewall/logger.js +141 -0
- package/bin/runners/lib/agent-firewall/policy/loader.js +312 -4
- package/bin/runners/lib/agent-firewall/policy/rules/ghost-env.js +113 -1
- package/bin/runners/lib/agent-firewall/policy/rules/ghost-route.js +133 -6
- package/bin/runners/lib/agent-firewall/proposal/extractor.js +394 -0
- package/bin/runners/lib/agent-firewall/proposal/index.js +212 -0
- package/bin/runners/lib/agent-firewall/proposal/schema.js +251 -0
- package/bin/runners/lib/agent-firewall/proposal/validator.js +386 -0
- package/bin/runners/lib/agent-firewall/reality/index.js +332 -0
- package/bin/runners/lib/agent-firewall/reality/state.js +625 -0
- package/bin/runners/lib/agent-firewall/reality/watcher.js +322 -0
- package/bin/runners/lib/agent-firewall/risk/index.js +173 -0
- package/bin/runners/lib/agent-firewall/risk/scorer.js +328 -0
- package/bin/runners/lib/agent-firewall/risk/thresholds.js +321 -0
- package/bin/runners/lib/agent-firewall/risk/vectors.js +421 -0
- package/bin/runners/lib/agent-firewall/simulator/diff-simulator.js +472 -0
- package/bin/runners/lib/agent-firewall/simulator/import-resolver.js +346 -0
- package/bin/runners/lib/agent-firewall/simulator/index.js +181 -0
- package/bin/runners/lib/agent-firewall/simulator/route-validator.js +380 -0
- package/bin/runners/lib/agent-firewall/time-machine/incident-correlator.js +661 -0
- package/bin/runners/lib/agent-firewall/time-machine/index.js +267 -0
- package/bin/runners/lib/agent-firewall/time-machine/replay-engine.js +436 -0
- package/bin/runners/lib/agent-firewall/time-machine/state-reconstructor.js +490 -0
- package/bin/runners/lib/agent-firewall/time-machine/timeline-builder.js +530 -0
- package/bin/runners/lib/analyzers.js +81 -18
- package/bin/runners/lib/api-client.js +269 -0
- package/bin/runners/lib/auth-truth.js +193 -193
- package/bin/runners/lib/authority-badge.js +425 -0
- package/bin/runners/lib/backup.js +62 -62
- package/bin/runners/lib/billing.js +107 -107
- package/bin/runners/lib/claims.js +118 -118
- package/bin/runners/lib/cli-output.js +7 -1
- package/bin/runners/lib/cli-ui.js +540 -540
- package/bin/runners/lib/contracts/auth-contract.js +202 -202
- package/bin/runners/lib/contracts/env-contract.js +181 -181
- package/bin/runners/lib/contracts/external-contract.js +206 -206
- package/bin/runners/lib/contracts/guard.js +168 -168
- package/bin/runners/lib/contracts/index.js +89 -89
- package/bin/runners/lib/contracts/plan-validator.js +311 -311
- package/bin/runners/lib/contracts/route-contract.js +199 -199
- package/bin/runners/lib/contracts.js +804 -804
- package/bin/runners/lib/detect.js +89 -89
- package/bin/runners/lib/doctor/autofix.js +254 -254
- package/bin/runners/lib/doctor/index.js +37 -37
- package/bin/runners/lib/doctor/modules/dependencies.js +325 -325
- package/bin/runners/lib/doctor/modules/index.js +46 -46
- package/bin/runners/lib/doctor/modules/network.js +250 -250
- package/bin/runners/lib/doctor/modules/project.js +312 -312
- package/bin/runners/lib/doctor/modules/runtime.js +224 -224
- package/bin/runners/lib/doctor/modules/security.js +348 -348
- package/bin/runners/lib/doctor/modules/system.js +213 -213
- package/bin/runners/lib/doctor/modules/vibecheck.js +394 -394
- package/bin/runners/lib/doctor/reporter.js +262 -262
- package/bin/runners/lib/doctor/service.js +262 -262
- package/bin/runners/lib/doctor/types.js +113 -113
- package/bin/runners/lib/doctor/ui.js +263 -263
- package/bin/runners/lib/doctor-v2.js +608 -608
- package/bin/runners/lib/drift.js +425 -425
- package/bin/runners/lib/enforcement.js +72 -72
- package/bin/runners/lib/enterprise-detect.js +603 -603
- package/bin/runners/lib/enterprise-init.js +942 -942
- package/bin/runners/lib/env-resolver.js +417 -417
- package/bin/runners/lib/env-template.js +66 -66
- package/bin/runners/lib/env.js +189 -189
- package/bin/runners/lib/error-handler.js +16 -9
- package/bin/runners/lib/exit-codes.js +275 -0
- package/bin/runners/lib/extractors/client-calls.js +990 -990
- package/bin/runners/lib/extractors/fastify-route-dump.js +573 -573
- package/bin/runners/lib/extractors/fastify-routes.js +426 -426
- package/bin/runners/lib/extractors/index.js +363 -363
- package/bin/runners/lib/extractors/next-routes.js +524 -524
- package/bin/runners/lib/extractors/proof-graph.js +431 -431
- package/bin/runners/lib/extractors/route-matcher.js +451 -451
- package/bin/runners/lib/extractors/truthpack-v2.js +377 -377
- package/bin/runners/lib/extractors/ui-bindings.js +547 -547
- package/bin/runners/lib/findings-schema.js +281 -281
- package/bin/runners/lib/firewall-prompt.js +50 -50
- package/bin/runners/lib/global-flags.js +37 -0
- package/bin/runners/lib/graph/graph-builder.js +265 -265
- package/bin/runners/lib/graph/html-renderer.js +413 -413
- package/bin/runners/lib/graph/index.js +32 -32
- package/bin/runners/lib/graph/runtime-collector.js +215 -215
- package/bin/runners/lib/graph/static-extractor.js +518 -518
- package/bin/runners/lib/help-formatter.js +413 -0
- package/bin/runners/lib/html-report.js +650 -650
- package/bin/runners/lib/llm.js +75 -75
- package/bin/runners/lib/logger.js +38 -0
- package/bin/runners/lib/meter.js +61 -61
- package/bin/runners/lib/missions/evidence.js +126 -126
- package/bin/runners/lib/patch.js +40 -40
- package/bin/runners/lib/permissions/auth-model.js +213 -213
- package/bin/runners/lib/permissions/idor-prover.js +205 -205
- package/bin/runners/lib/permissions/index.js +45 -45
- package/bin/runners/lib/permissions/matrix-builder.js +198 -198
- package/bin/runners/lib/pkgjson.js +28 -28
- package/bin/runners/lib/policy.js +295 -295
- package/bin/runners/lib/preflight.js +142 -142
- package/bin/runners/lib/reality/correlation-detectors.js +359 -359
- package/bin/runners/lib/reality/index.js +318 -318
- package/bin/runners/lib/reality/request-hashing.js +416 -416
- package/bin/runners/lib/reality/request-mapper.js +453 -453
- package/bin/runners/lib/reality/safety-rails.js +463 -463
- package/bin/runners/lib/reality/semantic-snapshot.js +408 -408
- package/bin/runners/lib/reality/toast-detector.js +393 -393
- package/bin/runners/lib/reality-findings.js +84 -84
- package/bin/runners/lib/receipts.js +179 -179
- package/bin/runners/lib/redact.js +29 -29
- package/bin/runners/lib/replay/capsule-manager.js +154 -154
- package/bin/runners/lib/replay/index.js +263 -263
- package/bin/runners/lib/replay/player.js +348 -348
- package/bin/runners/lib/replay/recorder.js +331 -331
- package/bin/runners/lib/report.js +135 -135
- package/bin/runners/lib/route-detection.js +1140 -1140
- package/bin/runners/lib/sandbox/index.js +59 -59
- package/bin/runners/lib/sandbox/proof-chain.js +399 -399
- package/bin/runners/lib/sandbox/sandbox-runner.js +205 -205
- package/bin/runners/lib/sandbox/worktree.js +174 -174
- package/bin/runners/lib/schema-validator.js +350 -350
- package/bin/runners/lib/schemas/contracts.schema.json +160 -160
- package/bin/runners/lib/schemas/finding.schema.json +100 -100
- package/bin/runners/lib/schemas/mission-pack.schema.json +206 -206
- package/bin/runners/lib/schemas/proof-graph.schema.json +176 -176
- package/bin/runners/lib/schemas/reality-report.schema.json +162 -162
- package/bin/runners/lib/schemas/share-pack.schema.json +180 -180
- package/bin/runners/lib/schemas/ship-report.schema.json +117 -117
- package/bin/runners/lib/schemas/truthpack-v2.schema.json +303 -303
- package/bin/runners/lib/schemas/validator.js +438 -438
- package/bin/runners/lib/score-history.js +282 -282
- package/bin/runners/lib/share-pack.js +239 -239
- package/bin/runners/lib/snippets.js +67 -67
- package/bin/runners/lib/unified-cli-output.js +604 -0
- package/bin/runners/lib/upsell.js +658 -510
- package/bin/runners/lib/usage.js +153 -153
- package/bin/runners/lib/validate-patch.js +156 -156
- package/bin/runners/lib/verdict-engine.js +628 -628
- package/bin/runners/reality/engine.js +917 -917
- package/bin/runners/reality/flows.js +122 -122
- package/bin/runners/reality/report.js +378 -378
- package/bin/runners/reality/session.js +193 -193
- package/bin/runners/runAgent.d.ts +5 -0
- package/bin/runners/runApprove.js +1200 -0
- package/bin/runners/runAuth.js +324 -95
- package/bin/runners/runCheckpoint.js +39 -21
- package/bin/runners/runClassify.js +859 -0
- package/bin/runners/runContext.js +136 -24
- package/bin/runners/runDoctor.js +108 -68
- package/bin/runners/runFirewall.d.ts +5 -0
- package/bin/runners/runFirewallHook.d.ts +5 -0
- package/bin/runners/runFix.js +6 -5
- package/bin/runners/runGuard.js +262 -168
- package/bin/runners/runInit.js +3 -2
- package/bin/runners/runMcp.js +130 -52
- package/bin/runners/runPolish.js +43 -20
- package/bin/runners/runProve.js +1 -2
- package/bin/runners/runReport.js +3 -2
- package/bin/runners/runScan.js +145 -44
- package/bin/runners/runShip.js +3 -4
- package/bin/runners/runTruth.d.ts +5 -0
- package/bin/runners/runValidate.js +19 -2
- package/bin/runners/runWatch.js +104 -53
- package/bin/vibecheck.js +106 -19
- package/mcp-server/HARDENING_SUMMARY.md +299 -0
- package/mcp-server/agent-firewall-interceptor.js +367 -31
- package/mcp-server/authority-tools.js +569 -0
- package/mcp-server/conductor/conflict-resolver.js +588 -0
- package/mcp-server/conductor/execution-planner.js +544 -0
- package/mcp-server/conductor/index.js +377 -0
- package/mcp-server/conductor/lock-manager.js +615 -0
- package/mcp-server/conductor/request-queue.js +550 -0
- package/mcp-server/conductor/session-manager.js +500 -0
- package/mcp-server/conductor/tools.js +510 -0
- package/mcp-server/index.js +1199 -208
- package/mcp-server/lib/api-client.cjs +305 -0
- package/mcp-server/lib/logger.cjs +30 -0
- package/mcp-server/logger.js +173 -0
- package/mcp-server/package.json +2 -2
- package/mcp-server/premium-tools.js +2 -2
- package/mcp-server/tier-auth.js +351 -136
- package/mcp-server/tools/index.js +72 -72
- package/mcp-server/truth-firewall-tools.js +145 -15
- package/mcp-server/vibecheck-tools.js +2 -2
- package/package.json +2 -3
- package/mcp-server/index.old.js +0 -4137
- package/mcp-server/package-lock.json +0 -165
package/bin/.generated
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
================================================================================
|
|
2
|
-
⚠️ GENERATED CODE - DO NOT EDIT
|
|
3
|
-
================================================================================
|
|
4
|
-
|
|
5
|
-
This directory contains GENERATED build output.
|
|
6
|
-
|
|
7
|
-
All JavaScript files here are compiled from TypeScript sources.
|
|
8
|
-
Manual edits will be OVERWRITTEN on the next build.
|
|
9
|
-
|
|
10
|
-
SOURCE OF TRUTH:
|
|
11
|
-
packages/cli/src/ TypeScript CLI source
|
|
12
|
-
packages/cli/src/commands/ Command implementations
|
|
13
|
-
packages/cli/src/index.ts Main entry point
|
|
14
|
-
|
|
15
|
-
TO MAKE CHANGES:
|
|
16
|
-
1. Edit the TypeScript source in packages/cli/src/
|
|
17
|
-
2. Run: pnpm build
|
|
18
|
-
3. Changes will be reflected here automatically
|
|
19
|
-
|
|
20
|
-
BUILD COMMAND:
|
|
21
|
-
pnpm --filter @vibecheck/cli build
|
|
22
|
-
|
|
23
|
-
================================================================================
|
|
24
|
-
Generated: 2026-01-17
|
|
25
|
-
================================================================================
|
|
1
|
+
================================================================================
|
|
2
|
+
⚠️ GENERATED CODE - DO NOT EDIT
|
|
3
|
+
================================================================================
|
|
4
|
+
|
|
5
|
+
This directory contains GENERATED build output.
|
|
6
|
+
|
|
7
|
+
All JavaScript files here are compiled from TypeScript sources.
|
|
8
|
+
Manual edits will be OVERWRITTEN on the next build.
|
|
9
|
+
|
|
10
|
+
SOURCE OF TRUTH:
|
|
11
|
+
packages/cli/src/ TypeScript CLI source
|
|
12
|
+
packages/cli/src/commands/ Command implementations
|
|
13
|
+
packages/cli/src/index.ts Main entry point
|
|
14
|
+
|
|
15
|
+
TO MAKE CHANGES:
|
|
16
|
+
1. Edit the TypeScript source in packages/cli/src/
|
|
17
|
+
2. Run: pnpm build
|
|
18
|
+
3. Changes will be reflected here automatically
|
|
19
|
+
|
|
20
|
+
BUILD COMMAND:
|
|
21
|
+
pnpm --filter @vibecheck/cli build
|
|
22
|
+
|
|
23
|
+
================================================================================
|
|
24
|
+
Generated: 2026-01-17
|
|
25
|
+
================================================================================
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Run Spec v2 Torture Suite
|
|
4
|
-
*
|
|
5
|
-
* Quick confidence builder for spec v2 implementation.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* node bin/dev/run-v2-torture.js
|
|
9
|
-
* pnpm test:v2
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
"use strict";
|
|
13
|
-
|
|
14
|
-
const path = require("path");
|
|
15
|
-
|
|
16
|
-
// Run the torture suite
|
|
17
|
-
const { TortureTestRunner } = require("../../tests/e2e/spec-v2.torture.test.js");
|
|
18
|
-
|
|
19
|
-
async function main() {
|
|
20
|
-
const runner = new TortureTestRunner();
|
|
21
|
-
const results = await runner.run();
|
|
22
|
-
|
|
23
|
-
// Exit with appropriate code
|
|
24
|
-
process.exit(results.failed > 0 ? 1 : 0);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
main().catch(err => {
|
|
28
|
-
console.error("❌ Torture suite crashed:", err);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Run Spec v2 Torture Suite
|
|
4
|
+
*
|
|
5
|
+
* Quick confidence builder for spec v2 implementation.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* node bin/dev/run-v2-torture.js
|
|
9
|
+
* pnpm test:v2
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
const path = require("path");
|
|
15
|
+
|
|
16
|
+
// Run the torture suite
|
|
17
|
+
const { TortureTestRunner } = require("../../tests/e2e/spec-v2.torture.test.js");
|
|
18
|
+
|
|
19
|
+
async function main() {
|
|
20
|
+
const runner = new TortureTestRunner();
|
|
21
|
+
const results = await runner.run();
|
|
22
|
+
|
|
23
|
+
// Exit with appropriate code
|
|
24
|
+
process.exit(results.failed > 0 ? 1 : 0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
main().catch(err => {
|
|
28
|
+
console.error("❌ Torture suite crashed:", err);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
});
|
package/bin/registry.js
CHANGED
|
@@ -3,31 +3,37 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Single source of truth for the public CLI surface.
|
|
5
5
|
* If it isn't here, it does not exist.
|
|
6
|
+
*
|
|
7
|
+
* ═══════════════════════════════════════════════════════════════════════════════
|
|
8
|
+
* WORLD-CLASS CLI - Enhanced Registry with Rich Metadata
|
|
9
|
+
* ═══════════════════════════════════════════════════════════════════════════════
|
|
6
10
|
*/
|
|
7
11
|
|
|
8
12
|
"use strict";
|
|
9
13
|
|
|
10
14
|
// ─────────────────────────────────────────────────────────────
|
|
11
|
-
// CORE
|
|
15
|
+
// CORE 19 COMMANDS (locked surface area)
|
|
12
16
|
// ─────────────────────────────────────────────────────────────
|
|
13
17
|
const ALLOWED_COMMANDS = new Set([
|
|
14
|
-
// FREE (
|
|
18
|
+
// FREE (9) - Core functionality to try the product
|
|
15
19
|
"init", // one-time setup
|
|
16
20
|
"doctor", // health check
|
|
17
21
|
"watch", // continuous mode
|
|
18
22
|
"scan", // includes --allowlist subcommand
|
|
19
23
|
"ship", // verdict engine
|
|
24
|
+
"classify", // Authority: inventory (duplication/legacy maps)
|
|
20
25
|
"login", // authenticate
|
|
21
26
|
"logout", // remove credentials
|
|
22
27
|
"whoami", // show current user
|
|
23
28
|
|
|
24
|
-
// STARTER (
|
|
29
|
+
// STARTER (7) - Productivity & automation
|
|
25
30
|
"fix", // AI-powered fixes
|
|
26
31
|
"report", // generate reports
|
|
27
32
|
"context", // generate IDE rules
|
|
28
33
|
"guard", // AI guardrails (prompt firewall, hallucination checking)
|
|
29
34
|
"mcp", // MCP server
|
|
30
35
|
"checkpoint", // baseline comparison & hallucination scoring
|
|
36
|
+
"approve", // Authority: get verdicts for authorities
|
|
31
37
|
|
|
32
38
|
// PRO (3) - Advanced proof & AI testing
|
|
33
39
|
"prove", // includes --bundle for evidence packs
|
|
@@ -43,7 +49,7 @@ function assertAllowedOnly(obj) {
|
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
// ─────────────────────────────────────────────────────────────
|
|
46
|
-
// COMMANDS (ALLOWED ONLY)
|
|
52
|
+
// COMMANDS (ALLOWED ONLY) - Enhanced with World-Class Metadata
|
|
47
53
|
// ─────────────────────────────────────────────────────────────
|
|
48
54
|
const COMMANDS = {
|
|
49
55
|
// ══════════════════════════════════════════════════════════════
|
|
@@ -53,123 +59,277 @@ const COMMANDS = {
|
|
|
53
59
|
// ── SETUP ───────────────────────────────────────────────────
|
|
54
60
|
init: {
|
|
55
61
|
description: "One-time setup (config + contracts + scripts)",
|
|
62
|
+
longDescription: "Initialize vibecheck in your project. Creates configuration files, sets up IDE rules, and optionally connects to the vibecheck dashboard for team collaboration.",
|
|
56
63
|
tier: "free",
|
|
57
64
|
category: "setup",
|
|
58
65
|
aliases: ["setup", "configure"],
|
|
59
66
|
runner: () => require("./runners/runInit").runInit,
|
|
67
|
+
examples: [
|
|
68
|
+
{ command: "vibecheck init", description: "Interactive setup wizard" },
|
|
69
|
+
{ command: "vibecheck init --local", description: "Quick local-only setup (no API)" },
|
|
70
|
+
{ command: "vibecheck init --connect", description: "Setup with GitHub integration", tier: "starter" },
|
|
71
|
+
{ command: "vibecheck init --quick", description: "Non-interactive with sensible defaults" },
|
|
72
|
+
],
|
|
73
|
+
related: ["doctor", "scan"],
|
|
74
|
+
docsUrl: "https://docs.vibecheckai.dev/getting-started",
|
|
60
75
|
},
|
|
61
76
|
|
|
62
77
|
doctor: {
|
|
63
78
|
description: "Environment + dependency + config health check",
|
|
79
|
+
longDescription: "Comprehensive diagnostics for your development environment. Checks Node.js, package managers, project configuration, and vibecheck setup. Can auto-fix common issues.",
|
|
64
80
|
tier: "free",
|
|
65
81
|
category: "setup",
|
|
66
82
|
aliases: ["health", "diag"],
|
|
67
83
|
runner: () => require("./runners/runDoctor").runDoctor,
|
|
84
|
+
examples: [
|
|
85
|
+
{ command: "vibecheck doctor", description: "Run all health checks" },
|
|
86
|
+
{ command: "vibecheck doctor --fix", description: "Auto-fix detected issues" },
|
|
87
|
+
{ command: "vibecheck doctor --json", description: "Output diagnostics as JSON" },
|
|
88
|
+
],
|
|
89
|
+
related: ["init", "scan"],
|
|
90
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/doctor",
|
|
68
91
|
},
|
|
69
92
|
|
|
70
93
|
watch: {
|
|
71
94
|
description: "Continuous mode - re-runs on changes",
|
|
95
|
+
longDescription: "File watcher that automatically re-runs scans when your code changes. Ideal for development workflows where you want instant feedback.",
|
|
72
96
|
tier: "free",
|
|
73
97
|
category: "setup",
|
|
74
98
|
aliases: ["w", "dev"],
|
|
75
99
|
runner: () => require("./runners/runWatch").runWatch,
|
|
100
|
+
examples: [
|
|
101
|
+
{ command: "vibecheck watch", description: "Start watching current directory" },
|
|
102
|
+
{ command: "vibecheck watch --path ./src", description: "Watch specific directory" },
|
|
103
|
+
{ command: "vibecheck watch --debounce 1000", description: "Custom debounce (1 second)" },
|
|
104
|
+
],
|
|
105
|
+
related: ["scan", "ship"],
|
|
106
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/watch",
|
|
76
107
|
},
|
|
77
108
|
|
|
78
109
|
// ── CORE LOOP ───────────────────────────────────────────────
|
|
79
110
|
scan: {
|
|
80
111
|
description: "Route integrity & code analysis; use --allowlist for false positive management",
|
|
112
|
+
longDescription: "The core analysis engine. Scans your codebase for route integrity issues, security vulnerabilities, code quality problems, and more. Supports multiple scan layers: AST (fast), Truth (build manifests), and Reality (runtime browser testing).",
|
|
81
113
|
tier: "free",
|
|
82
114
|
category: "proof",
|
|
83
115
|
aliases: ["s", "check"],
|
|
84
116
|
runner: () => require("./runners/runScan").runScan,
|
|
117
|
+
examples: [
|
|
118
|
+
{ command: "vibecheck scan", description: "Quick AST scan (Layer 1)" },
|
|
119
|
+
{ command: "vibecheck scan --truth", description: "Include build manifest verification" },
|
|
120
|
+
{ command: "vibecheck scan --reality --url http://localhost:3000", description: "Full runtime proof", tier: "pro" },
|
|
121
|
+
{ command: "vibecheck scan --autofix", description: "Generate AI fix missions", tier: "starter" },
|
|
122
|
+
{ command: "vibecheck scan --allowlist list", description: "View suppressed findings" },
|
|
123
|
+
{ command: "vibecheck scan --allowlist add --id R_DEAD_xyz --reason 'Known toggle'", description: "Suppress false positive" },
|
|
124
|
+
],
|
|
125
|
+
related: ["ship", "fix", "prove"],
|
|
126
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/scan",
|
|
85
127
|
},
|
|
86
128
|
|
|
87
129
|
ship: {
|
|
88
130
|
description: "Verdict engine - SHIP / WARN / BLOCK",
|
|
131
|
+
longDescription: "The final word on whether your code is ready to ship. Combines all scan results, generates proof graphs, and renders a clear SHIP/WARN/BLOCK verdict. Use before every deployment.",
|
|
89
132
|
tier: "free",
|
|
90
133
|
category: "proof",
|
|
91
134
|
aliases: ["verdict", "go"],
|
|
92
135
|
runner: () => require("./runners/runShip").runShip,
|
|
136
|
+
examples: [
|
|
137
|
+
{ command: "vibecheck ship", description: "Get shipping verdict" },
|
|
138
|
+
{ command: "vibecheck ship --strict", description: "Fail on any warnings" },
|
|
139
|
+
{ command: "vibecheck ship --badge", description: "Generate status badge" },
|
|
140
|
+
{ command: "vibecheck ship --fix", description: "Attempt auto-fixes then re-check" },
|
|
141
|
+
],
|
|
142
|
+
related: ["scan", "prove", "fix"],
|
|
143
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/ship",
|
|
93
144
|
},
|
|
94
145
|
|
|
95
146
|
// ── ACCOUNT (skipAuth) ────────────────────────────────────
|
|
96
147
|
login: {
|
|
97
148
|
description: "Authenticate with API key",
|
|
149
|
+
longDescription: "Connect your CLI to the vibecheck API. Required for dashboard sync, team features, and paid tier commands.",
|
|
98
150
|
tier: "free",
|
|
99
151
|
category: "account",
|
|
100
152
|
aliases: ["auth", "signin"],
|
|
101
153
|
runner: () => require("./runners/runAuth").runLogin,
|
|
102
154
|
skipAuth: true,
|
|
155
|
+
examples: [
|
|
156
|
+
{ command: "vibecheck login", description: "Interactive login (opens browser)" },
|
|
157
|
+
{ command: "vibecheck login --key YOUR_API_KEY", description: "Login with API key directly" },
|
|
158
|
+
{ command: "VIBECHECK_API_KEY=xxx vibecheck scan", description: "Use env var (CI/CD)" },
|
|
159
|
+
],
|
|
160
|
+
related: ["logout", "whoami"],
|
|
161
|
+
docsUrl: "https://docs.vibecheckai.dev/authentication",
|
|
103
162
|
},
|
|
104
163
|
|
|
105
164
|
logout: {
|
|
106
165
|
description: "Remove stored credentials",
|
|
166
|
+
longDescription: "Clear your stored API key and log out of the vibecheck CLI.",
|
|
107
167
|
tier: "free",
|
|
108
168
|
category: "account",
|
|
109
169
|
aliases: ["signout"],
|
|
110
170
|
runner: () => require("./runners/runAuth").runLogout,
|
|
111
171
|
skipAuth: true,
|
|
172
|
+
examples: [
|
|
173
|
+
{ command: "vibecheck logout", description: "Clear stored credentials" },
|
|
174
|
+
],
|
|
175
|
+
related: ["login", "whoami"],
|
|
176
|
+
docsUrl: "https://docs.vibecheckai.dev/authentication",
|
|
112
177
|
},
|
|
113
178
|
|
|
114
179
|
whoami: {
|
|
115
180
|
description: "Show current user and plan",
|
|
181
|
+
longDescription: "Display your current authentication status, subscription tier, and usage limits.",
|
|
116
182
|
tier: "free",
|
|
117
183
|
category: "account",
|
|
118
184
|
aliases: ["me", "user"],
|
|
119
185
|
runner: () => require("./runners/runAuth").runWhoami,
|
|
120
186
|
skipAuth: true,
|
|
187
|
+
examples: [
|
|
188
|
+
{ command: "vibecheck whoami", description: "Show current user info" },
|
|
189
|
+
{ command: "vibecheck whoami --json", description: "Output as JSON" },
|
|
190
|
+
],
|
|
191
|
+
related: ["login", "logout"],
|
|
192
|
+
docsUrl: "https://docs.vibecheckai.dev/authentication",
|
|
193
|
+
},
|
|
194
|
+
|
|
195
|
+
// ── AUTHORITY SYSTEM (FREE) ──────────────────────────────────
|
|
196
|
+
classify: {
|
|
197
|
+
description: "Inventory authority - duplication & legacy code maps",
|
|
198
|
+
longDescription: "Produces a read-only inventory of your codebase including duplication maps, legacy code detection, and risk classifications. Part of the Authority System - read-only analysis available on FREE tier.",
|
|
199
|
+
tier: "free",
|
|
200
|
+
category: "authority",
|
|
201
|
+
aliases: ["inventory", "audit"],
|
|
202
|
+
runner: () => require("./runners/runClassify").runClassify,
|
|
203
|
+
examples: [
|
|
204
|
+
{ command: "vibecheck classify", description: "Quick inventory analysis" },
|
|
205
|
+
{ command: "vibecheck classify --json", description: "JSON output for processing" },
|
|
206
|
+
{ command: "vibecheck classify --include-semantic", description: "Include semantic duplicates" },
|
|
207
|
+
{ command: "vibecheck classify --output inventory.md --format markdown", description: "Save as markdown" },
|
|
208
|
+
],
|
|
209
|
+
related: ["approve", "scan"],
|
|
210
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/classify",
|
|
121
211
|
},
|
|
122
212
|
|
|
123
213
|
// ══════════════════════════════════════════════════════════════
|
|
124
|
-
// STARTER TIER (
|
|
214
|
+
// STARTER TIER (7 commands) - Productivity & automation
|
|
125
215
|
// ══════════════════════════════════════════════════════════════
|
|
126
216
|
|
|
127
217
|
fix: {
|
|
128
218
|
description: "AI-powered auto-fix for findings",
|
|
219
|
+
longDescription: "Generate surgical AI prompts (missions) to fix detected issues. Each mission includes context, constraints, and verification steps. Use --apply to let AI make changes directly.",
|
|
129
220
|
tier: "starter",
|
|
130
221
|
category: "proof",
|
|
131
222
|
aliases: ["f", "repair"],
|
|
132
223
|
runner: () => require("./runners/runFix").runFix,
|
|
224
|
+
examples: [
|
|
225
|
+
{ command: "vibecheck fix", description: "Generate fix missions (prompts only)" },
|
|
226
|
+
{ command: "vibecheck fix --apply", description: "Apply AI-generated fixes" },
|
|
227
|
+
{ command: "vibecheck fix --loop", description: "Continuous fix loop until clean" },
|
|
228
|
+
{ command: "vibecheck fix --max-missions 5", description: "Limit to 5 missions" },
|
|
229
|
+
],
|
|
230
|
+
related: ["scan", "checkpoint", "ship"],
|
|
231
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/fix",
|
|
133
232
|
},
|
|
134
233
|
|
|
135
234
|
report: {
|
|
136
235
|
description: "Generate HTML/MD/SARIF reports",
|
|
236
|
+
longDescription: "Create beautiful, shareable reports from your scan results. Supports multiple formats for different audiences: HTML for stakeholders, Markdown for docs, SARIF for GitHub code scanning.",
|
|
137
237
|
tier: "starter",
|
|
138
238
|
category: "output",
|
|
139
239
|
aliases: ["html", "artifact"],
|
|
140
240
|
runner: () => require("./runners/runReport").runReport,
|
|
241
|
+
examples: [
|
|
242
|
+
{ command: "vibecheck report", description: "Generate HTML report" },
|
|
243
|
+
{ command: "vibecheck report --format md", description: "Markdown report" },
|
|
244
|
+
{ command: "vibecheck report --format sarif", description: "SARIF for GitHub" },
|
|
245
|
+
{ command: "vibecheck report --type executive", description: "Executive summary" },
|
|
246
|
+
{ command: "vibecheck report --output ./reports", description: "Custom output directory" },
|
|
247
|
+
],
|
|
248
|
+
related: ["scan", "prove"],
|
|
249
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/report",
|
|
141
250
|
},
|
|
142
251
|
|
|
143
252
|
context: {
|
|
144
253
|
description: "Generate IDE rules (.cursorrules, MDC, Windsurf, Copilot)",
|
|
254
|
+
longDescription: "Generate project-aware AI coding rules for your IDE. These rules help AI assistants understand your codebase conventions, preventing common mistakes and enforcing patterns.",
|
|
145
255
|
tier: "starter",
|
|
146
256
|
category: "truth",
|
|
147
257
|
aliases: ["rules", "ai-rules", "mdc"],
|
|
148
258
|
runner: () => require("./runners/runContext").runContext,
|
|
259
|
+
examples: [
|
|
260
|
+
{ command: "vibecheck context", description: "Generate all IDE rule formats" },
|
|
261
|
+
{ command: "vibecheck context --format cursor", description: ".cursorrules only" },
|
|
262
|
+
{ command: "vibecheck context --format mdc", description: "MDC format (Cursor)" },
|
|
263
|
+
{ command: "vibecheck context --format copilot", description: "GitHub Copilot instructions" },
|
|
264
|
+
],
|
|
265
|
+
related: ["scan", "guard"],
|
|
266
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/context",
|
|
149
267
|
},
|
|
150
268
|
|
|
151
269
|
guard: {
|
|
152
270
|
description: "AI guardrails - prompt firewall & hallucination checking",
|
|
271
|
+
longDescription: "Validate AI-generated code and prompts. Detects prompt injection attempts, verifies claims against your codebase (hallucination checking), and ensures AI outputs meet your standards.",
|
|
153
272
|
tier: "starter",
|
|
154
273
|
category: "truth",
|
|
155
274
|
aliases: ["ai-guard", "firewall", "validate"],
|
|
156
275
|
runner: () => require("./runners/runGuard").runGuard,
|
|
276
|
+
examples: [
|
|
277
|
+
{ command: "vibecheck guard", description: "Run all guardrail checks" },
|
|
278
|
+
{ command: "vibecheck guard --claims", description: "Verify AI claims against codebase" },
|
|
279
|
+
{ command: "vibecheck guard --prompts", description: "Check for prompt injection" },
|
|
280
|
+
{ command: "vibecheck guard --hallucinations", description: "Detect hallucinated code" },
|
|
281
|
+
],
|
|
282
|
+
related: ["context", "checkpoint", "fix"],
|
|
283
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/guard",
|
|
157
284
|
},
|
|
158
285
|
|
|
159
286
|
mcp: {
|
|
160
287
|
description: "Start MCP server for AI IDEs",
|
|
288
|
+
longDescription: "Launch a Model Context Protocol (MCP) server that integrates vibecheck directly into AI IDEs like Cursor. Enables real-time code analysis, fix suggestions, and proof verification within your editor.",
|
|
161
289
|
tier: "starter",
|
|
162
290
|
category: "automation",
|
|
163
291
|
aliases: [],
|
|
164
292
|
runner: () => require("./runners/runMcp").runMcp,
|
|
293
|
+
examples: [
|
|
294
|
+
{ command: "vibecheck mcp", description: "Start MCP server" },
|
|
295
|
+
{ command: "vibecheck mcp --port 3099", description: "Custom port" },
|
|
296
|
+
],
|
|
297
|
+
related: ["context", "guard"],
|
|
298
|
+
docsUrl: "https://docs.vibecheckai.dev/integrations/mcp",
|
|
165
299
|
},
|
|
166
300
|
|
|
167
301
|
checkpoint: {
|
|
168
302
|
description: "Compare baseline vs current, hallucination scoring",
|
|
303
|
+
longDescription: "Track changes between scan runs. Detects new issues, resolved issues, and regressions. Includes hallucination scoring to measure drift from your codebase's ground truth.",
|
|
169
304
|
tier: "starter",
|
|
170
305
|
category: "analysis",
|
|
171
306
|
aliases: ["cp", "compare", "diff"],
|
|
172
307
|
runner: () => require("./runners/runCheckpoint").runCheckpoint,
|
|
308
|
+
examples: [
|
|
309
|
+
{ command: "vibecheck checkpoint", description: "Compare against last baseline" },
|
|
310
|
+
{ command: "vibecheck checkpoint --set", description: "Save current as new baseline" },
|
|
311
|
+
{ command: "vibecheck checkpoint --score", description: "Calculate hallucination score" },
|
|
312
|
+
],
|
|
313
|
+
related: ["scan", "fix", "guard"],
|
|
314
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/checkpoint",
|
|
315
|
+
},
|
|
316
|
+
|
|
317
|
+
// ── AUTHORITY SYSTEM (STARTER) ───────────────────────────────
|
|
318
|
+
approve: {
|
|
319
|
+
description: "Authority verdicts - PROCEED/STOP/DEFER with proofs",
|
|
320
|
+
longDescription: "Execute authorities to get structured verdicts with proofs. Part of the Authority System - transforms prompts into enforceable policy engines. Requires STARTER for advisory verdicts, PRO for enforcement.",
|
|
321
|
+
tier: "starter",
|
|
322
|
+
category: "authority",
|
|
323
|
+
aliases: ["auth-verdict", "authority"],
|
|
324
|
+
runner: () => require("./runners/runApprove").runApprove,
|
|
325
|
+
examples: [
|
|
326
|
+
{ command: "vibecheck approve safe-consolidation", description: "Run safe-consolidation authority" },
|
|
327
|
+
{ command: "vibecheck approve --list", description: "List available authorities" },
|
|
328
|
+
{ command: "vibecheck approve safe-consolidation --json", description: "JSON output for CI" },
|
|
329
|
+
{ command: "vibecheck approve safe-consolidation --badge", description: "Generate badge for PROCEED", tier: "pro" },
|
|
330
|
+
],
|
|
331
|
+
related: ["classify", "scan", "ship"],
|
|
332
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/approve",
|
|
173
333
|
},
|
|
174
334
|
|
|
175
335
|
// ══════════════════════════════════════════════════════════════
|
|
@@ -178,6 +338,7 @@ const COMMANDS = {
|
|
|
178
338
|
|
|
179
339
|
reality: {
|
|
180
340
|
description: "Runtime proof (browser crawl); use --agent for AI testing",
|
|
341
|
+
longDescription: "Browser-based runtime verification. Crawls your app with Playwright, records video/traces/HAR, verifies routes actually work, and captures network evidence. Use --agent for AI-driven autonomous testing.",
|
|
181
342
|
tier: "pro",
|
|
182
343
|
category: "proof",
|
|
183
344
|
caps: "--agent for AI autonomous testing",
|
|
@@ -191,23 +352,49 @@ const COMMANDS = {
|
|
|
191
352
|
}
|
|
192
353
|
return await runRuntime(["crawl", ...args], ctx);
|
|
193
354
|
},
|
|
355
|
+
examples: [
|
|
356
|
+
{ command: "vibecheck reality --url http://localhost:3000", description: "Crawl and verify routes" },
|
|
357
|
+
{ command: "vibecheck reality --url http://localhost:3000 --headed", description: "Watch browser in action" },
|
|
358
|
+
{ command: "vibecheck reality --agent --url http://localhost:3000", description: "AI autonomous testing" },
|
|
359
|
+
{ command: "vibecheck reality --auth ./auth.json", description: "Test with authentication" },
|
|
360
|
+
],
|
|
361
|
+
related: ["prove", "scan", "ship"],
|
|
362
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/reality",
|
|
194
363
|
},
|
|
195
364
|
|
|
196
365
|
prove: {
|
|
197
366
|
description: "One command reality proof - video + network evidence that your app works",
|
|
367
|
+
longDescription: "The ultimate verification command. Runs the full 5-step pipeline: context → reality → ship → fix → verify. Generates a complete evidence pack with video recordings, network traces, and proof artifacts. Perfect for audits and stakeholder demos.",
|
|
198
368
|
tier: "pro",
|
|
199
369
|
category: "proof",
|
|
200
370
|
aliases: ["p", "full", "all"],
|
|
201
371
|
caps: "video, trace, HAR recording; use --bundle for evidence pack",
|
|
202
372
|
runner: () => require("./runners/runProve").runProve,
|
|
373
|
+
examples: [
|
|
374
|
+
{ command: "vibecheck prove --url http://localhost:3000", description: "Full proof pipeline" },
|
|
375
|
+
{ command: "vibecheck prove --url http://localhost:3000 --bundle", description: "Generate shareable evidence pack" },
|
|
376
|
+
{ command: "vibecheck prove --url http://localhost:3000 --stability-runs 3", description: "Run 3x for stability" },
|
|
377
|
+
{ command: "vibecheck prove --skip-fix", description: "Skip auto-fix step" },
|
|
378
|
+
],
|
|
379
|
+
related: ["reality", "scan", "report"],
|
|
380
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/prove",
|
|
203
381
|
},
|
|
204
382
|
|
|
205
383
|
polish: {
|
|
206
384
|
description: "Production polish analyzer - finds missing essentials",
|
|
385
|
+
longDescription: "Deep analysis for production readiness. Checks for missing essentials like error handling, loading states, empty states, accessibility, SEO, performance patterns, and more. Generates a prioritized punch list.",
|
|
207
386
|
tier: "pro",
|
|
208
387
|
category: "quality",
|
|
209
388
|
aliases: ["quality", "finalize", "ready"],
|
|
210
389
|
runner: () => require("./runners/runPolish").runPolish,
|
|
390
|
+
examples: [
|
|
391
|
+
{ command: "vibecheck polish", description: "Full production readiness check" },
|
|
392
|
+
{ command: "vibecheck polish --category accessibility", description: "Focus on a11y" },
|
|
393
|
+
{ command: "vibecheck polish --category performance", description: "Focus on perf" },
|
|
394
|
+
{ command: "vibecheck polish --severity high", description: "Only high-priority items" },
|
|
395
|
+
],
|
|
396
|
+
related: ["scan", "ship", "prove"],
|
|
397
|
+
docsUrl: "https://docs.vibecheckai.dev/cli/polish",
|
|
211
398
|
},
|
|
212
399
|
};
|
|
213
400
|
|