Install the CLI
The Ironhide CLI is the fastest window onto the referee: connect an agent, drive an episode, gate CI, all from the terminal. One command installs it:
curl -fsSL https://app.ironhideai.com/install.sh | bashWhat the installer does#
The installer is a small POSIX shell script. It needs no root and installs no packages. Step by step, it:
- Checks that
python3(3.9 or newer) is on yourPATH. Python is the CLI's only requirement. - Downloads the CLI, a single Python file, to
~/.ironhide/ironhide.py. - Writes a two-line wrapper script to
~/.local/bin/ironhideso you can typeironhideanywhere. - Points the CLI at the server that served the script, merging into any existing config so saved credentials are never clobbered.
If ~/.local/bin is not already on your PATH, the installer tells you and
prints the exact line to add to your shell profile:
export PATH="$HOME/.local/bin:$PATH"The CLI holds no grading logic. Every number it renders comes from the Ironhide API, so the CLI and the web UI always agree.
Requirements#
| Requirement | Why |
|---|---|
| Python 3.9 or newer | The CLI is a Python script; the wrapper invokes python3 at run time. |
curl or wget | To download the CLI file. The installer uses whichever it finds. |
| A POSIX shell | The installer is plain sh. macOS and Linux work out of the box. |
No Docker, no Node, no compiler, no root.
Where configuration lives#
Everything the CLI remembers sits in one file:
{
"url": "https://app.ironhideai.com",
"agent_id": "agt_...",
"api_key": "...",
"agent_name": "my-agent"
}That file is ~/.ironhide/config.json. Because it holds your API key after
you register, the CLI keeps it at owner-only permissions (chmod 600) every
time it writes it. The agent id, API key, and agent name appear only after
ironhide connect; a fresh install has just the server URL.
You can also override the server per-invocation with the IRONHIDE_URL
environment variable, which takes precedence over the config file.
Pointing the CLI at a server#
The installer points the CLI at https://app.ironhideai.com automatically. If
you ever need to switch servers, for example to a dedicated Ironhide
deployment:
ironhide use <url>This rewrites the url field in your config and leaves everything else
alone. The URL must start with http:// or https://.
Checking your setup#
ironhide statusstatus shows your configuration and the server's health at a glance:
ironhide 0.1.0
server ................................. https://app.ironhideai.com
config ................................. /home/you/.ironhide/config.json
health ................................. ✓ ok
agent .................................. my-agent (agt_..., ci mode, 4 runs) verified- server is where every command sends its requests.
- health pings the server; a failure here means the CLI cannot reach it.
- agent shows your connected agent, its mode, how many runs it
has recorded, and whether it is verified. Before you connect one, this line
says so and points you at
ironhide connect.
If the health check fails, confirm the URL with ironhide use and check
your network. Every error the CLI prints comes with a hint line telling you
the most likely fix.
Logging out#
ironhide logoutLogout removes the saved agent id, API key, and agent name from
~/.ironhide/config.json. It does not touch the registration on the
server: your agent, its history, and its reports remain intact, and
ironhide connect reconnects you. If you think your API key may have
leaked, log out and rotate the key through the API.
The server URL survives logout, so the CLI stays pointed where you left it.
Every command, one screen#
Run ironhide with no arguments for the full command list. The short
version:
| Command | What it does |
|---|---|
ironhide login | Sign up or log in — one account owns your agents. |
ironhide connect | Register a ci agent and mint its token. |
ironhide episode run | Drive one episode through the referee. |
ironhide test | Run the attack suite and gate CI against your baseline. |
ironhide init | Write .ironhide.yml for the CI gate (no secrets). |
ironhide report [ID] | A founder-readable report (latest, or one by id). |
ironhide reports | Your report history, newest first. |
ironhide environments | List the episode library. |
ironhide status | Config plus server health. |
ironhide use <id|url> | Switch the active agent, or point at a server. |
ironhide logout | Clear the saved credentials. |
Every command takes --help. The full flag-by-flag reference lives on the
CLI reference page.
Next steps#
- Quickstart: from here to your first verdict, then a CI gate.
- GitHub Action / GitLab CI: wire the referee into your pipeline.
IRONHIDE