@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
@@ -399,9 +399,9 @@ function printMissionSummary(missions) {
399
399
  }
400
400
  }
401
401
 
402
- function printAutopilotHeader(maxSteps, stagnationLimit) {
402
+ function printLoopHeader(maxSteps, stagnationLimit) {
403
403
  console.log();
404
- console.log(` ${bgRgb(80, 40, 20)}${c.bold} ${ICONS.robot} AUTOPILOT MODE ${c.reset}`);
404
+ console.log(` ${bgRgb(80, 40, 20)}${c.bold} ${ICONS.loop} LOOP MODE ${c.reset}`);
405
405
  console.log(` ${c.dim}Max steps: ${maxSteps} • Stagnation limit: ${stagnationLimit}${c.reset}`);
406
406
  console.log();
407
407
  }
@@ -536,28 +536,35 @@ async function runFix(args) {
536
536
  console.log(` ${c.dim}${ICONS.folder} Mission pack: ${colors.accent}${path.relative(root, outDir)}${c.reset}`);
537
537
  console.log();
538
538
 
539
- if (!opts.autopilot && !opts.promptOnly && !opts.apply) {
539
+ if (!opts.loop && !opts.promptOnly && !opts.apply) {
540
540
  printSection('NEXT STEPS', ICONS.arrow);
541
541
  console.log();
542
542
  console.log(` ${c.bold}Choose a mode:${c.reset}`);
543
543
  console.log();
544
544
  console.log(` ${colors.accent}${ICONS.prompt}${c.reset} ${c.bold}vibecheck fix --prompt-only${c.reset}`);
545
- console.log(` ${c.dim}Generate perfect prompts, no edits${c.reset}`);
546
- console.log();
547
- console.log(` ${colors.patch}${ICONS.patch}${c.reset} ${c.bold}vibecheck fix --apply${c.reset}`);
548
- console.log(` ${c.dim}Apply patches from LLM${c.reset}`);
549
- console.log();
550
- console.log(` ${colors.mission}${ICONS.robot}${c.reset} ${c.bold}vibecheck fix --autopilot --apply${c.reset}`);
551
- console.log(` ${c.dim}Loop until SHIP or stuck${c.reset}`);
545
+ console.log(` ${c.dim}Generate perfect prompts, no edits ${c.green}(FREE)${c.reset}${c.dim}${c.reset}`);
552
546
  console.log();
553
547
 
554
- // Earned upsell: Show if --apply is locked for their tier
548
+ // Check if apply features are available
555
549
  const applyAccess = await entitlements.checkCommand("fix.apply_patches", { projectPath: root });
556
- if (!applyAccess.allowed) {
550
+ if (applyAccess.allowed) {
551
+ console.log(` ${colors.patch}${ICONS.patch}${c.reset} ${c.bold}vibecheck fix --apply${c.reset}`);
552
+ console.log(` ${c.dim}Apply patches from LLM ${c.green}(PRO)${c.reset}${c.dim}${c.reset}`);
553
+ console.log();
554
+ console.log(` ${colors.mission}${ICONS.robot}${c.reset} ${c.bold}vibecheck fix --autopilot --apply${c.reset}`);
555
+ console.log(` ${c.dim}Loop until SHIP or stuck ${c.green}(PRO)${c.reset}${c.dim}${c.reset}`);
556
+ console.log();
557
+ } else {
558
+ console.log(` ${c.dim}${ICONS.lock}${c.reset} ${c.dim}vibecheck fix --apply${c.reset} ${c.dim}(PRO tier required)${c.reset}`);
559
+ console.log(` ${c.dim}Automatically apply LLM-generated patches${c.reset}`);
560
+ console.log();
561
+ console.log(` ${c.dim}${ICONS.lock}${c.reset} ${c.dim}vibecheck fix --loop --apply${c.reset} ${c.dim}(PRO tier required)${c.reset}`);
562
+ console.log(` ${c.dim}Automated fix loop until SHIP${c.reset}`);
563
+ console.log();
557
564
  console.log(upsell.formatEarnedUpsell({
558
565
  cmd: "fix",
559
566
  withheldArtifact: "apply",
560
- upgradeTier: applyAccess.requiredTier || "complete",
567
+ upgradeTier: applyAccess.requiredTier || "pro",
561
568
  why: "Apply patches automatically",
562
569
  }));
563
570
  }
@@ -653,7 +660,7 @@ async function runFix(args) {
653
660
 
654
661
  if (opts.promptOnly) {
655
662
  console.log(` ${colors.shipGreen}${ICONS.check}${c.reset} Prompt generated`);
656
- if (!opts.autopilot) return 0;
663
+ if (!opts.loop) return 0;
657
664
  continue;
658
665
  }
659
666
 
@@ -1135,7 +1142,7 @@ function parseArgs(args) {
1135
1142
  path: process.cwd(),
1136
1143
  apply: false,
1137
1144
  promptOnly: false,
1138
- autopilot: false,
1145
+ loop: false,
1139
1146
  share: false,
1140
1147
  maxMissions: 8,
1141
1148
  maxSteps: 10,
@@ -1169,16 +1176,16 @@ function printHelp() {
1169
1176
  ${c.bold}Mission Control${c.reset} — Generate surgical fix prompts, apply patches, verify with ship.
1170
1177
 
1171
1178
  ${c.bold}Modes:${c.reset}
1172
- ${colors.accent}vibecheck fix${c.reset} ${c.dim}Plan missions (no changes)${c.reset}
1173
- ${colors.accent}vibecheck fix --prompt-only${c.reset} ${c.dim}Generate perfect prompts${c.reset}
1174
- ${colors.accent}vibecheck fix --apply${c.reset} ${c.dim}Apply patches from LLM${c.reset}
1175
- ${colors.accent}vibecheck fix --autopilot --apply${c.reset} ${c.dim}Loop until SHIP or stuck${c.reset}
1179
+ ${colors.accent}vibecheck fix${c.reset} ${c.dim}Plan missions (no changes) ${c.green}(FREE)${c.reset}${c.dim}${c.reset}
1180
+ ${colors.accent}vibecheck fix --prompt-only${c.reset} ${c.dim}Generate perfect prompts ${c.green}(FREE)${c.reset}${c.dim}${c.reset}
1181
+ ${colors.accent}vibecheck fix --apply${c.reset} ${c.dim}Apply patches from LLM ${c.yellow}(PRO)${c.reset}${c.dim}${c.reset}
1182
+ ${colors.accent}vibecheck fix --loop --apply${c.reset} ${c.dim}Loop until SHIP or stuck ${c.yellow}(PRO)${c.reset}${c.dim}${c.reset}
1176
1183
 
1177
1184
  ${c.bold}Options:${c.reset}
1178
1185
  ${colors.accent}--prompt-only${c.reset} Generate mission prompts only ${c.dim}(no edits)${c.reset}
1179
- ${colors.accent}--apply${c.reset} Apply patches returned by the model
1180
- ${colors.accent}--autopilot${c.reset} Loop: fix → verify → fix until SHIP
1181
- ${colors.accent}--share${c.reset} Generate share bundle after fix
1186
+ ${colors.accent}--apply${c.reset} Apply patches returned by the model ${c.dim}(PRO tier)${c.reset}
1187
+ ${colors.accent}--loop${c.reset} Loop: fix → verify → fix until SHIP ${c.dim}(PRO tier)${c.reset}
1188
+ ${colors.accent}--share${c.reset} Generate share bundle after fix ${c.dim}(PRO tier)${c.reset}
1182
1189
  ${colors.accent}--max-missions <n>${c.reset} Max missions to plan ${c.dim}(default: 8)${c.reset}
1183
1190
  ${colors.accent}--max-steps <n>${c.reset} Max autopilot steps ${c.dim}(default: 10)${c.reset}
1184
1191
  ${colors.accent}--stagnation-limit${c.reset} Stop after N non-improving steps ${c.dim}(default: 2)${c.reset}
@@ -1219,8 +1226,8 @@ function printHelp() {
1219
1226
  ${c.dim}# Generate prompts for manual LLM use${c.reset}
1220
1227
  vibecheck fix --prompt-only
1221
1228
 
1222
- ${c.dim}# Full autopilot with share bundle${c.reset}
1223
- vibecheck fix --autopilot --apply --share
1229
+ ${c.dim}# Full loop with share bundle (PRO tier)${c.reset}
1230
+ vibecheck fix --loop --apply --share
1224
1231
  `);
1225
1232
  }
1226
1233