Configuration options
Every option verifika.config.json accepts, generated from the JSON schema in schemas/verifika.schema.json. A new option appears here when it enters the schema. The configuration guide explains how they work together.
version
| Option | Type | Details |
|---|---|---|
version | 1, required | Configuration format version. Must be 1. |
defaults
Run-wide defaults. Command-line flags override these.
| Option | Type | Details |
|---|---|---|
defaults.concurrency | integer | Limits: 1 to 64. Maximum number of checks running at once. Default: 1 (sequential). Raise it only for checks that do not write shared outputs. |
defaults.timeoutMs | integer | Limits: 1 to 2147483647. Default per-check timeout in milliseconds. A check that exceeds it is killed and fails. Default: 600000 (10 minutes). |
defaults.failFast | boolean | Stop all checks after the first failure. Default: false (run every selected check and report all failures). |
defaults.keepRuns | integer | Limits: 1 to 1000. Number of recent runs whose logs are kept under .verifika/runs. Default: 10. |
changes
How changed files are detected for selective runs.
| Option | Type | Details |
|---|---|---|
changes.base | string | Limits: not empty. Git ref to compare against for selective runs. Files changed since merge-base(base, HEAD), plus uncommitted and untracked files, are considered changed. Default: "HEAD" (only uncommitted work). |
changes.invalidateAll | array of strings | Glob patterns; if any changed file matches, every check runs. verifika.config.json is always included. |
checks
Checks keyed by name. Names may contain letters, digits, '.', '_' and '-'.
| Option | Type | Details |
|---|---|---|
checks.<name>.command | string, required | Limits: not empty. Shell command to run from the config directory (sh on POSIX, cmd.exe on Windows). Exit code 0 means the check passed. |
checks.<name>.paths | array of strings | Limits: at least 1 item. Run this check only when a changed file matches one of these globs. Omit to run it whenever any file changed. |
checks.<name>.exclude | array of strings | Changed files matching these globs never select this check. |
checks.<name>.always | boolean | Run this check on every run, even when nothing changed. Cannot be combined with paths or exclude. |
checks.<name>.dependsOn | array of strings | Limits: unique items. Checks that must pass before this one starts. Selecting this check also selects them. |
checks.<name>.timeoutMs | integer | Limits: 1 to 2147483647. Timeout for this check in milliseconds, overriding defaults.timeoutMs. |