| name | rainy-cli |
| description | Safely inspect, plan, apply, verify, and audit Rainy-managed software projects through Rainy CLI. Use when an agent needs to initialize a Rainy project, manage capability packs, inspect project health, apply a reviewed execution plan, generate evidence, or troubleshoot rainy.yaml and capability.lock. Also use when Rainy CLI may not be installed because this skill bootstraps the verified official release before continuing. |
Rainy CLI
Use Rainy CLI as the deterministic execution boundary for project changes. Keep the model responsible for intent and review; keep planning, policy enforcement, file writes, rollback, verification, and audit inside Rainy.
Bootstrap Rainy
Perform this step before every Rainy workflow. Do not assume a previous shell added Rainy to PATH.
On Linux or macOS, resolve this skill directory and run:
RAINY_BIN="$(sh "<skill-dir>/scripts/ensure-rainy.sh")"
On Windows PowerShell, run:
$RainyBin = & "<skill-dir>\scripts\ensure-rainy.ps1"
The bootstrap script:
- Uses
RAINY_BIN, PATH, or the default $HOME/.rainy/bin installation when available.
- Runs
rainy --version to reject a broken executable.
- If absent, downloads the official installer and
installers.sha256 from the latest GitHub Release.
- Verifies the installer checksum before execution.
- Installs Rainy and returns its absolute executable path.
Stop immediately when bootstrap fails. Use the returned absolute path for every subsequent command so installation can continue in the same process without restarting the shell.
Discover Project State
Locate the workspace containing rainy.yaml. Do not initialize or overwrite a project unless the user explicitly requested initialization.
Start with read-only JSON commands:
"$RAINY_BIN" --workspace "$WORKSPACE" agent context --json
"$RAINY_BIN" --workspace "$WORKSPACE" doctor --json
"$RAINY_BIN" --workspace "$WORKSPACE" capability installed --json
Read references/commands.md when selecting commands. Read references/safety.md before any mutating workflow or plugin operation.
Change Capabilities
Always separate planning from mutation:
- Create a dry-run plan and save it with
--output-plan.
- Present the plan, diff, policy result, and warnings for review.
- Apply only after the user explicitly approves that plan.
- Apply the saved plan with
rainy apply --plan ... --apply; do not reconstruct it from prose.
- Run
doctor, the appropriate verify profile, and evidence generation.
- Report changed files, verification status, and audit location.
Use --trace-id for a user request that spans multiple Rainy commands. Never add --allow-native-plugin or set RAINY_ALLOW_NATIVE_PLUGIN unless the user explicitly trusts a reviewed native plugin.
Handle Errors
Parse the JSON error body and stable Rainy error code. Address the reported configuration, policy, dependency, or verification problem; do not bypass the failing gate. Preserve the workspace and plan artifacts when escalation is needed.