Skip to content

Latest commit

 

History

History
91 lines (73 loc) · 5.27 KB

cli-experience.md

File metadata and controls

91 lines (73 loc) · 5.27 KB

CLI experience and compatibility

The terminal has four distinct concepts: the engagement workspace, the selected Plan/Red/Blue conversation, the current run state, and independent Blue monitoring. Red is the default conversation; scope readiness and approval remain execution requirements. Switching conversation does not turn off Blue collection.

Interaction design references

The command picker, composer, session and monitoring changes use the following public interaction references:

The implementation retains React/Ink and the Go Charm launcher. React Bits was evaluated as a web component reference; it is not a terminal renderer dependency. No browser animation library is required for the CLI.

Default keyboard policy (reference review: 2026-10-20)

Reviewed the official Claude Code editing reference, Claude keybindings, Codex interactive commands, and Gemini keyboard reference. Local reference binaries reported Claude Code 2.1.303 and Codex 0.163.0; this does not assert that local custom keymaps or terminal settings are their defaults.

Input task Decepticon default and reference
Send / multiline Enter sends; Shift+Enter, Alt+Enter, Ctrl+J or backslash-Enter inserts a line (Claude)
Navigation Arrow keys and Home/End work directly; Ctrl+A/E remain line-navigation aliases (Claude/Gemini)
History / discovery Up/Down, Ctrl+R, slash completion, Tab acceptance (Claude/Codex)
Word editing Ctrl+arrows and Alt+B/F; modified Backspace/Delete and Alt+D (Claude/Gemini)
Recover edits Ctrl+Y pastes the last cut; Ctrl+_ undoes an input edit (Claude)
Help / model Empty ? shows help; Alt+P opens the configured model picker (Claude)
Interrupt Esc pauses active work after dismissing focused UI; queued messages survive
Exit Empty idle Ctrl+D requires two presses; text retains forward-delete behavior (Claude)

Ctrl+A follows terminal line editing rather than GUI Select All. The visible footer leads with arrows and Shift+Enter, and ? and /help share one shortcut list. Unicode word navigation preserves dictionary segmentation while splitting path punctuation; Ctrl+W removes a whole whitespace-delimited token.

Where products differ, Decepticon follows Claude's Ctrl+O transcript behavior; Codex's current documentation assigns it to copying a response. Decepticon also retains its existing checkpoint pause/resume and explicit second-Ctrl+C hard cancel. Esc uses the existing checkpoint-preserving interrupt operation. These bindings do not change scope, authorize an attack, map permission modes to Red/Blue, or implement conversation rewind. Native terminal selection and terminal-owned clipboard shortcuts continue to belong to the terminal.

Ink 6.8.0 supplies the existing renderer and enhanced-key negotiation. No new input framework is added. Portable newline fallbacks remain available when a terminal cannot distinguish modifiers.

Upgrade behavior

The keyboard and slash command changes are merged into main and tracked under Unreleased in version history. They require a launcher/CLI image and, where applicable, Compose configuration containing the changes. Existing released images do not acquire the features simply because the source branch has changed. No release version is assigned here.

The CLI Compose service mounts the selected engagement at /workspace, consistent with the agent workspace. Drafts, prompt history and Blue cursors prefer the persisted DECEPTICON_HOME mount, with DECEPTICON_STATE_DIR as an explicit override. Existing database and engagement volumes do not need resetting.

Old conversations without engagement metadata are kept and discoverable using /sessions legacy. Explicitly link them to the correct engagement before resuming; checkpoint scope conflicts are rejected. The new metadata does not move files or change the underlying target authorization.

Blue summaries are compact by default. /alerts opens recent structured notices, and /alerts <incident-id> shows the complete retained investigation. Up to 500 notices are retained in the current UI process. The monitor remains the durable incident store. The persisted cursor avoids replaying every previously seen alert on re-entry. It is distinct from whether the user has reviewed an incident.

Leaving the CLI keeps services running. decepticon stop is the explicit host command for shutdown. /status and read-only decepticon doctor --json expose connection state without changing it.

See the CLI reference for commands and keyboard controls.