Skip to content

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 ​

OptionTypeDetails
version1, requiredConfiguration format version. Must be 1.

defaults ​

Run-wide defaults. Command-line flags override these.

OptionTypeDetails
defaults.concurrencyintegerLimits: 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.timeoutMsintegerLimits: 1 to 2147483647. Default per-check timeout in milliseconds. A check that exceeds it is killed and fails. Default: 600000 (10 minutes).
defaults.failFastbooleanStop all checks after the first failure. Default: false (run every selected check and report all failures).
defaults.keepRunsintegerLimits: 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.

OptionTypeDetails
changes.basestringLimits: 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.invalidateAllarray of stringsGlob 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 '-'.

OptionTypeDetails
checks.<name>.commandstring, requiredLimits: 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>.pathsarray of stringsLimits: 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>.excludearray of stringsChanged files matching these globs never select this check.
checks.<name>.alwaysbooleanRun this check on every run, even when nothing changed. Cannot be combined with paths or exclude.
checks.<name>.dependsOnarray of stringsLimits: unique items. Checks that must pass before this one starts. Selecting this check also selects them.
checks.<name>.timeoutMsintegerLimits: 1 to 2147483647. Timeout for this check in milliseconds, overriding defaults.timeoutMs.