Skip to main content
The euca CLI is the same build / play / experiment surface as the HTTP API, from a terminal. Each command is a thin blocking HTTP client that calls a route on a running server (default localhost:3917), so anything an agent can do over HTTP it can do as a shell command — and the CLI is self-describing, so an agent can learn the available surface at runtime instead of being hard-coded against it.

The loop, as commands

Start a server, then drive it:
cargo run -q -p euca-agent --example headless_server -- 3917
The command set mirrors the endpoints — spawning entities, adding rules, stepping the simulation, observing, forking, snapshotting, diffing — the same agent loop you run over HTTP, one command per route across roughly three dozen command groups.

Self-describing

This is what lets an agent discover the engine rather than assume it:
  • euca discover — prints the command tree (groups, subcommands, arguments); --json for a machine-readable form. An agent calls this to learn what it can do.
  • euca explain <topic> — worked, copy-pasteable examples for a topic (entity, combat, rule, assert, fork, scenario, …).
  • euca schema — the component and endpoint schema (the engine’s GET /schema).

Offline commands

A few commands don’t need a running server — asset cooking (GLB → .emesh), packaging, and discover / explain run locally.
The CLI targets localhost:3917 by default; pass --server <url> to point at another host. Because the command set maps 1:1 to the API, euca discover is the authoritative, current list — prefer it over any hard-coded command catalogue.