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
Repo_search¶
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