@robota-sdk/agent-cli 3.0.0-beta.4 → 3.0.0-beta.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,8 @@ npm install -g @robota-sdk/agent-cli
12
12
  npx @robota-sdk/agent-cli
13
13
  ```
14
14
 
15
+ > **macOS users**: Korean/CJK IME input may crash macOS Terminal.app. Use **[iTerm2](https://iterm2.com/)** instead. This is a known Ink + Terminal.app issue shared with Claude Code.
16
+
15
17
  After installing globally, the `robota` command is available system-wide:
16
18
 
17
19
  ```bash
@@ -73,9 +75,14 @@ robota -r <session-id> # Resume session by ID
73
75
  robota --model <model> # Model override (e.g., claude-sonnet-4-6)
74
76
  robota --permission-mode <mode> # plan | default | acceptEdits | bypassPermissions
75
77
  robota --max-turns <n> # Limit agentic turns per interaction
78
+ robota --reset # Delete user settings and exit
76
79
  robota --version # Show version
77
80
  ```
78
81
 
82
+ ## First-Run Setup
83
+
84
+ When no settings file exists, the CLI prompts for an Anthropic API key (input masked with asterisks) and creates `~/.robota/settings.json`. Use `robota --reset` to return to first-run state.
85
+
79
86
  ## Built-in Tools
80
87
 
81
88
  The CLI provides 6 tools that the AI agent can invoke:
@@ -170,15 +177,17 @@ Configure in `.robota/settings.json` or `.robota/settings.local.json`:
170
177
 
171
178
  ## Slash Commands
172
179
 
173
- | Command | Description |
174
- | -------------- | ------------------------------- |
175
- | `/help` | Show help |
176
- | `/clear` | Clear conversation history |
177
- | `/mode [mode]` | Show or change permission mode |
178
- | `/resume` | List and resume a saved session |
179
- | `/cost` | Show token usage |
180
- | `/model` | Show current model |
181
- | `/exit` | Exit CLI |
180
+ | Command | Description |
181
+ | ------------------------- | ---------------------------------------- |
182
+ | `/help` | Show help |
183
+ | `/clear` | Clear conversation history |
184
+ | `/mode [mode]` | Show or change permission mode |
185
+ | `/model [model]` | Select AI model (confirmation + restart) |
186
+ | `/compact [instructions]` | Compress context window |
187
+ | `/cost` | Show session info |
188
+ | `/context` | Context window details |
189
+ | `/permissions` | Show permission rules |
190
+ | `/exit` | Exit CLI |
182
191
 
183
192
  ## Configuration
184
193
 
@@ -211,6 +220,31 @@ Settings are loaded from (highest priority first):
211
220
 
212
221
  Copy `.env.example` to `.env` and set your key. The CLI reads `.env` automatically in dev mode.
213
222
 
223
+ ## Paste Template
224
+
225
+ When pasting multiline text, the input area collapses it into a label: `[Pasted text #1 +42 lines]`. Multiple pastes are numbered sequentially. The full content is expanded on submit, keeping the input area compact while preserving the complete text for the AI.
226
+
227
+ ## Edit Diff Display
228
+
229
+ After the Edit tool runs, a `DiffBlock` component renders the change with colored `+`/`-` line markers (green = added, red = removed), giving immediate visual feedback on file modifications.
230
+
231
+ ## Plugin Commands Display
232
+
233
+ Plugin-provided commands appear in the slash command autocomplete with their source plugin name as a hint. Commands are also accessible via colon format: `/plugin-name:command`.
234
+
235
+ ## Memory Management
236
+
237
+ The CLI applies two strategies to keep memory usage bounded during long sessions:
238
+
239
+ - **Message windowing** — Conversation history is capped at 100 messages. Older messages are pruned from the window.
240
+ - **Tool state cleanup** — Completed tool results older than 50 entries are cleaned up to reduce retained state.
241
+
242
+ React components use `React.memo` to avoid unnecessary re-renders.
243
+
244
+ ### Forced Summary on maxRounds
245
+
246
+ When the tool execution loop exhausts its maximum rounds, the CLI injects a synthetic user message requesting a summary. This ensures the user always receives a meaningful response even if the agent could not complete all planned tool calls.
247
+
214
248
  ## Context Discovery
215
249
 
216
250
  The CLI automatically discovers and loads: