Split flat docs/ into user-docs/ (guides, config, troubleshooting) and dev/ (ADRs, architecture, extension guides, proposals). Updated docs/README.md index to reflect new paths.
21 lines
629 B
Markdown
21 lines
629 B
Markdown
# Mode Behavior
|
|
|
|
|
|
| Mode | UI Methods | Notes |
|
|
|------|-----------|-------|
|
|
| **Interactive** (default) | Full TUI | Normal operation |
|
|
| **RPC** (`--mode rpc`) | JSON protocol | Host handles UI, dialogs work via sub-protocol |
|
|
| **JSON** (`--mode json`) | No-op | Event stream to stdout |
|
|
| **Print** (`-p`) | No-op | Extensions run but can't prompt users |
|
|
|
|
**Always check `ctx.hasUI`** before calling dialog methods in extensions that might run in non-interactive modes:
|
|
|
|
```typescript
|
|
if (ctx.hasUI) {
|
|
const ok = await ctx.ui.confirm("Delete?", "Sure?");
|
|
} else {
|
|
// Default behavior for non-interactive mode
|
|
}
|
|
```
|
|
|
|
---
|