type field and type-specific properties. Steps are executed sequentially in the order they appear in the steps array.
launch
Starts a terminal program. Typically the first step in any recording."launch"
required
Must be
"launch".string
required
The shell command to execute. Must be non-empty.
type
Types text into the terminal, simulating keyboard input."type"
required
Must be
"type".string
required
The text to type.
number
Typing speed multiplier. Must be a positive number. Higher values mean faster typing.
press
Sends a single key press to the terminal."press"
required
Must be
"press".string
required
The key to press. Must be non-empty. Common values:
Enter, Tab, Escape, Backspace, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Ctrl+C, Ctrl+D.wait
Waits for specific text to appear in the terminal output before continuing."wait"
required
Must be
"wait".string | { regex: string, flags?: string }
required
The text pattern to wait for. Pass a plain string for exact matching, or an object with
regex and optional flags for regular expression matching.number
Maximum time to wait in milliseconds. Must be non-negative. If not specified, falls back to the config-level
defaultWaitTimeout, or waits indefinitely.pause
Pauses execution for a fixed duration."pause"
required
Must be
"pause".number
required
Duration to pause in milliseconds. Must be non-negative.
scroll
Scrolls the terminal view."scroll"
required
Must be
"scroll"."up" | "down"
required
Scroll direction.
integer
default:3
Number of lines to scroll. Must be a positive integer.
click
Clicks on text matching a pattern in the terminal."click"
required
Must be
"click".string
required
Text pattern to click on. Must be non-empty.
screenshot
Takes a screenshot at the current point in the recording."screenshot"
required
Must be
"screenshot".string
required
Output file path for the screenshot. Must be non-empty.
resize
Resizes the terminal dimensions mid-recording."resize"
required
Must be
"resize".integer
required
New number of columns. Must be a positive integer.
integer
required
New number of rows. Must be a positive integer.
set-env
Sets an environment variable in the terminal session."set-env"
required
Must be
"set-env".string
required
Environment variable name. Must start with a letter or underscore and contain only letters, numbers, or underscores.
string
required
Value to assign to the environment variable.
Include Steps
You can include steps from external files using the$include directive:
$include value is a path to another JSONC file containing step definitions.