@vibecheckai/cli 3.1.2 → 3.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +60 -33
  2. package/bin/registry.js +319 -34
  3. package/bin/runners/CLI_REFACTOR_SUMMARY.md +229 -0
  4. package/bin/runners/REPORT_AUDIT.md +64 -0
  5. package/bin/runners/lib/entitlements-v2.js +97 -28
  6. package/bin/runners/lib/entitlements.js +3 -6
  7. package/bin/runners/lib/init-wizard.js +1 -1
  8. package/bin/runners/lib/report-engine.js +459 -280
  9. package/bin/runners/lib/report-html.js +1154 -1423
  10. package/bin/runners/lib/report-output.js +187 -0
  11. package/bin/runners/lib/report-templates.js +848 -850
  12. package/bin/runners/lib/scan-output.js +545 -0
  13. package/bin/runners/lib/server-usage.js +0 -12
  14. package/bin/runners/lib/ship-output.js +641 -0
  15. package/bin/runners/lib/status-output.js +253 -0
  16. package/bin/runners/lib/terminal-ui.js +853 -0
  17. package/bin/runners/runCheckpoint.js +502 -0
  18. package/bin/runners/runContracts.js +105 -0
  19. package/bin/runners/runExport.js +93 -0
  20. package/bin/runners/runFix.js +31 -24
  21. package/bin/runners/runInit.js +377 -112
  22. package/bin/runners/runInstall.js +1 -5
  23. package/bin/runners/runLabs.js +3 -3
  24. package/bin/runners/runPolish.js +2452 -0
  25. package/bin/runners/runProve.js +2 -2
  26. package/bin/runners/runReport.js +251 -200
  27. package/bin/runners/runRuntime.js +110 -0
  28. package/bin/runners/runScan.js +477 -379
  29. package/bin/runners/runSecurity.js +92 -0
  30. package/bin/runners/runShip.js +137 -207
  31. package/bin/runners/runStatus.js +16 -68
  32. package/bin/runners/utils.js +5 -5
  33. package/bin/vibecheck.js +25 -11
  34. package/mcp-server/index.js +150 -18
  35. package/mcp-server/package.json +2 -2
  36. package/mcp-server/premium-tools.js +13 -13
  37. package/mcp-server/tier-auth.js +292 -27
  38. package/mcp-server/vibecheck-tools.js +9 -9
  39. package/package.json +1 -1
  40. package/bin/runners/runClaimVerifier.js +0 -483
  41. package/bin/runners/runContextCompiler.js +0 -385
  42. package/bin/runners/runGate.js +0 -17
  43. package/bin/runners/runInitGha.js +0 -164
  44. package/bin/runners/runInteractive.js +0 -388
  45. package/bin/runners/runMdc.js +0 -204
  46. package/bin/runners/runMissionGenerator.js +0 -282
  47. package/bin/runners/runTruthpack.js +0 -636
@@ -0,0 +1,229 @@
1
+ # CLI Refactor Summary - The 14-Command Vibecheck CLI
2
+
3
+ **Date:** $(date)
4
+ **Purpose:** Consolidate CLI into 14 core commands with backward-compatible aliases
5
+
6
+ ---
7
+
8
+ ## The 14 Core Commands
9
+
10
+ ### SETUP (2 commands)
11
+ | # | Command | Description | Tier |
12
+ |---|---------|-------------|------|
13
+ | 1 | `init` | One-time setup (config + contracts + scripts) | FREE |
14
+ | 2 | `doctor` | Environment + dependency + config health check | FREE |
15
+
16
+ ### AI TRUTH LANE (4 commands)
17
+ | # | Command | Description | Tier |
18
+ |---|---------|-------------|------|
19
+ | 3 | `ctx` | Truthpack generation - core truth engine | FREE |
20
+ | 4 | `context` | Generate IDE rules (.cursorrules, MDC, Windsurf, Copilot) | FREE |
21
+ | 5 | `guard` | AI guardrails - prompt firewall & hallucination checking | FREE |
22
+ | 6 | `contracts` | CI gate for contract drift / invariants | FREE |
23
+
24
+ ### PROOF LOOP (5 commands)
25
+ | # | Command | Description | Tier |
26
+ |---|---------|-------------|------|
27
+ | 7 | `ship` | Verdict engine - SHIP / WARN / BLOCK | FREE |
28
+ | 8 | `runtime` | Browser-based runtime verification | FREE |
29
+ | 9 | `fix` | AI-powered auto-fix | FREE |
30
+ | 10 | `prove` | Full proof loop - ctx → runtime → ship → fix | PRO |
31
+ | 11 | `security` | AuthZ matrix & IDOR detection | PRO |
32
+
33
+ ### OUTPUT & AUTOMATION (3 commands)
34
+ | # | Command | Description | Tier |
35
+ |---|---------|-------------|------|
36
+ | 12 | `report` | Generate HTML/MD/SARIF reports | FREE |
37
+ | 13 | `export` | Generate collaboration outputs | FREE |
38
+ | 14 | `mcp` | Start MCP server for AI IDEs | STARTER |
39
+
40
+ ---
41
+
42
+ ## AI Truth Lane - Deep Dive
43
+
44
+ ### `vibecheck ctx` - Truthpack Generation
45
+ The core truth engine that builds the "ground truth" of your project:
46
+ - Project metadata (frameworks, workspaces, entrypoints)
47
+ - Server routes and client route references
48
+ - Environment variables and auth patterns
49
+ - Billing/payment integrations
50
+ - External service integrations
51
+
52
+ **Subcommands:**
53
+ - `ctx build` - Build/refresh truthpack
54
+ - `ctx diff` - Show drift from contracts
55
+ - `ctx sync` - Update contracts from truthpack
56
+ - `ctx search` - Semantic search in context
57
+
58
+ ### `vibecheck context` - IDE Rules & MDC Generation
59
+ Generates context files for AI coding assistants:
60
+ - `.cursorrules` - Cursor IDE rules
61
+ - `.cursor/rules/*.mdc` - Cursor MDC files
62
+ - `.windsurf/rules/*.md` - Windsurf rules
63
+ - `.github/copilot-instructions.md` - GitHub Copilot
64
+ - `.claude/` and `.codex/` instructions
65
+ - `.vibecheck/context.json` - Universal context
66
+
67
+ Also supports:
68
+ - Semantic code search
69
+ - Secret/vulnerability scanning
70
+ - AI task decomposition
71
+ - Multi-repo federation
72
+ - AI memory storage
73
+
74
+ ### `vibecheck guard` - AI Guardrails
75
+ The prompt firewall and hallucination prevention system:
76
+ - Validates AI claims against truthpack
77
+ - Breaks prompts into tasks and verifies them
78
+ - Checks for hallucination risks
79
+ - Version-control aware fixes
80
+ - Can generate diffs and apply fixes
81
+
82
+ ### `vibecheck contracts` - Contract Drift Detection
83
+ CI gate for ensuring code doesn't drift from contracts:
84
+ - Validates routes against routes.json
85
+ - Validates env vars against env.json
86
+ - Validates auth patterns against auth.json
87
+ - Returns SHIP/WARN/BLOCK verdict
88
+
89
+ ---
90
+
91
+ ## Subcommand Reference
92
+
93
+ ### `runtime` Subcommands
94
+ - `runtime crawl --url <url>` - UI verification (replaces `reality`)
95
+ - `runtime agent --url <url>` - AI autonomous testing (replaces `ai-test`)
96
+ - `runtime record --url <url>` - Record session (replaces `replay record`)
97
+ - `runtime play <capsule>` - Replay session (replaces `replay play`)
98
+
99
+ ### `export` Subcommands
100
+ - `export pr` - Generate PR comment (replaces `pr`)
101
+ - `export badge` - Generate ship badge (replaces `badge`)
102
+ - `export bundle` - Generate share pack (replaces `share`)
103
+
104
+ ### `security` Subcommands
105
+ - `security model` - Extract auth model (replaces `permissions --learn`)
106
+ - `security matrix` - Build AuthZ matrix (replaces `permissions --matrix`)
107
+ - `security idor` - Detect IDOR candidates (replaces `permissions --idor`)
108
+ - `security prove --url <url>` - Runtime verification
109
+
110
+ ---
111
+
112
+ ## Backward Compatibility Aliases
113
+
114
+ All old commands still work:
115
+
116
+ | Old Command | New Command |
117
+ |-------------|-------------|
118
+ | `install` | `init --quick` |
119
+ | `scan` | `ship --mode scan` |
120
+ | `gate` | `ship --ci` |
121
+ | `reality` | `runtime crawl` |
122
+ | `ai-test` | `runtime agent` |
123
+ | `replay record` | `runtime record` |
124
+ | `replay play` | `runtime play` |
125
+ | `pr` | `export pr` |
126
+ | `badge` | `export badge` |
127
+ | `share` | `export bundle` |
128
+ | `permissions` | `security model` |
129
+ | `mdc` | `context` (alias) |
130
+
131
+ ---
132
+
133
+ ## The "What Do I Run?" Cheat Sheet
134
+
135
+ ### Daily Development
136
+ ```bash
137
+ vibecheck ship # Quick verdict
138
+ vibecheck watch # Continuous mode
139
+ ```
140
+
141
+ ### New Project Setup
142
+ ```bash
143
+ vibecheck init # Full wizard
144
+ vibecheck init --quick # Fast setup
145
+ ```
146
+
147
+ ### Before Pushing
148
+ ```bash
149
+ vibecheck ship # Static verdict
150
+ vibecheck ship --with runtime # Include runtime findings
151
+ ```
152
+
153
+ ### Before Deploying
154
+ ```bash
155
+ vibecheck prove # Full proof loop
156
+ ```
157
+
158
+ ### In CI/CD
159
+ ```bash
160
+ vibecheck ship --ci # CI verdict
161
+ vibecheck contracts --strict # Contract drift gate
162
+ ```
163
+
164
+ ### AI Context Generation
165
+ ```bash
166
+ vibecheck ctx # Build truthpack
167
+ vibecheck context # Generate IDE rules & MDC
168
+ ```
169
+
170
+ ### AI Guardrails
171
+ ```bash
172
+ vibecheck guard # Validate AI output
173
+ vibecheck verify # Verify AI-generated code
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Key Distinctions
179
+
180
+ ### `guard` vs `contracts`
181
+ - **`guard`** = AI guardrails (prompt firewall, hallucination checking)
182
+ - **`contracts`** = Contract drift (CI gate for code vs contracts)
183
+
184
+ ### `ctx` vs `context`
185
+ - **`ctx`** = Core truth engine (builds truthpack)
186
+ - **`context`** = IDE rules & MDC generation (consumes truthpack)
187
+
188
+ ### `ship` vs `prove`
189
+ - **`ship`** = Single verdict (static or with runtime)
190
+ - **`prove`** = Full loop (ctx → runtime → ship → fix → verify)
191
+
192
+ ---
193
+
194
+ ## Additional Commands (DX Helpers)
195
+
196
+ These commands are kept for convenience but not part of the core 14:
197
+
198
+ | Command | Description | Tier |
199
+ |---------|-------------|------|
200
+ | `status` | Project health dashboard | FREE |
201
+ | `watch` | Continuous mode - re-runs on changes | FREE |
202
+ | `launch` | Pre-launch checklist wizard | STARTER |
203
+ | `preflight` | Deployment validation checks | FREE |
204
+ | `verify` | Verify AI-generated code output | FREE |
205
+ | `graph` | Reality proof graph visualization | PRO |
206
+
207
+ ### Account Commands
208
+ | Command | Description |
209
+ |---------|-------------|
210
+ | `login` | Authenticate with API key |
211
+ | `logout` | Remove stored credentials |
212
+ | `whoami` | Show current user and plan |
213
+
214
+ ---
215
+
216
+ ## Summary
217
+
218
+ The 14-command structure provides:
219
+
220
+ 1. **Clear Setup** - `init`, `doctor`
221
+ 2. **AI Truth Lane** - `ctx`, `context`, `guard`, `contracts`
222
+ 3. **Proof Loop** - `ship`, `runtime`, `fix`, `prove`, `security`
223
+ 4. **Output & Automation** - `report`, `export`, `mcp`
224
+
225
+ All features preserved, no confusion:
226
+ - AI guardrails live in `guard`
227
+ - Contract drift lives in `contracts`
228
+ - MDC/IDE rules live in `context`
229
+ - Truthpack generation lives in `ctx`
@@ -0,0 +1,64 @@
1
+ # Report Generation Audit
2
+
3
+ ## Commands That Generate Reports Automatically
4
+
5
+ ### ✅ Updated Commands
6
+
7
+ 1. **`vibecheck ship`**
8
+ - **Location**: `bin/runners/runShip.js`
9
+ - **Report**: `.vibecheck/report.html`
10
+ - **Type**: Technical report (detailed)
11
+ - **Generator**: `lib/html-report.js` → `generateHTMLReport()`
12
+ - **Status**: ✅ Updated to use better HTML report generator
13
+
14
+ 2. **`vibecheck report`**
15
+ - **Location**: `bin/runners/runReport.js`
16
+ - **Report**: `.vibecheck/report.html` (or custom path)
17
+ - **Types**:
18
+ - `--type=executive`: Client-friendly executive report
19
+ - `--type=technical` (default): Detailed technical report
20
+ - `--type=compliance`: Compliance report (PRO tier)
21
+ - **Generator**:
22
+ - Executive: `lib/report-templates.js` → `generateEnhancedExecutiveReport()`
23
+ - Technical: `lib/html-report.js` → `generateHTMLReport()`
24
+ - **Status**: ✅ Updated - executive uses client-friendly template, technical uses detailed generator
25
+
26
+ 3. **`writeArtifacts()` utility**
27
+ - **Location**: `bin/runners/utils.js`
28
+ - **Report**: `.vibecheck/report.html`
29
+ - **Type**: Technical report (detailed)
30
+ - **Generator**: `lib/html-report.js` → `generateHTMLReport()`
31
+ - **Used by**: `runShip.js` (but skipped since ship generates its own)
32
+ - **Status**: ✅ Updated to use better HTML report generator
33
+
34
+ ### ✅ Specialized Reports (Keep As-Is)
35
+
36
+ 4. **`vibecheck reality`**
37
+ - **Location**: `bin/runners/reality/report.js`
38
+ - **Report**: `.vibecheck/reality/reality-report.html`
39
+ - **Type**: Reality mode specific report (runtime testing results)
40
+ - **Generator**: `reality/report.js` → `writeHtmlReport()`
41
+ - **Status**: ✅ Appropriate - specialized for reality mode, different format needed
42
+
43
+ 5. **`vibecheck prove`**
44
+ - **Location**: `bin/runners/runProve.js`
45
+ - **Report**: `.vibecheck/prove_report.json` (JSON only, no HTML)
46
+ - **Status**: ✅ Appropriate - JSON format for orchestration results
47
+
48
+ ### 📋 Summary
49
+
50
+ **Commands that generate `report.html` automatically:**
51
+ - ✅ `vibecheck ship` → Uses technical report generator
52
+ - ✅ `vibecheck report` → Uses executive (client-friendly) or technical (default)
53
+ - ✅ `writeArtifacts()` → Uses technical report generator (fallback)
54
+
55
+ **Report Types:**
56
+ - **Executive Report** (`--type=executive`): Client-friendly, simplified, stakeholder-focused
57
+ - **Technical Report** (default): Detailed, developer-focused, includes file paths and code references
58
+ - **Reality Report**: Specialized runtime testing report (different format)
59
+
60
+ **Consistency:**
61
+ - All general-purpose reports now use the unified HTML report generator
62
+ - Executive reports use client-friendly templates
63
+ - Technical reports use detailed generator
64
+ - Specialized reports (reality) use their own formats (appropriate)
@@ -17,8 +17,9 @@
17
17
  *
18
18
  * Tiers:
19
19
  * - FREE ($0): Basic scanning and validation
20
- * - PRO ($99/repo/mo): Full fix, prove, ai-test, share, advanced reality
21
- * - COMPLETE ($199/repo/mo): Everything including permissions, graph, advanced compliance
20
+ * - STARTER ($39/repo/mo): CI/CD gates, PR checks, badges, MCP
21
+ * - PRO ($99/repo/mo): Full fix, prove, ai-test, share, advanced reality, permissions, graph, patch apply
22
+ * - COMPLIANCE (Enterprise): Advanced compliance packs, audit trails
22
23
  */
23
24
 
24
25
  "use strict";
@@ -41,9 +42,9 @@ const EXIT_MISCONFIG = 4;
41
42
  // ═══════════════════════════════════════════════════════════════════════════════
42
43
  const TIERS = {
43
44
  free: { name: "FREE", price: 0, order: 0 },
44
- starter: { name: "STARTER", price: 29, order: 1 },
45
+ starter: { name: "STARTER", price: 39, order: 1 }, // Updated pricing
45
46
  pro: { name: "PRO", price: 99, order: 2 },
46
- complete: { name: "COMPLETE", price: 199, order: 3 },
47
+ compliance: { name: "COMPLIANCE", price: 0, order: 3 }, // Enterprise/on-prem
47
48
  };
48
49
 
49
50
  // ═══════════════════════════════════════════════════════════════════════════════
@@ -51,64 +52,122 @@ const TIERS = {
51
52
  // Format: feature -> { minTier, caps?, downgrade? }
52
53
  // ═══════════════════════════════════════════════════════════════════════════════
53
54
  const ENTITLEMENTS = {
54
- // Core commands
55
+ // ─────────────────────────────────────────────────────────────────────────────
56
+ // CORE COMMANDS
57
+ // ─────────────────────────────────────────────────────────────────────────────
55
58
  "scan": { minTier: "free" },
59
+ "scan.autofix": { minTier: "starter" }, // Apply safe fixes + missions
56
60
  "ship": { minTier: "free", caps: { free: "static-only" } },
57
61
  "ship.static": { minTier: "free" },
58
62
  "ship.full": { minTier: "pro" },
59
63
 
60
- // Reality testing
64
+ // ─────────────────────────────────────────────────────────────────────────────
65
+ // INIT MODES
66
+ // ─────────────────────────────────────────────────────────────────────────────
67
+ "init": { minTier: "free" },
68
+ "init.local": { minTier: "free" }, // Full local setup
69
+ "init.connect": { minTier: "starter" }, // GitHub Actions + PR comments
70
+
71
+ // ─────────────────────────────────────────────────────────────────────────────
72
+ // CHECKPOINT
73
+ // ─────────────────────────────────────────────────────────────────────────────
74
+ "checkpoint": { minTier: "free", downgrade: "checkpoint.basic" },
75
+ "checkpoint.basic": { minTier: "free" }, // Basic diff comparison
76
+ "checkpoint.hallucination": { minTier: "pro" }, // Hallucination scoring
77
+
78
+ // ─────────────────────────────────────────────────────────────────────────────
79
+ // REALITY TESTING
80
+ // ─────────────────────────────────────────────────────────────────────────────
61
81
  "reality": { minTier: "free", downgrade: "reality.preview" },
62
82
  "reality.preview": { minTier: "free", caps: { free: { maxPages: 5, maxClicks: 20, noAuthBoundary: true } } },
83
+ "reality.basic": { minTier: "starter", caps: { starter: { maxPages: 50, maxClicks: 200, basicAuthVerify: true } } },
63
84
  "reality.full": { minTier: "pro" },
64
- "reality.advanced_auth_boundary": { minTier: "complete" },
85
+ "reality.advanced_auth_boundary": { minTier: "pro" },
65
86
 
66
- // Prove command
87
+ // ─────────────────────────────────────────────────────────────────────────────
88
+ // PROVE COMMAND
89
+ // ─────────────────────────────────────────────────────────────────────────────
67
90
  "prove": { minTier: "pro" },
68
91
 
69
- // Fix command
92
+ // ─────────────────────────────────────────────────────────────────────────────
93
+ // FIX COMMAND
94
+ // ─────────────────────────────────────────────────────────────────────────────
70
95
  "fix": { minTier: "free", downgrade: "fix.plan_only" },
71
- "fix.plan_only": { minTier: "free" },
72
- "fix.apply_patches": { minTier: "complete" },
96
+ "fix.plan_only": { minTier: "free" }, // Generate missions, don't apply
97
+ "fix.apply_patches": { minTier: "pro" }, // Apply patches automatically
98
+ "fix.loop": { minTier: "pro" }, // Continuous fix loop
73
99
 
74
- // Report formats
100
+ // ─────────────────────────────────────────────────────────────────────────────
101
+ // REPORT FORMATS
102
+ // ─────────────────────────────────────────────────────────────────────────────
75
103
  "report": { minTier: "free", downgrade: "report.html_md" },
76
104
  "report.html_md": { minTier: "free" },
77
- "report.sarif_csv": { minTier: "pro" },
78
- "report.compliance_packs": { minTier: "complete" },
105
+ "report.sarif_csv": { minTier: "starter" }, // SARIF/CSV at STARTER
106
+ "report.compliance_packs": { minTier: "compliance" },
79
107
 
80
- // Setup & DX
108
+ // ─────────────────────────────────────────────────────────────────────────────
109
+ // SETUP & DX
110
+ // ─────────────────────────────────────────────────────────────────────────────
81
111
  "install": { minTier: "free" },
82
- "init": { minTier: "free" },
83
112
  "doctor": { minTier: "free" },
84
113
  "status": { minTier: "free" },
85
- "watch": { minTier: "free" },
114
+ "watch": { minTier: "free", downgrade: "watch.local" },
115
+ "watch.local": { minTier: "free" }, // Local-only file watching
116
+ "watch.pr": { minTier: "starter" }, // PR updates on changes
86
117
  "preflight": { minTier: "free" },
118
+ "polish": { minTier: "free" },
87
119
 
88
- // AI Truth
120
+ // ─────────────────────────────────────────────────────────────────────────────
121
+ // AI TRUTH
122
+ // ─────────────────────────────────────────────────────────────────────────────
89
123
  "ctx": { minTier: "free" },
90
124
  "guard": { minTier: "free" },
91
125
  "context": { minTier: "free" },
92
126
  "mdc": { minTier: "free" },
127
+ "contracts": { minTier: "free" },
128
+
129
+ // ─────────────────────────────────────────────────────────────────────────────
130
+ // EXPORT COMMAND (subcommands gate individually)
131
+ // ─────────────────────────────────────────────────────────────────────────────
132
+ "export": { minTier: "free" }, // Base export command is free, subcommands gate themselves
93
133
 
94
- // PRO only
134
+ // ─────────────────────────────────────────────────────────────────────────────
135
+ // RUNTIME COMMAND (browser-based verification)
136
+ // ─────────────────────────────────────────────────────────────────────────────
137
+ "runtime": { minTier: "free", downgrade: "reality.preview" }, // Same as reality
138
+
139
+ // ─────────────────────────────────────────────────────────────────────────────
140
+ // SECURITY COMMAND (AuthZ & IDOR)
141
+ // ─────────────────────────────────────────────────────────────────────────────
142
+ "security": { minTier: "pro" },
143
+
144
+ // ─────────────────────────────────────────────────────────────────────────────
145
+ // PRO ONLY
146
+ // ─────────────────────────────────────────────────────────────────────────────
95
147
  "replay": { minTier: "pro" },
96
148
  "share": { minTier: "pro" },
97
149
  "ai-test": { minTier: "pro" },
150
+ "permissions": { minTier: "pro" },
151
+ "graph": { minTier: "pro" },
98
152
 
99
- // STARTER and above
153
+ // ─────────────────────────────────────────────────────────────────────────────
154
+ // STARTER AND ABOVE
155
+ // ─────────────────────────────────────────────────────────────────────────────
100
156
  "gate": { minTier: "starter" },
101
157
  "pr": { minTier: "starter" },
102
158
  "badge": { minTier: "starter" },
103
159
  "launch": { minTier: "starter" },
160
+ "dashboard_sync": { minTier: "starter" },
161
+
162
+ // MCP Server
104
163
  "mcp": { minTier: "starter", downgrade: "mcp.help_only" },
105
164
  "mcp.help_only": { minTier: "free", caps: { free: "help and print-config only" } },
165
+ "mcp.read_only": { minTier: "starter", caps: { starter: "read-only safe tools, rate limited" } },
166
+ "mcp.full": { minTier: "pro", caps: { pro: "full tools, audit logs, higher limits" } },
106
167
 
107
- // COMPLETE only
108
- "permissions": { minTier: "complete" },
109
- "graph": { minTier: "complete" },
110
-
111
- // Account (always free)
168
+ // ─────────────────────────────────────────────────────────────────────────────
169
+ // ACCOUNT (ALWAYS FREE)
170
+ // ─────────────────────────────────────────────────────────────────────────────
112
171
  "login": { minTier: "free" },
113
172
  "logout": { minTier: "free" },
114
173
  "whoami": { minTier: "free" },
@@ -130,17 +189,27 @@ const LIMITS = {
130
189
  scansPerMonth: 50,
131
190
  shipChecksPerMonth: 20,
132
191
  },
192
+ starter: {
193
+ realityMaxPages: 50,
194
+ realityMaxClicks: 200,
195
+ realityAuthBoundary: false,
196
+ realityAdvancedAuth: false,
197
+ reportFormats: ["html", "md", "sarif", "csv"],
198
+ fixApplyPatches: false,
199
+ scansPerMonth: 500,
200
+ shipChecksPerMonth: 200,
201
+ },
133
202
  pro: {
134
203
  realityMaxPages: -1, // unlimited
135
204
  realityMaxClicks: -1,
136
205
  realityAuthBoundary: true,
137
- realityAdvancedAuth: false,
206
+ realityAdvancedAuth: true,
138
207
  reportFormats: ["html", "md", "sarif", "csv"],
139
- fixApplyPatches: false,
208
+ fixApplyPatches: true,
140
209
  scansPerMonth: -1, // unlimited
141
210
  shipChecksPerMonth: -1,
142
211
  },
143
- complete: {
212
+ compliance: {
144
213
  realityMaxPages: -1,
145
214
  realityMaxClicks: -1,
146
215
  realityAuthBoundary: true,
@@ -186,12 +186,9 @@ class CLIEntitlementsManager {
186
186
  const syncResult = await serverUsage.syncOfflineUsage();
187
187
  if (syncResult.error) {
188
188
  // Allow offline mode by default - CLI should work without internet
189
- // Only show warning if we actually tried to connect and failed (not just missing API key)
190
- if (syncResult.error !== 'No API key configured' && syncResult.pending > 0) {
191
- console.warn(
192
- "\x1b[33mℹ Could not connect to vibecheck API, using offline mode\x1b[0m\n",
193
- );
194
- }
189
+ console.warn(
190
+ "\x1b[33mWarning: Could not connect to vibecheck API, using offline mode\x1b[0m\n",
191
+ );
195
192
  return { allowed: true, source: "offline" };
196
193
  }
197
194
  }
@@ -290,7 +290,7 @@ class InitWizard {
290
290
  console.log(`${c.cyan}║${c.reset} ${c.cyan}vibecheck ship${c.reset} ${c.cyan}║${c.reset}`);
291
291
  console.log(`${c.cyan}║${c.reset} ${c.cyan}║${c.reset}`);
292
292
  console.log(`${c.cyan}║${c.reset} ${c.bold}2.${c.reset} Review the report: ${c.cyan}║${c.reset}`);
293
- console.log(`${c.cyan}║${c.reset} ${c.dim}Open .vibecheck/report.html in your browser${c.reset} ${c.cyan}║${c.reset}`);
293
+ console.log(`${c.cyan}║${c.reset} ${c.dim}Generate report: ${c.cyan}vibecheck report${c.reset} ${c.cyan}║${c.reset}`);
294
294
  console.log(`${c.cyan}║${c.reset} ${c.cyan}║${c.reset}`);
295
295
  console.log(`${c.cyan}║${c.reset} ${c.bold}3.${c.reset} Fix issues and re-scan: ${c.cyan}║${c.reset}`);
296
296
  console.log(`${c.cyan}║${c.reset} ${c.cyan}vibecheck ship --fix${c.reset} ${c.cyan}║${c.reset}`);