@evg-olympus/cli
v0.6.1
Published
Operator CLI for maintaining Olympus content — skills, tools, agents, approvals — over the Admin Console API.
Readme
@evg-olympus/cli
Operator CLI for Olympus — maintain content (skills, tools, agents, approvals) and read fine-grained spend analytics — over the Admin Console API. Anyone on the operator allowlist can use it; the same Google SSO + allowlist that gates the admin console gates the CLI.
npm install -g @evg-olympus/cli
olympus login # opens the browser, approve on the /cli-auth page
olympus whoamiCredentials live in ~/.config/olympus/credentials.json (mode 0600), one
entry per --profile so prod and staging never mix.
By default the CLI targets the production backend,
https://forgeolympus.dipbit.xyz (Kubernetes; the API is served at the host
root, with no /olympus path prefix). Point it at a local or staging backend
with olympus login --api https://… or by exporting OLYMPUS_API. Profiles
still pinned to the retired ECS gateway are rewritten to the current production
base on first use, so an upgrade needs no manual edit.
Commands
| Area | Command | Notes |
|---|---|---|
| Auth | login / whoami / logout | device-authorization grant; auto-refresh |
| Skills | skills list | catalog overview |
| | skills lint <dir> | validate against the exact backend rules, locally |
| | skills pack <dir> | build the upload zip |
| | skills push <dir> | preview a diff, then publish (--dry-run, --yes) |
| Approvals | approve <skill> [--standing] | approve a runnable bundle's capabilities |
| | revoke <skill> / capabilities <skill> | |
| | approvals list / approvals decide <id> | the runtime tool-approval queue |
| Tools/MCP | tools list / mcp list / mcp test <name> | |
| Agents | agent list / show <id> | show reads the summary view — the soul is listed, not inlined |
| | agent set-skills <id> <skill...> / add-skill | server validates every name |
| Souls | agent rules <id> | every rule the agent references, with its size |
| | agent rule <id> <shared\|private> <name> | one rule's markdown — a window by default, --offset/--limit, --all, --out FILE |
| | agent prompt <id> | the assembled system prompt, same windowing |
| | agent rule-put <id> <scope> <name> | write one rule from --content/--file |
| Conversations | conversation model <id> / set-model <id> <ref\|reset> | switch which model a thread's turns run on (per-(user, agent) preference, same row as /model) |
| Spend | spend kpis / breakdown / series / purpose / model / calls | read the LLM-call ledger; window by --days or --start/--end; --json, --by/--split-by (breakdown), --interval (series), filters + --limit/--offset (calls) |
Every write is two-step (preview → confirm) and honours --dry-run. Auth,
permissions, and audit are all enforced by the backend — the CLI never decides
access itself.
Strictness
skills lint is a faithful port of the backend's skill_from_zip validation
(file-count/size limits, path safety, frontmatter, parameter and runnable-manifest
rules), verified to produce the same parsed tree as the server. A skill that
lints clean here will not be rejected on push.
Bundles
bundles/agent-assembler and bundles/admin-ops are first-party skills that let
a capable agent assemble a working agent for a non-technical person — strictly,
from existing and approved capabilities only, stating plainly when a need must go
to an administrator. Install them with olympus skills push bundles/<name> and
assign with olympus agent set-skills.
Development
npm install
npm run build # tsc → dist/
npm test # vitest
npm run typecheck