Skip to content

CLI Commands

CLI Commands

Reference documentation for the Stepwright and Fixwright command line interfaces.

Stepwright CLI

Installation

The CLI is included with the @korvol/stepwright package:

Terminal window
npm install @korvol/stepwright

Commands

stepwright run

Run a Stepwright script.

Terminal window
npx stepwright run <script> [options]

Arguments:

ArgumentDescription
<script>Path to the script file (.ts or .js)

Options:

OptionDescriptionDefault
--headedRun with visible browserfalse
--headlessRun without visible browsertrue
--browser <type>Browser to use (chromium, firefox, webkit)chromium
--timeout <ms>Default timeout in milliseconds30000
--json <path>Output results as JSON to file-
--videoRecord video of executionfalse
--video-dir <path>Directory for video output.stepwright/videos
--screenshotsTake screenshot after each stepfalse
--verboseEnable verbose loggingfalse
--config <path>Path to config file-
-h, --helpShow help-

Examples:

Terminal window
# Basic run
npx stepwright run ./scripts/checkout.ts
# Run with visible browser
npx stepwright run ./scripts/checkout.ts --headed
# Run on Firefox
npx stepwright run ./scripts/checkout.ts --browser firefox
# Save results to JSON
npx stepwright run ./scripts/checkout.ts --json ./results.json
# Record video
npx stepwright run ./scripts/checkout.ts --video --video-dir ./recordings
# Verbose output
npx stepwright run ./scripts/checkout.ts --verbose

stepwright list

List available scripts in a directory.

Terminal window
npx stepwright list [directory] [options]

Arguments:

ArgumentDescription
[directory]Directory to scan (default: current directory)

Options:

OptionDescription
--recursiveSearch subdirectories
--jsonOutput as JSON

Examples:

Terminal window
# List scripts in current directory
npx stepwright list
# List scripts in specific directory
npx stepwright list ./scripts
# List recursively
npx stepwright list ./scripts --recursive
# Output as JSON
npx stepwright list --json

stepwright init

Initialize a new Stepwright project.

Terminal window
npx stepwright init [directory] [options]

Options:

OptionDescription
--typescriptUse TypeScript (default)
--javascriptUse JavaScript
--forceOverwrite existing files

Examples:

Terminal window
# Initialize in current directory
npx stepwright init
# Initialize in new directory
npx stepwright init my-automation
# Initialize with JavaScript
npx stepwright init --javascript

stepwright validate

Validate script syntax without running.

Terminal window
npx stepwright validate <script>

Examples:

Terminal window
# Validate a script
npx stepwright validate ./scripts/checkout.ts
# Validate multiple scripts
npx stepwright validate ./scripts/*.ts

Fixwright CLI

Installation

The CLI is included with the @korvol/fixwright package:

Terminal window
npm install @korvol/fixwright

Commands

fixwright fix

Fix a failing script.

Terminal window
npx fixwright fix <failure-case> [options]

Arguments:

ArgumentDescription
<failure-case>Path to failure case JSON file

Options:

OptionDescriptionDefault
--api-key <key>Anthropic API key$ANTHROPIC_API_KEY
--model <model>Claude model to useclaude-sonnet-4-20250514
--max-attempts <n>Maximum fix attempts3
--dry-runShow fix without applyingfalse
--backupCreate backup before fixingtrue
--no-backupSkip backup creation-
--gitEnable Git integrationfalse
--create-prCreate PR after fixingfalse
--verboseVerbose outputfalse
-h, --helpShow help-

Examples:

Terminal window
# Basic fix
npx fixwright fix ./failure-cases/checkout-failure.json
# Dry run (preview fix)
npx fixwright fix ./failure-cases/failure.json --dry-run
# With Git integration
npx fixwright fix ./failure-cases/failure.json --git
# Create PR
npx fixwright fix ./failure-cases/failure.json --git --create-pr
# Custom model
npx fixwright fix ./failure-cases/failure.json --model claude-sonnet-4-20250514
# Multiple attempts
npx fixwright fix ./failure-cases/failure.json --max-attempts 5

fixwright watch

Watch for failures and fix automatically.

Terminal window
npx fixwright watch <directory> [options]

Arguments:

ArgumentDescription
<directory>Directory to watch for failure cases

Options:

OptionDescriptionDefault
--api-key <key>Anthropic API key$ANTHROPIC_API_KEY
--pattern <glob>File pattern to watch*.json
--debounce <ms>Debounce time1000

Examples:

Terminal window
# Watch for failures
npx fixwright watch ./failure-cases
# Custom pattern
npx fixwright watch ./failures --pattern "*.failure.json"

fixwright generate-case

Generate a failure case from a script result.

Terminal window
npx fixwright generate-case <result-json> [options]

Arguments:

ArgumentDescription
<result-json>Path to Stepwright result JSON

Options:

OptionDescriptionDefault
-o, --output <path>Output path for failure case-
--script-path <path>Path to the original script-

Examples:

Terminal window
# Generate from result
npx fixwright generate-case ./results.json -o ./failure-cases/
# With script path
npx fixwright generate-case ./results.json --script-path ./scripts/checkout.ts

Global Options

These options work with both CLIs:

OptionDescription
--versionShow version number
--helpShow help
--no-colorDisable colored output
--quietSuppress non-essential output

Exit Codes

Both CLIs use standard exit codes:

CodeMeaning
0Success
1Script/fix failed
2Syntax/configuration error
3File not found
130User interrupt (Ctrl+C)

Using in scripts:

Terminal window
#!/bin/bash
npx stepwright run ./scripts/main.ts
if [ $? -eq 0 ]; then
echo "Success!"
elif [ $? -eq 1 ]; then
echo "Script failed, generating failure case..."
npx fixwright generate-case ./results.json
else
echo "Error occurred"
fi

Shell Completion

Bash

Terminal window
# Add to ~/.bashrc
eval "$(npx stepwright completion bash)"

Zsh

Terminal window
# Add to ~/.zshrc
eval "$(npx stepwright completion zsh)"

Fish

# Add to ~/.config/fish/config.fish
npx stepwright completion fish | source

Configuration File

Both CLIs can use configuration files:

export default {
headless: true,
browser: 'chromium',
timeout: 30000,
screenshotOnFailure: true,
};

Use with --config:

Terminal window
npx stepwright run ./script.ts --config ./custom-config.ts
npx fixwright fix ./failure.json --config ./fixwright.config.ts

Next Steps