singularity-forge/docs/dev/extending-pi/20-mode-behavior.md
Jeremy 872b0adb48 docs: reorganize into user-docs/ and dev/ subdirectories
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.
2026-04-10 09:25:31 -05:00

629 B

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:

if (ctx.hasUI) {
  const ok = await ctx.ui.confirm("Delete?", "Sure?");
} else {
  // Default behavior for non-interactive mode
}