CLI Reference
The verfix CLI manages the runtime lifecycle and runs browser verification jobs. Install it with:
npm install -g verfixAll commands can also be run with npx verfix <command>.
verfix init
Section titled “verfix init”Interactive setup wizard — configures the runtime, scaffolds flows, and generates AGENTS.md.
verfix initOptions:
| Flag | Description |
|---|---|
-f, --force | Overwrite existing files without prompting |
What it does (step by step):
- Checks Docker is installed and running
- Pulls
ghcr.io/verfix-dev/verfix-server:latestif not already present - Starts the runtime container
- Prompts for your app’s base URL
- Prompts for the default verification mode (
strict,assisted,exploratory) - Prompts for which flows to scaffold from the preset library
- Prompts for your AI API key (required for Assisted/Exploratory)
- Writes
verfix.config.jsonin the current directory - Generates or updates
AGENTS.md
verfix start
Section titled “verfix start”Starts the Verfix runtime container.
verfix startPulls the Docker image if missing, starts the container, and waits for the health check to pass. Prints the API and Dashboard URLs on success.
If the runtime is already running, it reports the current ports without restarting.
verfix stop
Section titled “verfix stop”Stops the Verfix runtime container.
verfix stopStops and removes the running container. Data is preserved in Docker volumes (verfix-data, verfix-artifacts).
verfix status
Section titled “verfix status”Checks runtime, API, and dashboard health.
verfix status [executionId]Arguments:
| Argument | Description |
|---|---|
[executionId] | Optional. If provided, fetches and displays the status of a specific execution. |
Options:
| Flag | Description |
|---|---|
-o, --output <format> | Output format: pretty | json. Default: pretty |
Without an executionId, prints:
- Container status (running / not found)
- API health (healthy / unreachable)
- Dashboard health (healthy / unreachable)
- Docker image name
- Container uptime
With an executionId:
- Execution ID
- Status (
queued,running,completed,failed) - Duration in milliseconds
verfix logs
Section titled “verfix logs”Tails the runtime container logs.
verfix logsOptions:
| Flag | Description |
|---|---|
--tail <n> | Number of lines to show. Default: 50 |
verfix update
Section titled “verfix update”Pulls the latest runtime image and restarts the container.
verfix update- Pulls
ghcr.io/verfix-dev/verfix-server:latest - Stops the existing container
- Starts the updated container
- Waits for health check
verfix doctor
Section titled “verfix doctor”Runs diagnostic checks on the Verfix setup.
verfix doctorChecks (in order):
- Docker installed
- Docker daemon running
- Container running
- API reachable at health endpoint
- Dashboard reachable
verfix.config.jsonexists in current directoryAGENTS.mdexists in current directory
Exits with code equal to the number of failed checks. Exit code 0 means all checks passed.
verfix flows
Section titled “verfix flows”Lists all flows defined in verfix.config.json.
verfix flowsOptions:
| Flag | Description |
|---|---|
-c, --config <file> | Path to config file. Default: ./verfix.config.json |
-o, --output <format> | Output format: pretty | json. Default: pretty |
JSON output shape:
{ "flows": [ { "id": "login", "steps": 4, "assertions": 2 }, { "id": "dashboard-load", "steps": 1, "assertions": 3 } ], "total": 2}verfix run
Section titled “verfix run”Runs a verification job.
verfix run [options]Options:
| Flag | Description |
|---|---|
-u, --url <url> | Target URL to verify |
-t, --task <task> | Task description (used in dashboard) |
-c, --config <file> | Path to verfix.config.json. Default: ./verfix.config.json |
-f, --flow <id> | Flow ID or name to run |
-m, --mode <mode> | Verification mode: strict | assisted | smoke | exploratory |
-o, --output <format> | Output format: pretty | json. Default: json |
--dashboard <url> | Dashboard base URL for timeline links |
--timeout <ms> | Timeout in milliseconds. Default: 15000 |
--retries <n> | Number of retries on failure. Default: 2 |
JSON output contract:
{ "passed": false, "failures": [ { "type": "selector_not_found", "selector": "[data-testid=submit]", "detail": "Selector not found after 15000ms", "fix_hint": "Selector \"[data-testid=submit]\" not found in DOM. Add a stable data-testid or update the selector." } ], "timeline_url": "http://localhost:3610/?executionId=exec_abc123", "exit_code": 1, "execution_id": "exec_abc123", "raw": { ... }}Exit codes:
0— all assertions passed1— one or more assertions failed or execution error
Examples:
# Run a specific flow, JSON outputverfix run --flow login --output json
# Run all flowsverfix run --output json
# Run in exploratory mode with a natural language taskverfix run --mode exploratory --task "verify the login page loads and shows a form" --output json
# Run against a specific URL without a config fileverfix run --url http://localhost:3000 --output json
# Run with custom timeout and retriesverfix run --flow checkout --timeout 30000 --retries 3 --output jsonverfix list
Section titled “verfix list”Lists recent verification executions.
verfix listShows the last N executions from the API, with status icons, execution IDs, tasks, and URLs.
Global flags
Section titled “Global flags”All commands support:
verfix --version # Print CLI versionverfix --help # Print help for any commandverfix <cmd> --help # Print help for a specific command