@vibecheckai/cli 3.1.2 → 3.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -33
- package/bin/registry.js +319 -34
- package/bin/runners/CLI_REFACTOR_SUMMARY.md +229 -0
- package/bin/runners/REPORT_AUDIT.md +64 -0
- package/bin/runners/lib/entitlements-v2.js +97 -28
- package/bin/runners/lib/entitlements.js +3 -6
- package/bin/runners/lib/init-wizard.js +1 -1
- package/bin/runners/lib/report-engine.js +459 -280
- package/bin/runners/lib/report-html.js +1157 -1423
- package/bin/runners/lib/report-output.js +187 -0
- package/bin/runners/lib/report-templates.js +848 -850
- package/bin/runners/lib/scan-output.js +545 -0
- package/bin/runners/lib/server-usage.js +0 -12
- package/bin/runners/lib/ship-output.js +641 -0
- package/bin/runners/lib/status-output.js +253 -0
- package/bin/runners/lib/terminal-ui.js +853 -0
- package/bin/runners/runCheckpoint.js +502 -0
- package/bin/runners/runContracts.js +105 -0
- package/bin/runners/runExport.js +93 -0
- package/bin/runners/runFix.js +31 -24
- package/bin/runners/runInit.js +377 -112
- package/bin/runners/runInstall.js +1 -5
- package/bin/runners/runLabs.js +3 -3
- package/bin/runners/runPolish.js +2452 -0
- package/bin/runners/runProve.js +2 -2
- package/bin/runners/runReport.js +299 -202
- package/bin/runners/runRuntime.js +110 -0
- package/bin/runners/runScan.js +477 -379
- package/bin/runners/runSecurity.js +92 -0
- package/bin/runners/runShip.js +137 -207
- package/bin/runners/runStatus.js +16 -68
- package/bin/runners/utils.js +5 -5
- package/bin/vibecheck.js +25 -11
- package/mcp-server/index.js +150 -18
- package/mcp-server/package.json +2 -2
- package/mcp-server/premium-tools.js +13 -13
- package/mcp-server/tier-auth.js +292 -27
- package/mcp-server/vibecheck-tools.js +9 -9
- package/package.json +1 -1
- package/bin/runners/runClaimVerifier.js +0 -483
- package/bin/runners/runContextCompiler.js +0 -385
- package/bin/runners/runGate.js +0 -17
- package/bin/runners/runInitGha.js +0 -164
- package/bin/runners/runInteractive.js +0 -388
- package/bin/runners/runMdc.js +0 -204
- package/bin/runners/runMissionGenerator.js +0 -282
- package/bin/runners/runTruthpack.js +0 -636
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# vibecheck CLI v3.
|
|
1
|
+
# vibecheck CLI v3.1.1
|
|
2
2
|
|
|
3
3
|
**Ship with confidence. One verdict: SHIP | WARN | BLOCK**
|
|
4
4
|
|
|
@@ -26,48 +26,75 @@ vibecheck ctx
|
|
|
26
26
|
|
|
27
27
|
# Environment diagnostics
|
|
28
28
|
vibecheck doctor
|
|
29
|
+
|
|
30
|
+
# Production polish check
|
|
31
|
+
vibecheck polish
|
|
29
32
|
```
|
|
30
33
|
|
|
31
34
|
## Commands
|
|
32
35
|
|
|
33
|
-
###
|
|
36
|
+
### Setup Commands
|
|
37
|
+
|
|
38
|
+
| Command | Tier | Description |
|
|
39
|
+
|---------|------|-------------|
|
|
40
|
+
| `vibecheck init` | FREE | Project setup wizard (`--local` or `--connect`) |
|
|
41
|
+
| `vibecheck install` | FREE | Zero-friction onboarding |
|
|
42
|
+
| `vibecheck doctor` | FREE | Environment diagnostics |
|
|
43
|
+
| `vibecheck status` | FREE | Project health dashboard |
|
|
44
|
+
| `vibecheck watch` | FREE | Continuous mode - re-runs on changes |
|
|
34
45
|
|
|
35
|
-
|
|
36
|
-
|---------|-------------|
|
|
37
|
-
| `vibecheck scan` | Static analysis - routes, secrets, contracts |
|
|
38
|
-
| `vibecheck ship` | Verdict engine - SHIP / WARN / BLOCK |
|
|
39
|
-
| `vibecheck reality` | Runtime proof with Playwright |
|
|
40
|
-
| `vibecheck prove` | Full loop: ctx → reality → ship → fix |
|
|
41
|
-
| `vibecheck fix` | AI-powered auto-fix (Pro) |
|
|
42
|
-
| `vibecheck report` | Generate HTML/MD/SARIF reports |
|
|
46
|
+
### Proof Loop
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
| Command | Tier | Description |
|
|
49
|
+
|---------|------|-------------|
|
|
50
|
+
| `vibecheck scan` | FREE | Static analysis - routes, secrets, contracts |
|
|
51
|
+
| `vibecheck ship` | FREE | Verdict engine - SHIP / WARN / BLOCK |
|
|
52
|
+
| `vibecheck runtime` | FREE* | Browser-based runtime verification |
|
|
53
|
+
| `vibecheck prove` | PRO | Full loop: ctx → reality → ship → fix |
|
|
54
|
+
| `vibecheck fix` | FREE* | AI-powered auto-fix (plan-only on FREE) |
|
|
55
|
+
| `vibecheck security` | PRO | AuthZ matrix & IDOR detection |
|
|
45
56
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
| `vibecheck
|
|
51
|
-
| `vibecheck
|
|
52
|
-
| `vibecheck watch` | Continuous mode |
|
|
57
|
+
### Quality & Checkpoints
|
|
58
|
+
|
|
59
|
+
| Command | Tier | Description |
|
|
60
|
+
|---------|------|-------------|
|
|
61
|
+
| `vibecheck polish` | FREE | Production polish analyzer (0-100 score) |
|
|
62
|
+
| `vibecheck checkpoint` | FREE* | Compare baseline vs current, hallucination scoring |
|
|
53
63
|
|
|
54
64
|
### Truth System (AI Guardrails)
|
|
55
65
|
|
|
56
|
-
| Command | Description |
|
|
57
|
-
|
|
58
|
-
| `vibecheck ctx` | Generate truthpack for AI agents |
|
|
59
|
-
| `vibecheck guard` | Validate AI claims against truth |
|
|
60
|
-
| `vibecheck context` | Generate .cursorrules, .windsurf/rules |
|
|
61
|
-
| `vibecheck
|
|
66
|
+
| Command | Tier | Description |
|
|
67
|
+
|---------|------|-------------|
|
|
68
|
+
| `vibecheck ctx` | FREE | Generate truthpack for AI agents |
|
|
69
|
+
| `vibecheck guard` | FREE | Validate AI claims against truth |
|
|
70
|
+
| `vibecheck context` | FREE | Generate .cursorrules, .windsurf/rules |
|
|
71
|
+
| `vibecheck contracts` | FREE | CI gate for contract drift |
|
|
72
|
+
|
|
73
|
+
### Output & Export
|
|
74
|
+
|
|
75
|
+
| Command | Tier | Description |
|
|
76
|
+
|---------|------|-------------|
|
|
77
|
+
| `vibecheck report` | FREE | Generate HTML/MD/SARIF reports |
|
|
78
|
+
| `vibecheck export` | FREE | Generate collaboration outputs (pr, badge, bundle) |
|
|
79
|
+
|
|
80
|
+
### CI/CD & Automation
|
|
81
|
+
|
|
82
|
+
| Command | Tier | Description |
|
|
83
|
+
|---------|------|-------------|
|
|
84
|
+
| `vibecheck gate` | STARTER | CI/CD gate |
|
|
85
|
+
| `vibecheck pr` | STARTER | Generate PR comment |
|
|
86
|
+
| `vibecheck badge` | STARTER | Generate README badge |
|
|
87
|
+
| `vibecheck mcp` | STARTER | Start MCP server for AI IDEs |
|
|
88
|
+
|
|
89
|
+
*Commands marked with * have limited functionality on FREE tier
|
|
62
90
|
|
|
63
|
-
|
|
91
|
+
## Pricing
|
|
64
92
|
|
|
65
|
-
|
|
|
66
|
-
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
| `vibecheck mcp` | Start MCP server for AI IDEs |
|
|
93
|
+
| Tier | Price | Features |
|
|
94
|
+
|------|-------|----------|
|
|
95
|
+
| FREE | $0 | scan, ship (static), doctor, polish, report (HTML/MD), ctx, guard |
|
|
96
|
+
| STARTER | $39/mo | + init --connect, gate, pr, badge, mcp, report (SARIF/CSV) |
|
|
97
|
+
| PRO | $99/mo | + prove, fix --apply, security, checkpoint (hallucination), runtime (full) |
|
|
71
98
|
|
|
72
99
|
## What It Catches
|
|
73
100
|
|
|
@@ -87,7 +114,7 @@ vibecheck doctor
|
|
|
87
114
|
╚═════════════════════════════════════════════════════════════════╝
|
|
88
115
|
```
|
|
89
116
|
|
|
90
|
-
Exit codes: `0` = SHIP, `1` = WARN, `2` = BLOCK
|
|
117
|
+
Exit codes: `0` = SHIP, `1` = WARN, `2` = BLOCK, `3` = Feature not allowed
|
|
91
118
|
|
|
92
119
|
## MCP Server
|
|
93
120
|
|
|
@@ -122,4 +149,4 @@ MIT © Vibecheck AI
|
|
|
122
149
|
|
|
123
150
|
---
|
|
124
151
|
|
|
125
|
-
**[Documentation](https://vibecheckai.dev/docs)** · **[Discord](https://discord.gg/vibecheck)** · **[GitHub](https://github.com/vibecheck-
|
|
152
|
+
**[Documentation](https://vibecheckai.dev/docs)** · **[Discord](https://discord.gg/vibecheck)** · **[GitHub](https://github.com/vibecheck-oss/vibecheck)**
|
package/bin/registry.js
CHANGED
|
@@ -10,45 +10,330 @@
|
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
13
|
-
// COMMAND REGISTRY -
|
|
13
|
+
// COMMAND REGISTRY - The 14-Command Vibecheck CLI
|
|
14
|
+
// Tiers match entitlements-v2.js EXACTLY
|
|
14
15
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
15
16
|
const COMMANDS = {
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
doctor: {
|
|
17
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
18
|
+
// SETUP COMMANDS (2)
|
|
19
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
20
|
+
|
|
21
|
+
// 1) init - One-time setup (config + contracts + scripts)
|
|
22
|
+
init: {
|
|
23
|
+
description: "One-time setup (config + contracts + scripts)",
|
|
24
|
+
tier: "free",
|
|
25
|
+
category: "setup",
|
|
26
|
+
aliases: ["setup", "configure"],
|
|
27
|
+
runner: () => require("./runners/runInit").runInit
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
// 2) doctor - Environment + dependency + config health check
|
|
31
|
+
doctor: {
|
|
32
|
+
description: "Environment + dependency + config health check",
|
|
33
|
+
tier: "free",
|
|
34
|
+
category: "setup",
|
|
35
|
+
aliases: ["health", "diag"],
|
|
36
|
+
runner: () => require("./runners/runDoctor").runDoctor
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
40
|
+
// AI TRUTH LANE (4) - Context engine, guardrails, MDC
|
|
41
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
42
|
+
|
|
43
|
+
// 3) ctx - Generate/update truthpack (core truth engine)
|
|
44
|
+
ctx: {
|
|
45
|
+
description: "Truthpack generation - core truth engine",
|
|
46
|
+
tier: "free",
|
|
47
|
+
category: "truth",
|
|
48
|
+
aliases: ["truthpack", "tp"],
|
|
49
|
+
subcommands: ["build", "diff", "sync", "search"],
|
|
50
|
+
runner: () => require("./runners/runCtx").runCtx
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
// 4) context - MDC + IDE rules + memory engine outputs
|
|
54
|
+
context: {
|
|
55
|
+
description: "Generate IDE rules (.cursorrules, MDC, Windsurf, Copilot)",
|
|
56
|
+
tier: "free",
|
|
57
|
+
category: "truth",
|
|
58
|
+
aliases: ["rules", "ai-rules", "mdc"],
|
|
59
|
+
runner: () => require("./runners/runContext").runContext
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
// 5) guard - AI guardrails (prompt firewall, hallucination checking)
|
|
63
|
+
guard: {
|
|
64
|
+
description: "AI guardrails - prompt firewall & hallucination checking",
|
|
65
|
+
tier: "free",
|
|
66
|
+
category: "truth",
|
|
67
|
+
aliases: ["ai-guard", "firewall", "validate"],
|
|
68
|
+
runner: () => require("./runners/runGuard").runGuard
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
// 6) contracts - CI gate for contract drift / invariants
|
|
72
|
+
contracts: {
|
|
73
|
+
description: "CI gate for contract drift / invariants",
|
|
74
|
+
tier: "free",
|
|
75
|
+
category: "truth",
|
|
76
|
+
aliases: ["drift"],
|
|
77
|
+
runner: () => require("./runners/runContracts").runContracts
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
81
|
+
// PROOF LOOP (5) - The main verification commands
|
|
82
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
83
|
+
|
|
84
|
+
// 7) ship - The only verdict command. Static + (optional) runtime merge
|
|
85
|
+
ship: {
|
|
86
|
+
description: "Verdict engine - SHIP / WARN / BLOCK",
|
|
87
|
+
tier: "free",
|
|
88
|
+
category: "proof",
|
|
89
|
+
aliases: ["verdict"],
|
|
90
|
+
caps: "static-only on FREE",
|
|
91
|
+
runner: () => require("./runners/runShip").runShip
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
// 8) runtime - Everything Playwright / browser-based
|
|
95
|
+
runtime: {
|
|
96
|
+
description: "Browser-based runtime verification",
|
|
97
|
+
tier: "free",
|
|
98
|
+
category: "proof",
|
|
99
|
+
aliases: [],
|
|
100
|
+
subcommands: ["crawl", "agent", "record", "play"],
|
|
101
|
+
caps: "preview mode on FREE (5 pages, no auth)",
|
|
102
|
+
runner: () => require("./runners/runRuntime").runRuntime
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
// 9) fix - Mission planning + patching
|
|
106
|
+
fix: {
|
|
107
|
+
description: "AI-powered auto-fix",
|
|
108
|
+
tier: "free",
|
|
109
|
+
category: "proof",
|
|
110
|
+
caps: "--plan-only on FREE",
|
|
111
|
+
aliases: ["f", "repair"],
|
|
112
|
+
runner: () => require("./runners/runFix").runFix
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
// 10) prove - The one command users actually run before launch
|
|
116
|
+
prove: {
|
|
117
|
+
description: "Full proof loop - ctx → runtime → ship → fix",
|
|
118
|
+
tier: "pro",
|
|
119
|
+
category: "proof",
|
|
120
|
+
aliases: ["p", "full", "all"],
|
|
121
|
+
runner: () => require("./runners/runProve").runProve
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
// 11) security - AuthZ + IDOR + sensitive security proofs
|
|
125
|
+
security: {
|
|
126
|
+
description: "AuthZ matrix & IDOR detection",
|
|
127
|
+
tier: "pro",
|
|
128
|
+
category: "proof",
|
|
129
|
+
aliases: [],
|
|
130
|
+
subcommands: ["model", "matrix", "idor", "prove"],
|
|
131
|
+
runner: () => require("./runners/runSecurity").runSecurity
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
135
|
+
// OUTPUT & AUTOMATION (3)
|
|
136
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
137
|
+
|
|
138
|
+
// 12) report - Render artifacts (HTML/MD/SARIF/CSV/etc)
|
|
139
|
+
report: {
|
|
140
|
+
description: "Generate HTML/MD/SARIF reports",
|
|
141
|
+
tier: "free",
|
|
142
|
+
category: "output",
|
|
143
|
+
caps: "HTML/MD only on FREE",
|
|
144
|
+
aliases: ["html", "artifact"],
|
|
145
|
+
runner: () => require("./runners/runReport").runReport
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
// 13) export - Lightweight collab outputs from latest results
|
|
149
|
+
export: {
|
|
150
|
+
description: "Generate collaboration outputs",
|
|
151
|
+
tier: "free",
|
|
152
|
+
category: "output",
|
|
153
|
+
aliases: [],
|
|
154
|
+
subcommands: ["pr", "badge", "bundle"],
|
|
155
|
+
runner: () => require("./runners/runExport").runExport
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
// 14) mcp - Start MCP server for AI IDEs
|
|
159
|
+
mcp: {
|
|
160
|
+
description: "Start MCP server for AI IDEs",
|
|
161
|
+
tier: "starter",
|
|
162
|
+
category: "automation",
|
|
163
|
+
aliases: [],
|
|
164
|
+
runner: () => require("./runners/runMcp").runMcp
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
168
|
+
// BACKWARD COMPATIBILITY ALIASES (old commands still work)
|
|
169
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
170
|
+
|
|
171
|
+
// install → init --quick
|
|
172
|
+
install: {
|
|
173
|
+
description: "Zero-friction onboarding (alias: init --quick)",
|
|
174
|
+
tier: "free",
|
|
175
|
+
category: "setup",
|
|
176
|
+
aliases: ["i", "bootstrap"],
|
|
177
|
+
runner: () => async (args) => {
|
|
178
|
+
const { runInit } = require("./runners/runInit");
|
|
179
|
+
return await runInit(["--quick", ...args]);
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
// scan - Enhanced route integrity scanner with terminal UI
|
|
184
|
+
scan: {
|
|
185
|
+
description: "Route integrity & code analysis scanner",
|
|
186
|
+
tier: "free",
|
|
187
|
+
category: "proof",
|
|
188
|
+
aliases: ["s", "check"],
|
|
189
|
+
runner: () => require("./runners/runScan").runScan
|
|
190
|
+
},
|
|
191
|
+
|
|
192
|
+
// gate → ship --ci
|
|
193
|
+
gate: {
|
|
194
|
+
description: "CI/CD gate (alias: ship --ci)",
|
|
195
|
+
tier: "starter",
|
|
196
|
+
category: "ci",
|
|
197
|
+
aliases: ["ci", "block"],
|
|
198
|
+
runner: () => async (args) => {
|
|
199
|
+
const { runShip } = require("./runners/runShip");
|
|
200
|
+
return await runShip(["--ci", ...args]);
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
// reality → runtime crawl
|
|
205
|
+
reality: {
|
|
206
|
+
description: "Runtime proof (alias: runtime crawl)",
|
|
207
|
+
tier: "free",
|
|
208
|
+
category: "proof",
|
|
209
|
+
aliases: ["r", "test", "e2e"],
|
|
210
|
+
caps: "preview mode on FREE (5 pages, no auth)",
|
|
211
|
+
runner: () => async (args) => {
|
|
212
|
+
const { runRuntime } = require("./runners/runRuntime");
|
|
213
|
+
return await runRuntime(["crawl", ...args]);
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
// ai-test → runtime agent
|
|
218
|
+
"ai-test": {
|
|
219
|
+
description: "AI autonomous test (alias: runtime agent)",
|
|
220
|
+
tier: "pro",
|
|
221
|
+
category: "automation",
|
|
222
|
+
aliases: ["ai", "agent"],
|
|
223
|
+
runner: () => async (args) => {
|
|
224
|
+
const { runRuntime } = require("./runners/runRuntime");
|
|
225
|
+
return await runRuntime(["agent", ...args]);
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
// replay → runtime record/play
|
|
230
|
+
replay: {
|
|
231
|
+
description: "Record/replay sessions (alias: runtime record/play)",
|
|
232
|
+
tier: "pro",
|
|
233
|
+
category: "proof",
|
|
234
|
+
aliases: ["record", "playback"],
|
|
235
|
+
runner: () => async (args) => {
|
|
236
|
+
// If first arg is record or play, delegate to runtime
|
|
237
|
+
if (args[0] === "record" || args[0] === "play") {
|
|
238
|
+
const { runRuntime } = require("./runners/runRuntime");
|
|
239
|
+
return await runRuntime(args);
|
|
240
|
+
}
|
|
241
|
+
// Otherwise delegate to original replay handler
|
|
242
|
+
try {
|
|
243
|
+
const { runReplay } = require("./runners/runReplay");
|
|
244
|
+
return await runReplay(args);
|
|
245
|
+
} catch (e) {
|
|
246
|
+
if (args && (args.includes("--help") || args.includes("-h") || args.length === 0)) {
|
|
247
|
+
console.log("\n vibecheck replay - Record and replay user sessions\n\n Subcommands:\n record <url> Record a user session\n play <capsule> Replay a recorded session\n list List available replay capsules\n show <id> Show details of a replay capsule\n delete <id> Delete a replay capsule\n export <id> Export a replay capsule\n import <file> Import a replay capsule\n\n Note: Requires 'chalk' and 'playwright' dependencies.\n Install: npm install chalk playwright\n");
|
|
248
|
+
return 0;
|
|
249
|
+
}
|
|
250
|
+
console.error("Replay runner error:", e.message);
|
|
251
|
+
return 1;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
// pr → export pr
|
|
257
|
+
pr: {
|
|
258
|
+
description: "Generate PR comment (alias: export pr)",
|
|
259
|
+
tier: "starter",
|
|
260
|
+
category: "ci",
|
|
261
|
+
aliases: ["pull-request"],
|
|
262
|
+
runner: () => async (args) => {
|
|
263
|
+
const { runExport } = require("./runners/runExport");
|
|
264
|
+
return await runExport(["pr", ...args]);
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
|
|
268
|
+
// badge → export badge
|
|
269
|
+
badge: {
|
|
270
|
+
description: "Generate ship badge (alias: export badge)",
|
|
271
|
+
tier: "starter",
|
|
272
|
+
category: "ci",
|
|
273
|
+
aliases: ["b"],
|
|
274
|
+
runner: () => async (args) => {
|
|
275
|
+
const { runExport } = require("./runners/runExport");
|
|
276
|
+
return await runExport(["badge", ...args]);
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
|
|
280
|
+
// share → export bundle
|
|
281
|
+
share: {
|
|
282
|
+
description: "Generate share pack (alias: export bundle)",
|
|
283
|
+
tier: "pro",
|
|
284
|
+
category: "automation",
|
|
285
|
+
aliases: [],
|
|
286
|
+
runner: () => async (args) => {
|
|
287
|
+
const { runExport } = require("./runners/runExport");
|
|
288
|
+
return await runExport(["bundle", ...args]);
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
|
|
292
|
+
// permissions → security model
|
|
293
|
+
permissions: {
|
|
294
|
+
description: "AuthZ & IDOR (alias: security model)",
|
|
295
|
+
tier: "pro",
|
|
296
|
+
category: "proof",
|
|
297
|
+
aliases: ["authz", "idor"],
|
|
298
|
+
runner: () => async (args) => {
|
|
299
|
+
const { runSecurity } = require("./runners/runSecurity");
|
|
300
|
+
// If no subcommand, default to "model"
|
|
301
|
+
if (!args[0] || args[0].startsWith("--")) {
|
|
302
|
+
return await runSecurity(["model", ...args]);
|
|
303
|
+
}
|
|
304
|
+
return await runSecurity(args);
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
|
|
308
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
309
|
+
// QUALITY & CHECKPOINT COMMANDS
|
|
310
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
311
|
+
|
|
312
|
+
// 15) polish - Production polish analyzer
|
|
313
|
+
polish: {
|
|
314
|
+
description: "Production polish analyzer - finds missing essentials",
|
|
315
|
+
tier: "free",
|
|
316
|
+
category: "quality",
|
|
317
|
+
aliases: ["quality", "finalize", "ready"],
|
|
318
|
+
runner: () => require("./runners/runPolish").runPolish
|
|
319
|
+
},
|
|
320
|
+
|
|
321
|
+
// 16) checkpoint - Compare baseline vs current
|
|
322
|
+
checkpoint: {
|
|
323
|
+
description: "Compare baseline vs current, hallucination scoring",
|
|
324
|
+
tier: "free",
|
|
325
|
+
category: "analysis",
|
|
326
|
+
aliases: ["cp", "compare", "diff"],
|
|
327
|
+
caps: "basic on FREE, hallucination scoring on PRO",
|
|
328
|
+
runner: () => require("./runners/runCheckpoint").runCheckpoint
|
|
329
|
+
},
|
|
330
|
+
|
|
31
331
|
status: { description: "Project health dashboard", tier: "free", category: "setup", aliases: ["st"], runner: () => require("./runners/runStatus").runStatus },
|
|
32
332
|
watch: { description: "Continuous mode - re-runs on changes", tier: "free", category: "setup", aliases: ["w", "dev"], runner: () => require("./runners/runWatch").runWatch },
|
|
33
|
-
launch: { description: "Pre-launch checklist wizard", tier: "starter", category: "setup", aliases: ["checklist"
|
|
34
|
-
preflight: { description: "Deployment validation checks", tier: "free", category: "setup", aliases: ["
|
|
35
|
-
|
|
36
|
-
// AI TRUTH
|
|
37
|
-
ctx: { description: "Generate truthpack for AI agents", tier: "free", category: "truth", aliases: ["truthpack", "tp"], subcommands: ["build", "diff", "guard", "sync", "search"], runner: () => require("./runners/runCtx").runCtx },
|
|
38
|
-
guard: { description: "Validate AI claims against truth", tier: "free", category: "truth", aliases: ["validate", "trust"], runner: () => require("./runners/runGuard").runGuard },
|
|
333
|
+
launch: { description: "Pre-launch checklist wizard", tier: "starter", category: "setup", aliases: ["checklist"], runner: () => require("./runners/runLaunch").runLaunch },
|
|
334
|
+
preflight: { description: "Deployment validation checks", tier: "free", category: "setup", aliases: ["deploy-check"], runner: () => require("./runners/runPreflight").runPreflight },
|
|
39
335
|
verify: { description: "Verify AI-generated code output", tier: "free", category: "truth", aliases: ["v", "check-output"], runner: () => require("./runners/runVerify").main },
|
|
40
|
-
|
|
41
|
-
mdc: { description: "Generate MDC specifications", tier: "free", category: "truth", aliases: [], runner: () => require("./runners/runMdc").runMdc },
|
|
42
|
-
|
|
43
|
-
// CI & COLLABORATION (STARTER+)
|
|
44
|
-
gate: { description: "CI/CD gate - blocks deploys on failures", tier: "starter", category: "ci", aliases: ["ci", "block"], runner: () => require("./runners/runGate").runGate },
|
|
45
|
-
pr: { description: "Generate PR comment with findings", tier: "starter", category: "ci", aliases: ["pull-request"], runner: () => require("./runners/runPR").runPR },
|
|
46
|
-
badge: { description: "Generate ship badge for README", tier: "starter", category: "ci", aliases: ["b"], runner: () => require("./runners/runBadge").runBadge },
|
|
47
|
-
|
|
48
|
-
// AUTOMATION (STARTER+/PRO)
|
|
49
|
-
mcp: { description: "Start MCP server for AI IDEs", tier: "starter", category: "automation", aliases: [], runner: () => require("./runners/runMcp").runMcp },
|
|
50
|
-
share: { description: "Generate share pack for PR/docs", tier: "pro", category: "automation", aliases: [], runner: () => require("./runners/runShare").runShare },
|
|
51
|
-
"ai-test": { description: "AI autonomous test generation", tier: "pro", category: "automation", aliases: ["ai", "agent"], runner: () => require("./runners/runAIAgent").runAIAgent },
|
|
336
|
+
graph: { description: "Reality proof graph visualization", tier: "pro", category: "proof", aliases: ["graphviz", "causal"], runner: () => require("./runners/runGraph").runGraph },
|
|
52
337
|
|
|
53
338
|
// ACCOUNT (always free)
|
|
54
339
|
login: { description: "Authenticate with API key", tier: "free", category: "account", aliases: ["auth", "signin"], runner: () => require("./runners/runAuth").runLogin, skipAuth: true },
|