Config
Project file attributes and sample YAML for CI.
Place qa-audit.yml (or qa-audit.yaml / qa-audit.json) in your repo root. `qa-audit run` loads it; `qa-audit init` writes a starter file.
# qa-audit.yml — @qa-audit/qa-audit-cli
url: https://example.com
tier: essential
pages: 10
modules:
- seo
- links
- accessibility
- security
# Optional named wrappers (merged with modules)
# scans:
# - a11y
# - map
json: true
out: qa-audit-report.json
# apiUrl: https://qa-audit.com
# Local repo scan (used by bundle --path and repo-scan)
testDirs:
- src
- tests
fileCap: 800
exclude:
- dist
- .nextWhen you run `qa-audit bundle --path ./your-app`, the CLI loads qa-audit.yml from that repo root (if present) for testDirs, fileCap, exclude, and testRunner — CLI flags still win.
| Attribute | Required | Meaning |
|---|---|---|
| url | for `run` | Site to audit |
| tier | no | launch | essential | team | engineering | security-pro |
| pages | no | Crawl budget; clamped by API to your plan limit |
| modules | no | List of module ids (see scan types) |
| scans | no | Named wrappers; modules are unioned |
| json | no | true → machine-readable report |
| out | no | Filesystem path for the report |
| apiUrl | no | Override API host for this project |
| testDirs | no | Preferred test roots for `bundle --path` / `repo-scan` |
| includeColocated | no | Inventory `*.test` / `*.spec` next to source (default true) |
| testRunner | no | jest | vitest | playwright | cypress | auto |
| fileCap | no | Max files to visit during local repo scan (default 800) |
| exclude | no | Extra directory names to skip while scanning |
qa-audit init
qa-audit run
qa-audit run --config ./qa-audit.yml --json