Skip to content

Action Properties Reference

This document is auto-generated from internal/config/schema.json. Properties are guaranteed to match the schema definition.

Artifact_capture

Capture file changes with enhanced metadata for LLM agents

Property Type Required Description
capture_content boolean No Capture full file content before/after
embed_plan boolean No Embed full plan in artifact for LLM context
format string No Output format (allowed: json, markdown, both)
include_checksums boolean No Include SHA256 checksums
max_diff_size integer No Maximum diff size in bytes per file
max_plan_steps integer No Don't embed plan if exceeds this many steps
name string Yes Name of the artifact (used for output directory)
output_dir string No Base directory for artifacts (default: './artifacts')
steps array Yes Steps to execute while capturing changes

Metadata: - Category: system


Artifact_validate

Validate artifacts against constraints (change budgets)

Property Type Required Description
allowed_paths array No Glob patterns for allowed file paths
artifact_file string Yes Path to artifact metadata JSON file
forbidden_paths array No Glob patterns for forbidden file paths
max_file_size integer No Maximum file size in bytes after changes
max_files integer No Maximum number of files allowed to change
max_lines_changed integer No Maximum total lines changed
require_tests boolean No Require test file changes when code files change

Metadata: - Category: system


Assert

Verify conditions without changing system state

Property Type Required Description
command object No -
file object No -
file_sha256 object No -
git_clean object No -
git_diff object No -
http object No -

Metadata: - Category: system


Command

Execute commands directly without shell interpolation

Property Type Required Description
argv array Yes -
capture boolean No -
stdin string No -

Metadata: - Category: command - Version: 1.0.0


Command_action

Execute commands directly without shell interpolation

Property Type Required Description
argv array Yes -
capture boolean No -
stdin string No -

Metadata: - Category: command - Version: 1.0.0


Copy

Copy files with checksum verification and atomic writes

Property Type Required Description
backup boolean No -
checksum string No -
dest string Yes -
force boolean No -
group string No -
mode string No -
owner string No -
src string Yes -

Metadata: - Category: file - Version: 1.0.0


Download

Download files from URLs with checksum verification

Property Type Required Description
backup boolean No -
checksum string No -
dest string Yes -
force boolean No -
headers object No -
mode string No -
retries integer No -
timeout string No -
url string Yes -

Metadata: - Category: network - Version: 1.0.0


File

Manage files, directories, links, and permissions

Property Type Required Description
backup boolean No -
content string No -
force boolean No -
group string No File group (groupname or GID)
mode string No File permissions (e.g., '0644', '0755')
owner string No File owner (username or UID)
path string Yes File, directory, or symlink path (required)
recurse boolean No -
src string No -
state string No Desired file state (present: file exists, absent: removed, directory: dir exists, link: symlink, touch: update timestamp) (allowed: present, absent, directory, link, touch)

Metadata: - Category: file - Version: 1.0.0


File_delete_range

Delete text between start and end anchor patterns in files

Property Type Required Description
backup boolean No -
end_anchor string Yes -
inclusive boolean No -
path string Yes -
regex boolean No -
start_anchor string Yes -

Metadata: - Category: file - Version: 1.0.0


File_insert

Insert text before or after anchor patterns in files

Property Type Required Description
allow_multiple boolean No -
anchor string Yes -
backup boolean No -
content string Yes -
path string Yes -
position string Yes -
regex boolean No -

Metadata: - Category: file - Version: 1.0.0


File_patch_apply

Apply unified diff patches to files

Property Type Required Description
backup boolean No -
context_lines integer No -
dry_run boolean No -
patch string No -
patch_file string No -
path string Yes -
strict boolean No -

Metadata: - Category: file - Version: 1.0.0


File_replace

Replace text in files using literal or regex patterns

Property Type Required Description
allow_no_match boolean No -
backup boolean No -
count integer No -
flags object No -
path string Yes -
pattern string Yes -
replace string Yes -

Metadata: - Category: file - Version: 1.0.0


Package

Manage system packages (install/remove/update)

Property Type Required Description
extra array No -
manager string No Package manager (auto-detected if empty: apt, dnf, yum, pacman, zypper, apk, brew, port, choco, scoop)
name string No Package name (single package)
names array No Multiple packages to install/remove
state string No Package state (present: installed, absent: removed, latest: install or upgrade) (allowed: present, absent, latest)
update_cache boolean No Update package cache before operation (e.g., apt-get update)
upgrade boolean No -

Metadata: - Category: system - Version: 1.0.0


Preset

Execute a preset by expanding it into steps

Property Type Required Description
name string Yes -
with object No -

Metadata: - Category: system


Print

Display messages to the user

Property Type Required Description
msg string No -

Metadata: - Category: output - Version: 1.0.0


Repo_apply_patchset

Apply multiple patches to multiple files atomically

Property Type Required Description
backup boolean No -
base_dir string No -
dry_run boolean No -
output_file string No -
patchset string No -
patchset_file string No -
strict boolean No -

Metadata: - Category: file - Version: 1.0.0


Search codebase for patterns and output results in JSON format

Property Type Required Description
glob string No -
ignore_dirs array No -
max_results integer No -
output_file string No -
path string No -
pattern string Yes -
regex boolean No -

Metadata: - Category: file - Version: 1.0.0


Repo_tree

Generate a JSON representation of directory structure

Property Type Required Description
exclude_dirs array No -
include_files boolean No -
max_depth integer No -
output_file string No -
path string No -

Metadata: - Category: file - Version: 1.0.0


RunConfig

Structured configuration with version, global variables, and steps

Property Type Required Description
steps array Yes Configuration steps to execute
vars object No Global variables available to all steps
version string No Configuration schema version (e.g., '1.0')

Service

Manage services across platforms (systemd, launchd, Windows)

Property Type Required Description
daemon_reload boolean No Run 'systemctl daemon-reload' after unit file changes (systemd only)
dropin object No -
enabled boolean No Enable service to start on boot (systemd: enable/disable, launchd: bootstrap/bootout)
name string Yes Service name (systemd: nginx, launchd: com.example.app)
state string No Desired service state (allowed: started, stopped, restarted, reloaded)
unit object No -

Metadata: - Category: system


Shell

Execute shell commands

Property Type Required Description
capture boolean No Capture command output (default: true). When false, output is only streamed
cmd string No Shell command to execute (required)
interpreter string No Shell interpreter (bash, sh, pwsh, cmd). Default: bash on Unix, pwsh on Windows (allowed: bash, sh, pwsh, cmd)
stdin string No Input to provide to the command via stdin

Metadata: - Category: command - Version: 1.0.0


Shell_action

Execute shell commands

Property Type Required Description
capture boolean No Capture command output (default: true). When false, output is only streamed
cmd string No Shell command to execute (required)
interpreter string No Shell interpreter (bash, sh, pwsh, cmd). Default: bash on Unix, pwsh on Windows (allowed: bash, sh, pwsh, cmd)
stdin string No Input to provide to the command via stdin

Metadata: - Category: command - Version: 1.0.0


Step

Property Type Required Description
artifact_capture any No Capture file changes with enhanced metadata for LLM agents
artifact_validate any No Validate artifacts against constraints (change budgets)
assert any No Verify conditions without changing system state
become boolean No Execute with sudo privileges. Works with: shell, command, file, template
become_user string No ⚠️ SHELL/COMMAND ONLY: User to become via sudo (e.g., 'root', 'postgres'). Works with 'shell' and 'command' actions. Ignored for file/template/include.
changed_when string No Expression to override changed result
command any No Execute commands directly without shell interpolation
copy any No Copy files with checksum verification and atomic writes
creates string No Skip step if this file path exists. Useful for idempotency (universal)
cwd string No Working directory for the step
download any No Download files from URLs with checksum verification
env object No Environment variables for the step
failed_when string No Expression to override failure condition
file any No Manage files, directories, links, and permissions
file_delete_range any No Delete text between start and end anchor patterns in files
file_insert any No Insert text before or after anchor patterns in files
file_patch_apply any No Apply unified diff patches to files
file_replace any No Replace text in files using literal or regex patterns
include string No Path to YAML file with steps to include
include_vars any No Load variables from YAML files
name string No Name of the step (universal)
package any No Manage system packages (install/remove/update)
preset any No Execute a preset by expanding it into steps
print any No Display messages to the user
register string No Variable name to store step execution result (universal)
repo_apply_patchset any No Apply multiple patches to multiple files atomically
repo_search any No Search codebase for patterns and output results in JSON format
repo_tree any No Generate a JSON representation of directory structure
retries integer No ⚠️ SHELL/COMMAND ONLY: Number of retry attempts on failure. Works with 'shell' and 'command' actions. Ignored for file/template/include.
retry_delay string No ⚠️ SHELL/COMMAND ONLY: Delay between retry attempts (e.g., '1s', '5s'). Works with 'shell' and 'command' actions. Ignored for file/template/include.
service any No Manage services across platforms (systemd, launchd, Windows)
shell any No Execute shell commands
tags array No Tags for filtering step execution (universal)
template any No Render template files and write to destination
timeout string No ⚠️ SHELL/COMMAND ONLY: Maximum execution time (e.g., '30s', '5m', '1h'). Works with 'shell' and 'command' actions. Ignored for file/template/include.
unarchive any No Extract archive files (tar, tar.gz, zip) with path traversal protection
unless string No Skip step if this command succeeds (exit code 0). Useful for idempotency (universal)
vars any No Set variables for use in subsequent steps
wait any No Poll a condition until it becomes true or times out
when string No Conditional expression for step execution (universal)
with_filetree string No Directory path for iterating over files (universal)
with_items string No Variable expression for iterating over items (universal)

Template

Render template files and write to destination

Property Type Required Description
dest string Yes -
mode string No -
src string Yes -
vars object No -

Metadata: - Category: file - Version: 1.0.0


Unarchive

Extract archive files (tar, tar.gz, zip) with path traversal protection

Property Type Required Description
creates string No -
dest string Yes -
mode string No -
src string Yes -
strip_components integer No -

Metadata: - Category: file - Version: 1.0.0


Vars

Define or update variables

No properties defined in schema.


Wait

Poll a condition until it becomes true or times out

Property Type Required Description
allow_untracked boolean No -
cmd string No -
condition string Yes -
exit_code integer No -
host string No -
interval string No -
path string No -
port integer No -
status integer No -
timeout string No -
url string No -

Metadata: - Category: system