Give this page URL to Claude, Codex, Cursor, or any AI coding assistant to teach it how to use VibeCode QA on your project.
A code health scanner that runs 34 checks across 7 categories (Foundations, Quality, Testing, Architecture, Security, AI Readiness, AI Analysis) and generates a scored report. Zero config, runs with npx — no setup, works on TypeScript/JavaScript and Dart/Flutter projects.
npx @vibecodeqa/cli
This auto-detects your stack, runs all 34 checks, and opens an HTML report in your browser. Output goes to .vibe-check/.
npx @vibecodeqa/cli --skip-tests
npx @vibecodeqa/cli --ci
npx @vibecodeqa/cli --sarif
npx @vibecodeqa/cli --json
npx @vibecodeqa/cli ~/my-monorepo
Auto-detects pnpm/npm/yarn/bun workspaces, turborepo, nx, lerna, and melos. Scans all packages, checks tsconfig strict per package, scopes confusion analysis per package. Supports bun.lock (text) and bun.lockb (binary). No config needed.
npx @vibecodeqa/cli fix # baseline → fix → final scan → delta
cat .vibe-check/delta.md # markdown report of what changed
Every scan compares against the previous run. The --markdown and --pr-comment outputs include per-check score changes, fixed issues, and new issues.
npx @vibecodeqa/cli monitor
Full-screen TUI dashboard. Press c for settings (thresholds, panel toggles). Press q to quit.
.vibe-check/report/index.html — Multi-page HTML report with dashboard, per-category pages, issues table, file health.vibe-check/report.json — Machine-readable results (all scores, issues, details).vibe-check/report.sarif — SARIF 2.1.0 for GitHub Code Scanning (with --sarif).vibe-check/badge.svg — shields.io-style badge (with --badge).vibe-check/history/ — Last 30 reports for trend trackingFive deeper, LLM-powered checks (weight 0 in the free score — informational):
const report = JSON.parse(fs.readFileSync('.vibe-check/report.json', 'utf-8'));
console.log(`Score: ${report.grade} ${report.score}/100`);
for (const check of report.checks) {
if (check.issues.length > 0) {
console.log(`${check.name}: ${check.grade} — ${check.issues.length} issues`);
}
}
Each issue in the report includes a copy-pasteable fix prompt. The format is:
Fix this issue in src/session.ts:240
warning: cognitive complexity 28 (max 15)
Check: complexity
Copy these directly into Claude, Codex, or your AI coding tool.
Create .vcqa.json in your project root to customize behavior:
{
"checks": {
"confusion": { "enabled": false },
"standards": { "ignore": ["generated/**"] }
},
"ignore": ["vendor/**", "*.pb.ts"],
"failUnder": 70
}
You can also put this in the "vcqa" field of package.json.
vcqa — scan current directory (default)vcqa init — set up CI workflow, biome.json, .vcqa.json, .gitignorevcqa fix — auto-fix (.gitignore, tsconfig strict, biome/eslint, suggestions)vcqa explain [check] — deep-dive on any check (what/risk/fix)--json — machine-readable JSON to stdout--markdown — clean markdown report (pipe to clipboard or file)--badge — generate SVG badge--sarif — SARIF 2.1.0 for GitHub Code Scanning--annotations — GitHub Actions ::warning/::error inline annotations--pr-comment — post score as GitHub PR comment (needs GITHUB_TOKEN)--diff [base] — only show issues in changed files--top [N] — show top N issues to fixname: VibeCode QA
on: [pull_request]
permissions:
contents: read
pull-requests: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @vibecodeqa/cli --skip-tests --ci --sarif --pr-comment --annotations
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: .vibe-check/report.sarif
When working on a codebase that uses VibeCode QA, follow this workflow:
npx @vibecodeqa/cli --skip-tests --json to get a baseline score@ts-ignore or // eslint-disable — fix the root causeVibeCode QA — Code health scanner for the AI coding era. MIT license.