Skip to main content

The testvibe CLI

The testvibe npm package wraps the REST API for your terminal, and doubles as the MCP server (testvibe mcp). It's a single bundled file with zero runtime dependencies — all it needs is Node 20+.

Install

Pick whichever fits your setup. Every method installs the same dependency-free bundle and only needs Node 20+ already on your machine.

npm install -g testvibe

Installs the testvibe package from the public npm registry.

info

The curl | sh and iwr | iex installers download a single file (testvibe.mjs) from /api/v1/cli/testvibe.mjs on your TestVibe server and add a testvibe shim that runs it with node. No npm registry, no build step — just Node 20+.

Then log in once per machine:

testvibe login --server https://app.testvibe.com --key tvb_XXXXXXXX…
testvibe use <project>

Commands

CommandWhat it does
testvibe login [--key tvb_…] [--server https://…]Store an API key for this machine. Verifies the key before saving.
testvibe logoutRemove the stored API key.
testvibe whoamiShow the configured server, key prefix, and default project.
testvibe use <project>Set the default project (by public id or name).
testvibe projectsList the projects in your workspace.
testvibe project [id]Show one project's details (base URL, execution target, test site URLs).
testvibe features [list|show|create|update|delete] … [--status generated]Manage features (create <name> --file <path> or --gherkin '…').
testvibe generate <feature> [--url https://…] [--watch]Generate Playwright tests from the feature's Gherkin. --watch polls progress.
testvibe run <feature>|--all [--config Name] [--url https://…] [--wait]Run a feature's tests in a cloud sandbox — or every generated feature with --all (one run per feature). --wait prints per-test results.
testvibe runs [list|show|diagnose|artifacts] [runId] [--status failed]List runs, show one's results, get a failed run's full failure context, or get artifact download links.
testvibe files [list|get|put|delete] …List, print, write, or delete project files (writes/deletes only under Features/ or Configurations/).
testvibe configsList the Playwright configurations available to runs.
testvibe load [list|create|update|delete|run] [loadTest] [--name …] [--mode simple|advanced] [--features id1,id2] [--paths /,/x] [--vus N] [--duration S] [--ramp S] [--repeats N] [--thresholds "http_req_duration:p(95)<1000"] [--url https://…] [--wait]List, create, edit, delete, or dispatch load tests. Simple mode replays functional features (--features); advanced drives k6 against paths (--paths). --wait polls a dispatched run until it finishes.
testvibe telemetry [live|errors|metrics] [runId] [--status open] [--limit 50]Read telemetry: live streaming server vitals (Live Servers), errors fingerprinted application-error groups, metrics <runId> a load run's persisted server samples. Read-only.
testvibe automations [list|show|create|update|delete|run|runs] …Manage automations (schedule/event triggers → run features or a load test), fire one now, or view firing history.
testvibe coverage [show|scan|runs|run] [--target id] [--wait]Show the coverage snapshot, trigger an AI area scan, list execution-coverage runs, or start one. --wait polls to completion.
testvibe plugins [list|install|remove|publish|unpublish] … [--installed]Manage the project's plugin catalog — list it, enable/disable a plugin, or publish/unpublish a workspace package (publish --name "My Plugin" [--file source.js]).
testvibe vars [list|set|delete] [NAME] [value]List, set, or delete project variables (plaintext, injected into runs and generation).
testvibe secrets [list|set|delete] [NAME] [value]List, set, or delete project secrets. list shows names only — values are write-only.
testvibe mcpStart the MCP stdio server.

Configuration

Settings resolve in priority order — first hit wins:

PrioritySourceHolds
1Environment: TESTVIBE_API_KEY, TESTVIBE_SERVER, TESTVIBE_PROJECTAnything — ideal for CI.
2Per-repo .testvibe.json{ "server": "…", "project": "…" } — commit it so a repo is pinned to its project. No keys here.
3~/.testvibe/config.json (written by testvibe login){ "server", "apiKey", "project" }.
info

A typical setup: testvibe login once per machine, a committed .testvibe.json per repo pointing at its project, and env vars in CI. See Run TestVibe in CI.

Exit codes & output

Commands print human-readable output and exit non-zero on failure (API errors surface the server's message verbatim) — run --wait exits non-zero when any run fails, which is exactly what a CI gate wants. run --all --wait waits on every dispatched run and prints a suite summary.