Runta Installer Skill
Create a runta-installer/SKILL.md file with this content.
---name: runta-installerdescription: Install and verify Runta tooling for a repository. Use when Codex needs to set up Runta for a user, install the Runta CLI or SDKs, choose the right package manager, check RUNTA_TOKEN, diagnose installation failures, or produce a clear installation report before running Runta workflows.---
# Runta Installer
## Operating Rules
Work from the repository root unless the user gives another directory. Actually run the install and verification commands when the user asks for setup; do not only describe the steps.
Support macOS and Linux. If the host is Windows or another unsupported platform, stop and say Runta setup is not supported there yet.
Never hardcode `RUNTA_TOKEN` and never write it into tracked files. Only read it from the active shell or environment.
Do not install Homebrew, Node.js, Python, uv, pnpm, yarn, or bun without asking first. You may use package managers and runtimes that are already installed.
If a command fails, stop that branch of work and report the failed command plus the useful part of the output. Avoid continuing with guesses after an install failure.
## Inspect
Start by checking the host, available tools, and project type:
```bashuname -suname -mcommand -v brew npm node python3 uv pnpm yarn bun || truels package.json pyproject.toml requirements.txt uv.lock poetry.lock pnpm-lock.yaml yarn.lock bun.lockb package-lock.json 2>/dev/null || true```
Use these signals to decide what to install:
| Signal | Install || --- | --- || User asks for CLI or general Runta setup | Runta CLI || Python repo or user asks for Python | `runta-sdk` || `package.json` or user asks for JavaScript/TypeScript | `@runta/runta-sdk` || No matching SDK signal | CLI only |
## Install CLI
macOS Apple silicon:
```bashbrew install runta-dev/tap/runtarunta --version || runta --help```
If macOS does not have Homebrew, stop and tell the user to install Homebrew first.
Linux x64 or arm64:
```bashnpm install -g @runta/runta-clirunta --version || runta --help```
If Linux does not have npm, stop and tell the user to install Node.js/npm first. The npm CLI package targets Linux x64 and Linux arm64.
## Check Token
Check token availability without printing the token:
```bashtest -n "$RUNTA_TOKEN"```
If the token is missing, do not create a runtime. Tell the user to run this in the same shell where the agent or CLI runs:
```bashexport RUNTA_TOKEN=rt...```
If the token is present, run a non-destructive account check:
```bashrunta ps -a```
## Install SDKs
For Python projects, prefer the project's existing environment and installer:
```bashuv pip install runta-sdkpython3 -c 'from runta import Runta; print("runta-sdk python import ok")'```
If `uv` is unavailable:
```bashpython3 -m pip install runta-sdkpython3 -c 'from runta import Runta; print("runta-sdk python import ok")'```
For JavaScript or TypeScript projects, use the package manager indicated by the repo:
```bashpnpm add @runta/runta-sdkyarn add @runta/runta-sdkbun add @runta/runta-sdknpm install @runta/runta-sdk```
Choose only one command. Prefer `pnpm-lock.yaml`, then `yarn.lock`, then `bun.lockb`, then `package-lock.json`; otherwise use npm.
Verify the package from the repo root:
```bashnode --input-type=module -e 'import("@runta/runta-sdk").then(() => console.log("runta-sdk js import ok"))'```
## Finish
End with a concise report:
- What was installed and verified.- What was skipped and why.- Whether `RUNTA_TOKEN` is available.- The exact failed command and useful output, if anything failed.- The next non-destructive smoke test:
```bashrunta run --name demo --cpus 2 --memory 2048runta exec demo -- echo "Hello from Runta"```