astrion-website/content/en/10-cli.md

37 lines
1.8 KiB
Markdown

# CLI (In Development)
> ⚠️ The CLI is currently in a **development state under rewrite**; functionality and stability are defined by the Web client. This article only describes its current form, and the behaviors listed may change later.
---
## 1. What It Is
A conversation client in the terminal: a TUI built with **React 19 + Ink 6 + TypeScript** that lets you talk to Astrion without opening a browser.
Key point: the CLI is **not a standalone agent runtime**—it connects to the Astrion Web service running locally on your machine (default `127.0.0.1:8091`). All conversations, tool execution, and permission control go through the backend; the CLI is just a lighter interactive interface.
## 2. Startup
```bash
npm --prefix cli install # install dependencies on first use
npm run cli # start; automatically connects to the local 8091 service
```
On startup it clears the screen, connects to the local service, creates a new session, and pins the input area to the bottom. If the current directory is not inside any authorized workspace, it first asks whether to add it as a workspace.
## 3. Current Capabilities and Limits
- Basic conversation, streaming output, tool call display;
- `/` command system (in design; see the repo's `docs/cli_slash_commands_spec.md`);
- Thinking content is collapsed by default, showing only "thinking / thinking done";
- Multimodality, Quick Dock, version control, and other Web-side capabilities are **not yet aligned** in the CLI—use the Web client when you need the full feature set.
## 4. For Developers
```bash
npm run cli:typecheck # type checking
npm run cli:build # build (artifacts provide the agents / agents-cli commands)
```
The CLI code lives in `cli/src/` (`App.tsx`, `components.tsx`, `eventMapper.ts`, `api.ts`); contributions welcome.