CLI Reference
tkit [command] [options]
Default config file: testflowkit.yml (falls back to legacy config.yml).
Commands
| Command | Description |
|---|---|
tkit run | Execute test scenarios |
tkit validate | Validate config and feature files |
tkit init | Scaffold a new project |
tkit install | Install browser driver (Playwright) |
tkit export-step-definitions | Export step catalog as JSON |
tkit version | Show version info |
run
tkit run [options]
| Option | Short | Description | Default |
|---|---|---|---|
--config | -c | Config file path | testflowkit.yml |
--location | -l | Feature files directory | from config |
--tags | -t | Tag filter expression | all |
--env-file | Environment variables YAML | from config | |
--headless | Headless browser mode | true | |
--timeout | Request/element timeout (10s, 1m) | from config | |
--debug | Log full request/response payloads | false |
tkit run
tkit run --tags @smoke
tkit run --tags "@login and not @slow"
tkit run --env-file .env.staging.yml
tkit run --config staging.yml --location e2e/features
tkit run --debug
validate
tkit validate [-c config] [-l location] [-t tags] [--env-file file]
install
Installs Playwright when frontend.driver: "playwright" is set in config. Rod requires no install.
tkit install
tkit install --config staging.yml
export-step-definitions
tkit export-step-definitions --format json > step-definitions.json
Used by the MCP server and for offline step catalog snapshots.
Tag expressions
tkit run --tags @smoke
tkit run --tags "@smoke and @login"
tkit run --tags "@smoke or @regression"
tkit run --tags "not @slow"
tkit run --tags "@smoke and not @wip"
Exit codes
| Code | Meaning |
|---|---|
0 | All tests passed |
1 | Test failure |
2 | Configuration error |
3 | Invalid arguments |
CI example
# GitHub Actions
- run: |
npm install -g @testflowkit/cli
tkit run --headless --tags @smoke
Next Steps
- testflowkit.yml — Config file reference
- Step Catalog — Searchable step catalog