Skip to content

Quickstart


Install the CLI, sign in, check the bridge, and run one task with proof.

Ten minutes from an empty terminal to a task with a receipt. Your credential stays out of every client and plugin config.

#Install

Node.js 22 or newer.

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

The installer downloads the CLI as a tarball from atoi.app, picks a supported package manager, and installs it. It needs no token and no account. Read the script first if your environment requires it; the installer environment lists every override, including a registry channel for operators who hold a GitHub Packages token.

#Sign in

bash
atoi account login
atoi account status --json

A browser opens with a device code. Confirm it matches. The CLI stores a revocable operator credential locally, in macOS Keychain when available and otherwise in a 0600 secrets file, and sends it with ordinary CLI and MCP calls.

#Check the bridge

bash
atoi status --json
atoi doctor --json
atoi mcp status --probe --json

Three separate answers: the binary works, the backend answers, the MCP bridge is reachable and mounts the required tools.

#Pick a project

bash
atoi project list --json
atoi project status <project-id> --json

Reuse a project whose source matches. Create one only when nothing fits:

bash
atoi project create --name "My app" --repo owner/repository --branch main --json

#Run a task

bash
atoi task start \
  --project <project-id> \
  --profile safe \
  --place cloud \
  --prompt "Audit the current release state and return evidence." \
  --json

atoi task wait <task-id> --json
atoi task changes <task-id> --json

safe reads and reports. A write profile can prepare changes, but applying, publishing, and other permanent steps still ask.

#Point a coding client at Atoi

bash
atoi mcp config --client codex

The output launches atoi mcp serve and contains no token. See MCP and plugins for the other clients.

#Done when

Account status is connected, the bridge answers, the project's source is the one you meant, and the task returns a state plus result, changes, checks, and proof.

Continue with the CLI reference for every command and flag.

Was this useful?