Skip to content
Developers

CLI

Install and authorize the Atoi CLI, launch the product TUI, and operate projects, workspaces, and tasks.

The Atoi CLI is the authenticated command-line surface for product resources. It can list projects, inspect workspace bindings, start durable tasks, review changes, and launch the product TUI.

Install the CLI

The published package currently declares Node.js 22 or newer. The installer uses npm, pnpm, or Bun when available and installs @creative-int/atoi-cli from GitHub Packages. Set NPM_TOKEN in the environment before running it; the installer uses a temporary restricted npm configuration and does not rewrite your user configuration.

bash
curl -fsSL https://atoi.app/install.sh | bash

Confirm that the executable is available:

bash
atoi --help

Authorize an operator

Start the device authorization flow:

bash
atoi account login

The CLI displays a device code and opens Atoi's /cli/authorize page. Sign in, verify that the browser code matches the terminal, and choose Connect CLI. Atoi creates a revocable operator identity; the CLI stores its credential in the system keychain when available, with a protected file fallback.

Check or remove the active identity with:

bash
atoi account status --json
atoi account logout

Authenticated requests exchange that operator identity for a short-lived session. atoi account session --json is an internal machine-readable command used for that exchange. Its output contains a bearer credential; do not paste it into logs, shell history, or client configuration.

Operate projects and tasks

These invocations are part of the shipped command surface:

bash
atoi project list --json
atoi workspace show --project <project-id> --json
atoi task start --project <project-id> --profile safe --prompt "Audit the repository state"
atoi task wait <task-id> --json
atoi task changes <task-id>
atoi task apply <task-id> --confirm

Inspect the change set before applying it. --confirm is required for apply and other consequential task actions; it is not a global bypass for later approvals.

Launch the product TUI

The CLI launches the interactive TUI with:

bash
atoi tui

The launcher requires an interactive terminal and an available atoi-tui binary. In a repository checkout, build that binary before launching:

bash
pnpm tui:build
atoi tui

The TUI is a product client for Atoi projects and tasks. It does not expose a separate top-level Code product.

Understand the embedded runtime

Durable implementation is executed by the repo-embedded runtime in packages/mono. Its runtime identity is atoi-mono, and its configuration directory is .atoi. /code/bridge/* is the runtime HTTP API namespace, not a user-facing /code page.

The repository architecture names atoi mono as the owner command, but the currently shipped product CLI rejects the mono subcommand. Runtime contributors can build and inspect the embedded entry point directly:

bash
pnpm -C packages/mono build
node packages/mono/dist/cli.js --help
<!-- TODO(verify): Reconcile the root AGENTS.md owner command `atoi mono` with the shipped product CLI, which currently rejects the `mono` subcommand. -->