Configuration¶
VibeCode QA runs with zero configuration. When you want to tailor it — disable a check, skip generated files, set a CI threshold — add a .vcqa.json file to your project root (or a "vcqa" field in package.json). Running vcqa init scaffolds one for you.
.vcqa.json¶
{
"checks": {
"confusion": { "enabled": false },
"duplication": { "ignore": ["src/generated/**"] }
},
"ignore": ["vendor/**", "*.generated.ts"],
"failUnder": 70
}
| Option | Effect |
|---|---|
checks.<name>.enabled |
Set false to turn a check off (default true). Disabled checks are excluded from the score, never counted against you. |
checks.<name>.ignore |
File patterns skipped for that one check. |
ignore |
Global file patterns skipped by every check. |
failUnder |
Exit code 1 if the score is below this. The --fail-under flag overrides it. |
Use any check's name (the lowercase id, e.g. complexity, duplication, react). See the 34 checks for the full list.
Ignore patterns¶
Patterns are matched against each file path relative to the project root, in three forms:
| Pattern | Matches |
|---|---|
dir/** |
any file under dir/ |
*.ext |
any file ending in .ext |
prefix |
any path that starts with prefix |
In package.json¶
Instead of a separate file, put the same object under a "vcqa" key:
What vcqa init creates¶
vcqa init scaffolds a project for CI and never overwrites existing files:
.github/workflows/vibecodeqa.yml— a CI quality-gate workflowbiome.json— recommended lint/format config.vcqa.json— this config, pre-filled with every check name.gitignore— adds.vibe-check/
See the CLI reference and CI integration for next steps.