monkeyscode-cli 1.1.8 → 1.1.10

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
@@ -18,7 +18,7 @@ curl -fsSL https://monkeyscode.com/cli/install.sh | bash
18
18
  # Windows (PowerShell)
19
19
  irm https://monkeyscode.com/cli/install.ps1 | iex
20
20
 
21
- # npm (Node 18+)
21
+ # npm (Node 20+)
22
22
  npm install -g monkeyscode-cli
23
23
  ```
24
24
 
@@ -193,6 +193,49 @@ mc team status
193
193
  mc team merge team-abc123
194
194
  ```
195
195
 
196
+ ## Command-line Command Families
197
+
198
+ These are the root registrations in `src/main.ts` (slash commands are a
199
+ separate REPL interface). Run `mc --help`, `mc <family> --help`, and then
200
+ `mc <family> <subcommand> --help` for exact arguments and nested flags.
201
+
202
+ | Root command/family | Purpose |
203
+ |---------------------|---------|
204
+ | `mc auth` | Login, logout, token, status and refresh |
205
+ | `mc status` | Account and agent status |
206
+ | `mc doctor`, `mc setup` | Health checks and setup wizard |
207
+ | `mc update`, `mc telemetry [action]`, `mc bug [description]` | Updates, telemetry and bug reports |
208
+ | `mc config` | Layered settings, origins and migration |
209
+ | `mc index [path]`, `mc context` | Workspace indexing and semantic retrieval |
210
+ | `mc mcp` | Server configuration, approval, OAuth, browsing and serving tools |
211
+ | `mc import <from>`, `mc plugin` | Import other tools' setups and manage plugins |
212
+ | `mc agents`, `mc team`, `mc worktrees` | Agent dashboard, parallel teams and worktree lifecycle |
213
+ | `mc triggers`, `mc schedule` | Event-driven triggers and scheduled runs |
214
+ | `mc completions <shell>` | Shell completion scripts |
215
+ | `mc sessions` | List, inspect, export, fork, delete and prune saved conversations |
216
+ | `mc jobs` | Background job status, logs, cancellation, retry, diff and pull |
217
+ | `mc cloud` | Persistent remote workspaces (distinct from one-shot jobs) |
218
+ | `mc messages`, `mc join <sessionId>`, `mc share` | Cross-session messages and live collaboration |
219
+ | `mc hooks`, `mc trust` | Lifecycle hooks and execution trust records |
220
+ | `mc models`, `mc usage` | Model catalog/pricing and account or session usage |
221
+ | `mc init`, `mc memory`, `mc rules`, `mc dream` | Project conventions and memory consolidation |
222
+ | `mc review`, `mc bugfind [target]` | Code review and bug scanning |
223
+ | `mc trace`, `mc benchmark` | Execution traces and benchmarks |
224
+ | `mc marketplace`, `mc design` | Skill marketplace and local design artboard |
225
+ | `mc ci` (hidden integration family) | GitHub Actions protocol helpers; used by the action |
226
+
227
+ Root flags also include `--json-schema <file>`, `--append-system-prompt <text>`,
228
+ `--system-prompt-file <file>`, `--settings <fileOrJson>`,
229
+ `--ignore-repo-settings`, `--mcp-config <files...>`, `--strict-mcp-config`,
230
+ `--add-dir <dirs...>` and the resume/fork and stdio permission flags described
231
+ below. MCP config files passed explicitly are trusted for that run;
232
+ `--strict-mcp-config` requires at least one such file. See `mc --help` and
233
+ [headless](../../docs/cli/headless.md),
234
+ [permissions](../../docs/cli/permissions.md) and
235
+ [extensibility](../../docs/cli/extensibility.md) for constraints. Nested commands
236
+ have their own options: for example, `mc sessions export --help` and
237
+ `mc mcp serve --help` describe different output/permission flags than the root.
238
+
196
239
  ## Output Formats
197
240
 
198
241
  | Format | Use Case |
@@ -221,9 +264,20 @@ mc --effort high "find the race condition" # low | medium | high
221
264
 
222
265
  In a session: Shift+Tab cycles `default` → `acceptEdits` → `plan`, `/plan` jumps to plan mode, `/effort high` changes
223
266
  effort from the next request, and `/permissions` lists every effective rule
224
- and the file it came from. Headless runs never prompt. A call that would
225
- prompt is denied and reported in `permissionDenials`. If *only* denials
226
- happened, the exit code is **6**.
267
+ and the file it came from. Print/headless runs are non-interactive: they do
268
+ not open TTY approval dialogs. By default, calls that would ask are denied
269
+ and reported in `permissionDenials`. The explicit exception is
270
+ `mc -p --permission-prompt stdio -o stream-json --input-format stream-json`: a
271
+ protocol client sends user messages on stdin and answers `control_request`
272
+ permission messages with `control_response` messages (not terminal input).
273
+ See the [headless protocol](../../docs/cli/headless.md) for message shapes and timeouts.
274
+ If *only* denials happened, the exit code is **6**.
275
+
276
+ `--auto-approve`, bypass mode and background delegation are not blanket trust:
277
+ explicit deny rules, protected/guarded operations and destructive-command
278
+ checks still apply; these cannot be silently auto-approved. Prefer narrow
279
+ allow rules for CI. Plugins and MCP tools remain subject to trust and
280
+ permission checks, including when invoked by custom commands.
227
281
 
228
282
  The rule syntax, evaluation order and shell-command handling are in
229
283
  [docs/cli/permissions.md](../../docs/cli/permissions.md).
@@ -257,24 +311,152 @@ mc completions pwsh >> $PROFILE
257
311
 
258
312
  ## Slash Commands (REPL)
259
313
 
260
- | Command | Description |
261
- |---------|-------------|
262
- | `/help` | Show all commands |
263
- | `/clear` | Start a fresh conversation (the old one stays resumable); Ctrl+L only clears the screen |
264
- | `/model <name>` | Switch model |
265
- | `/plan` | Switch to plan (read-only) mode; Shift+Tab to cycle back |
266
- | `/effort [low\|medium\|high]` | Show or set reasoning effort |
267
- | `/permissions` | Show rules and their sources; `allow`/`deny`/`ask`/`remove` |
268
- | `/status` | Model, mode, effort, context and cost at a glance |
269
- | `/compact ["focus"]` | Summarise the conversation to free context |
270
- | `/diff` | Show session changes |
271
- | `/undo` | Revert the last turn's file changes |
272
- | `/commit [msg]` | Commit changes |
273
- | `/files` | List touched files |
274
- | `/cost [all]` | Session cost totals plus a per-turn breakdown |
275
- | `/vim` | Toggle Vim keybindings |
276
- | `/cloud` | Hand off to cloud |
277
- | `/context [file]` | Show context usage, or add a file to it |
314
+ The 54 visible built-ins below follow the default registry and its full
315
+ `usageOf(c)` strings. `/help` and the palette reflect the live registry.
316
+
317
+ <!-- BEGIN SLASH COMMANDS -->
318
+ ### Session
319
+
320
+ | Command | Usage | Description |
321
+ |---------|-------|-------------|
322
+ | `/exit` | `/exit` | Exit the REPL |
323
+ | `/clear` | `/clear` | Start a fresh conversation; the old one stays resumable (Ctrl+L only clears the screen) |
324
+ | `/sessions` | `/sessions` | List saved sessions |
325
+ | `/resume` | `/resume [id]` | Resume a saved session |
326
+ | `/vim` | `/vim` | Toggle Vim keybindings in the composer |
327
+ | `/logout` | `/logout` | Sign out and exit |
328
+ | `/copy` | `/copy [n]` | Copy the last reply (or the n-th last) |
329
+ | `/export` | `/export [file]` | Save the conversation as Markdown |
330
+ | `/rewind` | `/rewind` | Roll back conversation and files to an earlier prompt (Esc Esc) |
331
+
332
+ ### Model & Mode
333
+
334
+ | Command | Usage | Description |
335
+ |---------|-------|-------------|
336
+ | `/model` | `/model [id]` | Show or switch the model |
337
+ | `/mode` | `/mode <plan\|fast\|thinking>` | Switch legacy mode; prefer effort for fast/thinking |
338
+ | `/plan` | `/plan` | Research and propose without edits |
339
+ | `/ask` | `/ask` | Read-only Q&A about the codebase |
340
+ | `/effort` | `/effort [low\|medium\|high\|default]` | Show or set reasoning effort |
341
+ | `/output-style` | `/output-style [name] [--save]` | Show or switch output style |
342
+
343
+ ### Context & Stats
344
+
345
+ | Command | Usage | Description |
346
+ |---------|-------|-------------|
347
+ | `/cost` | `/cost [all]` | Session token usage and cost, per turn |
348
+ | `/context` | `/context [file]` | Show context usage or add a file |
349
+ | `/compact` | `/compact ["focus"]` | Compact the conversation to free context |
350
+ | `/status` | `/status` | Model, permissions, effort, MCP and usage |
351
+
352
+ ### Git & Files
353
+
354
+ | Command | Usage | Description |
355
+ |---------|-------|-------------|
356
+ | `/files` | `/files` | List files read and modified this session |
357
+ | `/diff` | `/diff [session\|staged] [--plain]` | Open Diff; --plain prints git diff |
358
+ | `/undo` | `/undo [--force]` | Revert the last turn's file changes; keep conversation |
359
+ | `/redo` | `/redo [--force]` | Re-apply changes reverted by undo |
360
+ | `/commit` | `/commit [message]` | Stage everything and commit |
361
+ | `/review` | `/review [staged\|session\|<path>] [--chat]` | Open Code Review or review in chat |
362
+
363
+ ### Agents & Delegation
364
+
365
+ | Command | Usage | Description |
366
+ |---------|-------|-------------|
367
+ | `/agents` | `/agents [create <name> ["purpose"] \| edit <name> \| run <name> <task>]` | List, create, edit or run custom subagents |
368
+ | `/goal` | `/goal "target" \| /goal status \| /goal cancel` | Autonomous plan → execute → verify loop |
369
+ | `/loop` | `/loop [iterations] "command"` | Iterate until a command passes |
370
+ | `/subtask` | `/subtask "task" \| /subtask status \| /subtask cancel <id>` | Spawn or manage isolated background subtasks |
371
+ | `/fork` | `/fork "task"` | Isolated background task; no conversation inherited |
372
+ | `/delegate` | `/delegate "task 1" "task 2" [...]` | Parallel agents and merged results |
373
+ | `/search` | `/search "query"` | Web search via the agent |
374
+ | `/docs` | `/docs <topic>` | Look up documentation |
375
+
376
+ ### Skills, Hooks & Permissions
377
+
378
+ | Command | Usage | Description |
379
+ |---------|-------|-------------|
380
+ | `/permissions` | `/permissions [show \| allow\|deny\|ask <rule> [--project] \| remove <rule> \| edit]` | Effective rules and origins; add or remove rules |
381
+ | `/add-dir` | `/add-dir <path> [--save]` | Allow another directory this session |
382
+ | `/skill` | `/skill [create <name>]` | List or create skills |
383
+ | `/hooks` | `/hooks [create <name>]` | List or create hooks |
384
+ | `/trust` | `/trust [revoke]` | Review and trust workspace hooks/status line |
385
+ | `/setup` | `/setup [step]` | Setup wizard |
386
+ | `/terminal-setup` | `/terminal-setup` | Configure Shift+Enter and Option-as-Meta |
387
+ | `/shells` | `/shells [id \| kill <id\|all>]` | List, inspect or stop background shells |
388
+ | `/mcp` | `/mcp [tools\|approve\|reconnect\|disable\|enable] [server]` | Inspect/control session MCP servers |
389
+ | `/plugin` | `/plugin [list \| info <name> \| reload \| enable <name> \| disable <name>]` | Inspect and manage plugins |
390
+
391
+ ### Project & Memory
392
+
393
+ | Command | Usage | Description |
394
+ |---------|-------|-------------|
395
+ | `/init` | `/init` | Initialize rules, permissions, skills and hooks |
396
+ | `/memory` | `/memory [show\|add [--user] "rule"\|edit [project\|user\|local]]` | Show memory, add rules or edit a memory file |
397
+
398
+ ### Cloud & Messaging
399
+
400
+ | Command | Usage | Description |
401
+ |---------|-------|-------------|
402
+ | `/cloud` | `/cloud` | Hand current task off to a hosted cloud job |
403
+ | `/message` | `/message <session-id> "text"` | Message another session |
404
+ | `/broadcast` | `/broadcast "text"` | Message all active sessions |
405
+
406
+ ### Info & Help
407
+
408
+ | Command | Usage | Description |
409
+ |---------|-------|-------------|
410
+ | `/bug` | `/bug` | Diagnostic context for a bug report |
411
+ | `/doctor` | `/doctor` | System health check |
412
+ | `/config` | `/config [key [value]]` | Show/change user settings |
413
+ | `/update` | `/update [check]` | Check for or install updates |
414
+ | `/help` | `/help` | Show live help |
415
+
416
+ ### Custom (project, user, plugins, MCP)
417
+
418
+ | Command | Usage | Description |
419
+ |---------|-------|-------------|
420
+ | `/commands` | `/commands [reload]` | List and reload custom commands |
421
+
422
+ **Aliases** — each row maps every registered alias to its canonical command
423
+ (name without the leading slash). Aliases accept the same arguments and are
424
+ not additional built-ins.
425
+
426
+ | Canonical name | Aliases |
427
+ |----------------|---------|
428
+ | `exit` | `/quit`, `/q` |
429
+ | `clear` | `/cls`, `/new` |
430
+ | `resume` | `/continue` |
431
+ | `model` | `/models` |
432
+ | `output-style` | `/style` |
433
+ | `context` | `/ctx` |
434
+ | `subtask` | `/sub` |
435
+ | `delegate` | `/del` |
436
+ | `permissions` | `/allowed-tools` |
437
+ | `skill` | `/skills` |
438
+ | `hooks` | `/hook` |
439
+ | `shells` | `/bashes`, `/bg` |
440
+ | `plugin` | `/plugins` |
441
+ | `bug` | `/feedback` |
442
+ | `config` | `/settings` |
443
+ | `update` | `/upgrade` |
444
+ | `help` | `/h`, `/?` |
445
+ <!-- END SLASH COMMANDS -->
446
+
447
+ Aliases (for example `/h`, `/quit`, `/ctx`, `/models`, `/skills`, `/plugins`)
448
+ resolve to their primary commands, not additional built-ins. Project/user
449
+ Markdown commands, enabled plugins and connected MCP prompts can add dynamic
450
+ entries; `/help` shows their sources and name conflicts (built-ins win).
451
+ Use `/commands reload` after editing command files and `/plugin reload` to
452
+ refresh extensions. Custom command shell expansions and their tool scopes
453
+ remain permission-gated; enabling a plugin does not bypass MCP trust or tool rules.
454
+
455
+ **Two different kinds of fork:** `/fork "task"` starts an isolated background
456
+ task without inheriting conversation history. `mc sessions fork <id>` copies
457
+ a saved conversation to a new id. `mc -r <id> --fork-session` (or
458
+ `mc -c --fork-session`) resumes history in a new session, leaving the original
459
+ untouched; it is not a background task.
278
460
 
279
461
  Type `/` to open the commands menu: it filters as you type and shows 5 rows
280
462
  at a time (↑↓ move, PgUp/PgDn jump, Tab completes, Enter runs the