@rahild/vibecheck
v0.3.0
Published
Ship AI-generated code with confidence. Analyse a repository and score its Code Quality from the terminal.
Maintainers
Readme
@rahild/vibecheck
Ship AI-generated code with confidence.
Analyses a repository and scores its Code Quality from the terminal. Every number is traceable: score → category → finding → evidence → source. When something cannot be measured, VibeCheck says so instead of guessing.
npm install -g @rahild/vibecheck
vibecheckOr without installing:
npx @rahild/vibecheckCommands
| Command | What it does |
| --- | --- |
| vibecheck | Scans the current directory. Identical to vibecheck scan. |
| vibecheck scan | Analyses the repository and reports findings and scores. |
| vibecheck ci | Scans, then enforces the project's quality gates. |
| vibecheck init | Writes a starter vibecheck.config.ts. |
Example
my-project 119 files · 15 rules · 554ms
────────────────────────────────────────────────────────────────────────
Code Quality 82 / 100
Agent Quality unavailable
VibeCheck needs agent-session data to evaluate agent behaviour.
────────────────────────────────────────────────────────────────────────
Security 91 █████████░
Architecture 78 ████████░░
Testing 100 ██████████
Not evaluated: No coverage report was detected.
────────────────────────────────────────────────────────────────────────
9 findings 6 medium · 3 low
MEDIUM `resolve` nests 5 levels deep
src/resolve.ts:112:3
Control flow inside `resolve` reaches 5 levels of nesting, over
the limit of 4.
→ Return early, or extract the inner branch into its own function.
maintainability/max-nesting-depth · -4.0unavailable is not a low score. Agent Quality has no number because no agent
session was imported, and VibeCheck will not estimate one from the code.
CI
vibecheck ci --min-code-quality 80 --min-category security=90 --max-issues critical=0Exits 0 when every gate passes and 1 when one fails. Other non-zero codes mean
VibeCheck could not run — 2 usage, 3 configuration, 4 runtime. A pipeline
that treats "the scan crashed" the same as "the code is below threshold" will
eventually ship something it meant to block.
JSON
vibecheck scan --format jsonWrites the canonical ScanResult to stdout and nothing else, so it is always safe
to pipe. Every deduction references the finding that caused it.
Documentation
Full reference — options, JSON contract, exit codes, configuration: docs/cli.md
Status
Early. Agent Quality is always reported as unavailable, because importing an agent
session is not built yet. vibecheck fix and vibecheck explain are registered but
not implemented, and say so rather than doing nothing quietly.
MIT © Rahil Desai
