Skip to content
Surfaces

Terminal

Operate Atoi through its keyboard-first TUI, governed CLI, and product-owned runtime sessions.

The terminal surface has three layers: the Atoi TUI for interactive product work, the atoi CLI for explicit and machine-readable operations, and the product-owned runtime for agent sessions. They share Atoi identities but serve different jobs.

Open the TUI

Run the product TUI from an interactive terminal:

bash
atoi account login
atoi tui

Running atoi without a command also opens the TUI when standard input and output are interactive. The TUI connects through an operator identity and subscribes to Atoi’s operator projection. It covers Home, For you, Automations, Projects, Threads, Tasks, Inbox, Search, Channels, Settings, Skills, and Doctor.

The product shell is keyboard-first. Tab and Shift-Tab move through visible panes, ? or Ctrl-K opens the command palette, and Ctrl-B opens the section drawer. The TUI keeps explicit Connecting, Live, Reconnecting, and Offline states; a cached snapshot may remain visible while connectivity recovers.

Use the CLI for governed operations

The CLI exposes stable commands for account, project, workspace, thread, task, search, inbox, automation, MCP, and diagnostics. Add --json when another tool needs the canonical machine envelope.

bash
atoi project list --json
atoi workspace status --project <project-id> --json
atoi task start \
  --project <project-id> \
  --profile safe \
  --prompt "Audit the current release state" \
  --json
atoi task wait <task-id> --json

The core governed lifecycle is Project → Workspace → Task. A workspace binds project identity to source truth. A task returns Result, Changes, Checks, and Proof. Commands such as task apply and task draft-pr require --confirm and verify the target baseline before mutating or publishing.

Account connection uses browser device authorization. The CLI opens Atoi’s authorization page, displays a device code, and waits for approval. The connection is revocable:

bash
atoi account status --json
atoi account logout

Work with operator sessions

The TUI exchanges the stored operator identity for short-lived session access. Threads and tasks remain product records, so a terminal session can inspect or continue work without importing secret values into its own configuration.

Use atoi thread list, atoi thread get, and atoi thread send for direct conversation operations. Use atoi inbox for approval and decision queues. Use atoi doctor when authentication, configuration, or connectivity is unclear.

Understand the runtime entry

packages/mono is Atoi’s canonical in-repository runtime. It supports interactive, print, JSON, RPC, and cloud-payload modes; session continuation and resume; model and reasoning selection; tools; skills; prompts; and extensions. Its configuration directory is .atoi.

The runtime contract names atoi mono as the operator command:

bash
atoi mono
atoi mono -p "Inspect this repository and summarize the relevant entry points."
atoi mono --continue
atoi mono --resume
<!-- TODO(verify): Confirm the shipped public atoi host dispatches atoi mono. packages/mono declares it as the operator command, while apps/cli/src/main.js does not currently register a mono command. -->

Treat runtime sessions as execution substrate, not a competing product hierarchy. Governed project tasks and their receipts remain the durable handoff back to Atoi.