# `SuperPi.CLI`
[🔗](https://github.com/oleksandr/super-pi-beam/blob/v0.1.0/lib/super_pi/cli.ex#L1)

Unified Command-Line Interface for Super-Pi-BEAM.

Provides a single, standardized CLI for all agent harnesses:
- Supports `--harness <id>` (`code`, `assistant`, `librarian`, `planner`). `--agent` is a deprecated alias:
  `self` selects `code`, `research` selects `planner`.
- Supports non-interactive `-p` / `--prompt` / `--print` and streaming turns (`--input-format stream-json`).
- Supports conversation continuation (`-c`, `--continue`) and resumption (`--conversation <id>`).
- Unified subcommands for `harnesses`, `models`, `agents`, `mcp`, `plugins`, `remote-control`, and `session`.
- Guarantees clean process lifecycle management with synchronous registry unregistration on shutdown.

# `agents_catalog`

Harnesses as the `agents` entries of `workspace.metadata`. The key is kept for wire compatibility.
Each entry has `"id"` and `"description"` plus the harness capabilities.

# `default_extensions`

# `execute_session`

# `help_text`

# `launch_interactive_tui`

# `models_catalog`

# `parse_args`

Parses command-line arguments (`argv`) into `{:subcommand, cmd, args, flags}` or `{:run, flags, positional}`.

# `run`

Executes the parsed CLI command and returns `{exit_code, output_string}`.

# `slash_commands`

The slash commands that every interface lists: RPC `workspace.metadata` and ACP
`available_commands_update`. Each is `%{"name", "description"}`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
