@vibecheckai/cli 3.2.3 → 3.2.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/bin/.generated +25 -25
- package/bin/dev/run-v2-torture.js +30 -30
- package/bin/runners/ENHANCEMENT_GUIDE.md +121 -121
- package/bin/runners/lib/__tests__/entitlements-v2.test.js +295 -295
- package/bin/runners/lib/agent-firewall/ai/false-positive-analyzer.js +474 -0
- package/bin/runners/lib/agent-firewall/claims/extractor.js +117 -28
- package/bin/runners/lib/agent-firewall/evidence/env-evidence.js +23 -14
- package/bin/runners/lib/agent-firewall/evidence/route-evidence.js +72 -1
- package/bin/runners/lib/agent-firewall/interceptor/base.js +2 -2
- package/bin/runners/lib/agent-firewall/policy/default-policy.json +6 -0
- package/bin/runners/lib/agent-firewall/policy/engine.js +34 -3
- package/bin/runners/lib/agent-firewall/policy/rules/fake-success.js +29 -4
- package/bin/runners/lib/agent-firewall/policy/rules/ghost-route.js +12 -0
- package/bin/runners/lib/agent-firewall/truthpack/loader.js +21 -0
- package/bin/runners/lib/agent-firewall/utils/ignore-checker.js +118 -0
- package/bin/runners/lib/analyzers.js +606 -325
- package/bin/runners/lib/auth-truth.js +193 -193
- 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-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/engines/accessibility-engine.js +190 -0
- package/bin/runners/lib/engines/api-consistency-engine.js +162 -0
- package/bin/runners/lib/engines/ast-cache.js +99 -0
- package/bin/runners/lib/engines/code-quality-engine.js +255 -0
- package/bin/runners/lib/engines/console-logs-engine.js +115 -0
- package/bin/runners/lib/engines/cross-file-analysis-engine.js +268 -0
- package/bin/runners/lib/engines/dead-code-engine.js +198 -0
- package/bin/runners/lib/engines/deprecated-api-engine.js +226 -0
- package/bin/runners/lib/engines/empty-catch-engine.js +150 -0
- package/bin/runners/lib/engines/file-filter.js +131 -0
- package/bin/runners/lib/engines/hardcoded-secrets-engine.js +251 -0
- package/bin/runners/lib/engines/mock-data-engine.js +272 -0
- package/bin/runners/lib/engines/parallel-processor.js +71 -0
- package/bin/runners/lib/engines/performance-issues-engine.js +265 -0
- package/bin/runners/lib/engines/security-vulnerabilities-engine.js +243 -0
- package/bin/runners/lib/engines/todo-fixme-engine.js +115 -0
- package/bin/runners/lib/engines/type-aware-engine.js +152 -0
- package/bin/runners/lib/engines/unsafe-regex-engine.js +225 -0
- package/bin/runners/lib/engines/vibecheck-engines/README.md +53 -0
- package/bin/runners/lib/engines/vibecheck-engines/index.js +15 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/ast-cache.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/code-quality-engine.js +291 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/console-logs-engine.js +83 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/dead-code-engine.js +198 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/deprecated-api-engine.js +275 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/empty-catch-engine.js +167 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/file-filter.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/hardcoded-secrets-engine.js +139 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/mock-data-engine.js +140 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/parallel-processor.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/performance-issues-engine.js +234 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/type-aware-engine.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/unsafe-regex-engine.js +78 -0
- package/bin/runners/lib/engines/vibecheck-engines/package.json +13 -0
- 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/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 +213 -213
- 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/html-report.js +650 -650
- package/bin/runners/lib/interactive-menu.js +1496 -1496
- package/bin/runners/lib/llm.js +75 -75
- 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-output.js +187 -187
- 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/scan-output.js +525 -190
- 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/status-output.js +253 -253
- package/bin/runners/lib/terminal-ui.js +350 -350
- package/bin/runners/lib/upsell.js +510 -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/runGuard.js +168 -168
- package/bin/runners/runProof.zip +0 -0
- package/bin/runners/runProve.js +8 -0
- package/bin/runners/runReality.js +14 -0
- package/bin/runners/runScan.js +17 -1
- package/bin/runners/runTruth.js +15 -3
- package/bin/vibecheck.js +45 -20
- package/mcp-server/package.json +1 -1
- package/mcp-server/tier-auth.js +71 -16
- package/mcp-server/tools/index.js +72 -72
- package/mcp-server/vibecheck-mcp-server-3.2.0.tgz +0 -0
- package/package.json +1 -1
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
|
+
});
|
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
# Command Enhancement Guide
|
|
2
|
-
|
|
3
|
-
This guide shows how to apply the enhancements from `vibecheck.js` to all command runners.
|
|
4
|
-
|
|
5
|
-
## 1. Add Global Flags Support
|
|
6
|
-
|
|
7
|
-
### Import the utilities:
|
|
8
|
-
```javascript
|
|
9
|
-
const { parseGlobalFlags, shouldShowBanner } = require("./lib/global-flags");
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### Update parseArgs function:
|
|
13
|
-
```javascript
|
|
14
|
-
function parseArgs(args) {
|
|
15
|
-
// Parse global flags first
|
|
16
|
-
const { flags: globalFlags, cleanArgs } = parseGlobalFlags(args);
|
|
17
|
-
|
|
18
|
-
const opts = {
|
|
19
|
-
// ... existing options
|
|
20
|
-
path: globalFlags.path || process.cwd(),
|
|
21
|
-
json: globalFlags.json || false,
|
|
22
|
-
verbose: globalFlags.verbose || false,
|
|
23
|
-
help: globalFlags.help || false,
|
|
24
|
-
noBanner: globalFlags.noBanner || false,
|
|
25
|
-
ci: globalFlags.ci || false,
|
|
26
|
-
quiet: globalFlags.quiet || false,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
// Parse command-specific args from cleanArgs
|
|
30
|
-
for (let i = 0; i < cleanArgs.length; i++) {
|
|
31
|
-
const a = cleanArgs[i];
|
|
32
|
-
// ... command-specific parsing
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return opts;
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## 2. Update Banner Printing
|
|
40
|
-
|
|
41
|
-
### Update printHelp:
|
|
42
|
-
```javascript
|
|
43
|
-
function printHelp(showBanner = true) {
|
|
44
|
-
if (showBanner && shouldShowBanner({})) {
|
|
45
|
-
console.log(BANNER);
|
|
46
|
-
}
|
|
47
|
-
// ... rest of help
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Update banner printing in main function:
|
|
52
|
-
```javascript
|
|
53
|
-
async function runCommand(args) {
|
|
54
|
-
const opts = parseArgs(args);
|
|
55
|
-
|
|
56
|
-
if (opts.help) {
|
|
57
|
-
printHelp(shouldShowBanner(opts));
|
|
58
|
-
return 0;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Print banner (respects --no-banner, VIBECHECK_NO_BANNER, --ci, --quiet, --json)
|
|
62
|
-
if (shouldShowBanner(opts)) {
|
|
63
|
-
printBanner();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// ... rest of command
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## 3. Add Aliases to Help Text
|
|
71
|
-
|
|
72
|
-
Update help text to show aliases:
|
|
73
|
-
```javascript
|
|
74
|
-
function printHelp(showBanner = true) {
|
|
75
|
-
// ...
|
|
76
|
-
console.log(`
|
|
77
|
-
${ansi.bold}Usage:${ansi.reset} vibecheck command ${ansi.dim}(alias1, alias2)${ansi.reset} [options]
|
|
78
|
-
|
|
79
|
-
${ansi.bold}Aliases:${ansi.reset} ${ansi.dim}alias1, alias2${ansi.reset}
|
|
80
|
-
`);
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## 4. Lazy Loading (Optional)
|
|
85
|
-
|
|
86
|
-
For commands that load heavy modules, use lazy loading:
|
|
87
|
-
```javascript
|
|
88
|
-
const { lazy } = require("./lib/global-flags");
|
|
89
|
-
|
|
90
|
-
const getHeavyModule = lazy("heavy-module", () => require("./lib/heavy-module"));
|
|
91
|
-
|
|
92
|
-
// Use later:
|
|
93
|
-
const heavyModule = getHeavyModule();
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Commands Updated
|
|
97
|
-
|
|
98
|
-
✅ `runScan.js` - Full support for --no-banner, global flags, aliases in help
|
|
99
|
-
✅ `runShip.js` - Full support for --no-banner, global flags, aliases in help
|
|
100
|
-
✅ `runReport.js` - Full support for --no-banner, global flags
|
|
101
|
-
✅ `runInit.js` - Already enhanced with all features
|
|
102
|
-
|
|
103
|
-
## Commands Pending
|
|
104
|
-
|
|
105
|
-
- `runStatus.js` - No banner, but should support global flags
|
|
106
|
-
- `runFix.js` - Needs banner support
|
|
107
|
-
- `runProve.js` - Needs banner support
|
|
108
|
-
- `runContext.js` - Needs banner support
|
|
109
|
-
- `runCtx.js` - Needs banner support
|
|
110
|
-
- All other commands - Apply same pattern
|
|
111
|
-
|
|
112
|
-
## Testing Checklist
|
|
113
|
-
|
|
114
|
-
For each command:
|
|
115
|
-
- [ ] `command --no-banner` suppresses banner
|
|
116
|
-
- [ ] `VIBECHECK_NO_BANNER=true command` suppresses banner
|
|
117
|
-
- [ ] `command --ci` suppresses banner
|
|
118
|
-
- [ ] `command --quiet` suppresses banner
|
|
119
|
-
- [ ] `command --json` suppresses banner
|
|
120
|
-
- [ ] `command --help` shows aliases (if any)
|
|
121
|
-
- [ ] Global flags (--path, --output, --verbose) work correctly
|
|
1
|
+
# Command Enhancement Guide
|
|
2
|
+
|
|
3
|
+
This guide shows how to apply the enhancements from `vibecheck.js` to all command runners.
|
|
4
|
+
|
|
5
|
+
## 1. Add Global Flags Support
|
|
6
|
+
|
|
7
|
+
### Import the utilities:
|
|
8
|
+
```javascript
|
|
9
|
+
const { parseGlobalFlags, shouldShowBanner } = require("./lib/global-flags");
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Update parseArgs function:
|
|
13
|
+
```javascript
|
|
14
|
+
function parseArgs(args) {
|
|
15
|
+
// Parse global flags first
|
|
16
|
+
const { flags: globalFlags, cleanArgs } = parseGlobalFlags(args);
|
|
17
|
+
|
|
18
|
+
const opts = {
|
|
19
|
+
// ... existing options
|
|
20
|
+
path: globalFlags.path || process.cwd(),
|
|
21
|
+
json: globalFlags.json || false,
|
|
22
|
+
verbose: globalFlags.verbose || false,
|
|
23
|
+
help: globalFlags.help || false,
|
|
24
|
+
noBanner: globalFlags.noBanner || false,
|
|
25
|
+
ci: globalFlags.ci || false,
|
|
26
|
+
quiet: globalFlags.quiet || false,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// Parse command-specific args from cleanArgs
|
|
30
|
+
for (let i = 0; i < cleanArgs.length; i++) {
|
|
31
|
+
const a = cleanArgs[i];
|
|
32
|
+
// ... command-specific parsing
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return opts;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 2. Update Banner Printing
|
|
40
|
+
|
|
41
|
+
### Update printHelp:
|
|
42
|
+
```javascript
|
|
43
|
+
function printHelp(showBanner = true) {
|
|
44
|
+
if (showBanner && shouldShowBanner({})) {
|
|
45
|
+
console.log(BANNER);
|
|
46
|
+
}
|
|
47
|
+
// ... rest of help
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Update banner printing in main function:
|
|
52
|
+
```javascript
|
|
53
|
+
async function runCommand(args) {
|
|
54
|
+
const opts = parseArgs(args);
|
|
55
|
+
|
|
56
|
+
if (opts.help) {
|
|
57
|
+
printHelp(shouldShowBanner(opts));
|
|
58
|
+
return 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Print banner (respects --no-banner, VIBECHECK_NO_BANNER, --ci, --quiet, --json)
|
|
62
|
+
if (shouldShowBanner(opts)) {
|
|
63
|
+
printBanner();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// ... rest of command
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 3. Add Aliases to Help Text
|
|
71
|
+
|
|
72
|
+
Update help text to show aliases:
|
|
73
|
+
```javascript
|
|
74
|
+
function printHelp(showBanner = true) {
|
|
75
|
+
// ...
|
|
76
|
+
console.log(`
|
|
77
|
+
${ansi.bold}Usage:${ansi.reset} vibecheck command ${ansi.dim}(alias1, alias2)${ansi.reset} [options]
|
|
78
|
+
|
|
79
|
+
${ansi.bold}Aliases:${ansi.reset} ${ansi.dim}alias1, alias2${ansi.reset}
|
|
80
|
+
`);
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 4. Lazy Loading (Optional)
|
|
85
|
+
|
|
86
|
+
For commands that load heavy modules, use lazy loading:
|
|
87
|
+
```javascript
|
|
88
|
+
const { lazy } = require("./lib/global-flags");
|
|
89
|
+
|
|
90
|
+
const getHeavyModule = lazy("heavy-module", () => require("./lib/heavy-module"));
|
|
91
|
+
|
|
92
|
+
// Use later:
|
|
93
|
+
const heavyModule = getHeavyModule();
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Commands Updated
|
|
97
|
+
|
|
98
|
+
✅ `runScan.js` - Full support for --no-banner, global flags, aliases in help
|
|
99
|
+
✅ `runShip.js` - Full support for --no-banner, global flags, aliases in help
|
|
100
|
+
✅ `runReport.js` - Full support for --no-banner, global flags
|
|
101
|
+
✅ `runInit.js` - Already enhanced with all features
|
|
102
|
+
|
|
103
|
+
## Commands Pending
|
|
104
|
+
|
|
105
|
+
- `runStatus.js` - No banner, but should support global flags
|
|
106
|
+
- `runFix.js` - Needs banner support
|
|
107
|
+
- `runProve.js` - Needs banner support
|
|
108
|
+
- `runContext.js` - Needs banner support
|
|
109
|
+
- `runCtx.js` - Needs banner support
|
|
110
|
+
- All other commands - Apply same pattern
|
|
111
|
+
|
|
112
|
+
## Testing Checklist
|
|
113
|
+
|
|
114
|
+
For each command:
|
|
115
|
+
- [ ] `command --no-banner` suppresses banner
|
|
116
|
+
- [ ] `VIBECHECK_NO_BANNER=true command` suppresses banner
|
|
117
|
+
- [ ] `command --ci` suppresses banner
|
|
118
|
+
- [ ] `command --quiet` suppresses banner
|
|
119
|
+
- [ ] `command --json` suppresses banner
|
|
120
|
+
- [ ] `command --help` shows aliases (if any)
|
|
121
|
+
- [ ] Global flags (--path, --output, --verbose) work correctly
|