Skip to main content

Atomic Documentation

Atomic is the loop engine for all engineering work: a terminal coding-agent runtime for reliable, inspectable engineering loops. It stays small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, workflows, subagents, MCP, web access, and Atomic packages.

Quick start

Install Atomic globally with npm, pnpm, or Bun: With npm:
With pnpm:
With Bun:
Atomic does not require package install scripts. If you want to disable dependency lifecycle scripts during the Atomic install, you can add --ignore-scripts to the install command. Or download an atomic-* archive from the Atomic GitHub Release for your platform.

Alpine and musl Linux archives

Alpine Linux x64 and arm64 users can download atomic-linux-x64-musl.tar.gz or atomic-linux-arm64-musl.tar.gz. These archives include native search and PTY bindings. Install the required runtime libraries before running an archive:
The musl archives deliberately omit a clipboard native binding because @mariozechner/clipboard 0.3.9 publishes metadata-only musl stubs without a .node payload; Atomic uses Linux clipboard commands and OSC52 fallback instead. They also omit @embedded-postgres/* binary packages because those packages are glibc-linked. Durable workflows on Alpine therefore require external Postgres via DBOS_SYSTEM_DATABASE_URL or Docker; without a durable backend, Atomic uses a loud non-durable in-memory fallback. Then run it in a project directory:
Authenticate with /login for subscription providers, or set an API key such as ANTHROPIC_API_KEY before starting Atomic. For the full first-run flow, see Quickstart.

Start here

  • Quickstart - install, authenticate, and run a first session.
  • Using Atomic - interactive mode, slash commands, context files, and CLI reference.
  • Providers - subscription and API-key setup for built-in providers.
  • Environment variables - Atomic/Pi aliases, provider credentials, and bash session metadata.
  • Security - project trust, sandbox boundaries, and vulnerability reporting.
  • Containerization - sandbox Atomic with OpenShell, Gondolin, or Docker.
  • Settings - global and project settings.
  • Keybindings - default shortcuts and custom keybindings.
  • Sessions - session management, branching, and tree navigation.
  • Compaction - Verbatim Compaction, context management, and branch summarization.

Customization

  • Extensions - TypeScript modules for tools, commands, events, and custom UI.
  • Skills - Agent Skills for reusable on-demand capabilities.
  • Subagents - focused child agents for research, analysis, debugging, cleanup, and review compositions.
  • Workflows - executable engineering loops with tracked stages, artifacts, gates, and resumable runs.
  • Prompt templates - reusable prompts that expand from slash commands.
  • Themes - built-in and custom terminal themes.
  • Atomic packages - bundle and share extensions, skills, prompts, and themes.
  • Custom models - add model entries for supported provider APIs.
  • Custom providers - implement custom APIs and OAuth flows.

Programmatic usage

Reference

  • Session format - JSONL session file format, entry types, and SessionManager API.

Platform setup

Development

  • Development - local setup, project structure, and debugging.