CLI
| Command | What it does | Who | Today’s model |
|---|---|---|---|
zunder-guard init [--network paper|testnet] [--rules zr1_…] | write guard.toml, issue a client key, start the journal | a person | zunder-runner journal-init |
zunder-guard start [--network …] [--confirm-account 0x…] | run until stopped | a person or a service | zunder-runner testnet / mainnet |
zunder-guard status | risk state, positions, last decisions | anyone on the machine | status.json |
zunder-guard kill --reason "…" | pull the kill switch | anyone on the machine | zunder-runner kill |
zunder-guard resume --note "…" | clear a drawdown halt after a review | a person | zunder-runner journal-resume |
zunder-guard journal show | print the journal | anyone on the machine | zunder-runner journal-show |
zunder-guard journal repair --note "…" | cut a torn last record | a person | zunder-runner journal-repair |
zunder-guard check-config | validate the config; no key, no network | anyone | zunder-runner check-config |
zunder-guard client add|list|revoke | manage client keys for bots | a person | new |
zunder-guard mcp | run the MCP server over stdio | an MCP client | new |
zunder-guard rules export | print your rules as a zr1_ code | anyone | new |
zunder-guard version --verbose | version, commit, binary SHA-256 | anyone | new |
Commands only a person runs
Section titled “Commands only a person runs”init, resume, journal repair and client add change what Guard may do. They are never called by Guard itself, by the MCP server, by the monitor page or through the relay. resume also needs Guard stopped, as zunder-runner journal-resume does today.
Example
Section titled “Example”zunder-guard kill --reason "bot looping on SOL"zunder-guard status# state: killed (bot looping on SOL) · positions: none · session: killed