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 the self-contained release archive on macOS or Linux:ATOMIC_INSTALL_DIR, ATOMIC_BIN_DIR, ATOMIC_VERSION, optional GITHUB_TOKEN/GH_TOKEN, and PATH guidance.
Package installation still requires Node.js. With npm, pnpm, or Bun:
--ignore-scripts if you want to disable dependency lifecycle scripts during a package install.
Alpine and musl Linux archives
The shell installer detects Alpine and selectsatomic-linux-x64-musl.tar.gz or atomic-linux-arm64-musl.tar.gz. Each archive includes its matching native search and PTY bindings plus payload-local libgcc and libstdc++ runtimes. It runs on stock Alpine without installing runtime packages.
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:
/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
- SDK - embed Atomic in Node.js applications.
- RPC mode - integrate over stdin/stdout JSONL.
- JSON event stream mode - print mode with structured events.
- TUI components - build custom terminal UI for extensions.
Reference
- Session format - JSONL session file format, entry types, and SessionManager API.
Platform setup
Development
- Development - local setup, project structure, and debugging.