Run only the checks your change needs.

Verifika is a small verification CLI for developers and coding agents. List your checks once. vfk runs only the ones your change affects and says exactly what failed.

npm install --save-dev verifika

Node.js 22.13 or newer · MIT licence

~/shop · vfk
One source file changed. vfk runs the six checks it affects, four at a time, waits for build before e2e, and skips docs. Recorded with the real CLI.

How it works

  1. Define your checks

    One verifika.config.json lists each check's command and the files that can affect it.

  2. Verifika selects

    It compares your work with git, then matches paths, dependsOn and invalidateAll. vfk plan shows each decision.

  3. Run and read

    Selected checks run one at a time, or in parallel up to the limit you set. A pass is a short summary; a failure names the check, the cause and where the full log is.

verifika.config.json
{
  "$schema": "./node_modules/verifika/schemas/verifika.schema.json",
  "version": 1,
  "changes": {
    "invalidateAll": ["package.json", "package-lock.json", "tsconfig*.json"]
  },
  "checks": {
    "format": { "command": "npm run format:check" },
    "lint": { "command": "npm run lint", "paths": ["src/**/*.{ts,html}"] },
    "typecheck": { "command": "npm run typecheck", "paths": ["src/**/*.ts"] },
    "test": { "command": "npm test", "paths": ["src/**", "test/**"] },
    "build": { "command": "npm run build", "paths": ["src/**"], "dependsOn": ["typecheck"] }
  }
}

Why Verifika

Get started

Terminal
npm install --save-dev verifika
npx vfk init     # config and verify scripts from package.json
npx vfk plan     # what would run for your changes, and why
npx vfk          # run the checks your changes affect
npx vfk --all    # run every check, before you push and in CI

vfk init maps conventional scripts like lint, test and build to checks. Add paths to each so local runs can skip what a change can't affect.

Using a coding agent? Paste the setup prompt below. It installs Verifika, writes the config for your repository, and adds the agent skill.

Read the documentation
Setup prompt for a coding agent
Set up Verifika (https://github.com/alexportelli12/verifika) in this repository.

1. Check that Node.js is 22.13 or newer, and install the project's dependencies if
   they are missing. Install Verifika as a dev dependency with this repository's
   package manager (npm install --save-dev verifika, or the pnpm/yarn equivalent).
   It provides the `vfk` command.
2. Run `npx vfk init` to create verifika.config.json, then refine it by reading
   package.json, the CI workflows and the tool configs:
   - One check per quality gate the project actually has (such as format, lint,
     typecheck, unit tests, build). Do not invent checks for tools it does not use,
     or add a check that another one already fully covers. Every command must be
     non-interactive and exit on its own: no watch mode, no prompts, no dev servers.
   - Give each check `paths` globs for the files that can affect it, so local runs
     select only what a change needs. If unsure, leave `paths` out: the check then
     runs on every change.
   - Add `dependsOn` where one check needs another's output (for example e2e after build).
   - Keep concurrency at 1 unless the checks clearly share no build outputs.
   - Make sure package.json has two scripts: "verify": "vfk" (selective, for local
     work) and "verify:ci": "vfk --all" (the full gate). `vfk init` adds them when
     they are missing. If a "verify" or "verify:ci" script already exists, replace
     it only when the configured checks cover everything it ran; otherwise leave it
     and report the conflict. This is the one exception to the rule below about
     existing scripts.
   - If the CI workflow runs the gate some other way, report that switching it to
     `npm run verify:ci` is recommended. Do not edit the workflow.
   Reference: https://github.com/alexportelli12/verifika/blob/main/docs/configuration.md
3. Validate the config:
   - Run `npx vfk --all`. If a check fails, decide whether the config is wrong (fix it)
     or the project already fails that check (report it; do not fix it).
   - Run `npx vfk plan`. Until this setup is committed, the changed package.json and
     lockfile select every check; that is expected. Explain which checks a typical
     source edit and a documentation-only edit would select once it is committed.
4. Install the agent skill: copy node_modules/verifika/skills/verifika into this
   agent's skills directory (see
   https://github.com/alexportelli12/verifika/blob/main/docs/agents.md).

Do not change source code or existing scripts to make checks pass (except "verify"
and "verify:ci", as step 2 describes), and do not commit.
Finish with: the checks you configured and why, the --all result, the expected
selection for those two edits, the scripts you added, replaced or left (with any
conflicts), any CI recommendation, and any existing failures you found.