Skip to main content

Installing Agent Integrations

Atomic agent integrations live in small, agent-specific packages. Each package adapts one AI coding tool to Atomic's shared provenance and attestation pipeline:

  • Start or resume an agent session
  • Create an isolated draft view for the session or task
  • Capture prompts, tool calls, edits, commands, and model metadata
  • Record changes automatically with AI provenance
  • Create session attestations that summarize model usage, cost, timing, and covered changes

You install any of them with a single command:

atomic agent enable --agent <name>

enable fetches the integration package from Atomic storage, installs its files, hooks, and skills into the right places, and records a receipt so it can be cleanly removed later. There is nothing to clone, no npm/npx, and no shell script to run.

note

The storage-based install flow described here is available as of Atomic 0.12.0. On earlier releases, atomic agent enable only wired up built-in adapter hooks; integration packages were installed by cloning the repo and running ./install.sh. Run atomic --version to check.

Before You Start

You need:

  1. The Atomic CLI installed and available on your PATH.
  2. An Atomic repository in the project you want the agent to work on.
  3. The agent or editor you want to integrate.
atomic --version
cd my-project
atomic init

If the project already has .atomic/, do not initialize it again.

tip

The integrations handle recording for you. During an agent session, do not run atomic add or atomic record manually unless you intentionally want to step outside the automated workflow.

Quick Start

cd my-project
atomic init

# Install the integration for your agent
atomic agent enable --agent opencode

# Or let Atomic detect the agent from directories like .claude/ or .cursor/
atomic agent enable

# Start the agent normally — recording is automatic in any Atomic repo
opencode

Re-running enable is safe: files you have not modified are refreshed, and files you edited are left untouched. Use --force to overwrite everything with the latest package contents.

How Installation Works

atomic agent enable --agent <name> runs entirely in Rust and never executes anything from the package — no postinstall, no shell scripts:

atomic agent enable --agent opencode
1. registry (embedded, curated) → opencode = Atomic storage URL + view
2. atomic clone → ~/.atomic/integrations/opencode/repo
3. read atomic-integration.toml → check the package's required CLI version
4. copy files (never symlinks) → merge settings via the manifest engine
5. write receipt.json → clean uninstall + user-file protection
  • Curated registry. The Atomic CLI ships an embedded list mapping each agent to the public Atomic storage project that hosts its package. The packages are ordinary Atomic repositories — Atomic dogfoods its own sync protocol to pull them.
  • First run clones, later runs reuse the cache. After the first enable, the package is cached under ~/.atomic/integrations/<agent>/repo, so re-running works offline. --force refreshes the cache.
  • Version gate. Each package declares the CLI version it needs (requires.atomic). If your CLI is too old, enable stops with a clear message instead of installing something incompatible.
  • User-file protection. The receipt records every file Atomic installed (by hash). On reinstall, a destination you modified — or one Atomic did not install — is skipped unless you pass --force. On disable, only files that still match the receipt are removed; anything you edited is kept.
  • Nothing is executed. Files are copied and JSON settings are merged with Atomic's manifest engine. This is Windows-safe and needs no git, bash, node, or bun at install time.

Integration Matrix

Every integration installs the same way — atomic agent enable --agent <name>. The source column links to the package's GitHub mirror (the canonical copy lives on Atomic storage).

IntegrationAgentEnableSource
atomic-agyAntigravity CLI (agy)atomic agent enable --agent agyhttps://github.com/atomicdotdev/atomic-agy
atomic-claudeClaude Codeatomic agent enable --agent claude-codehttps://github.com/atomicdotdev/atomic-claude
atomic-clineClineatomic agent enable --agent clinehttps://github.com/atomicdotdev/atomic-cline
atomic-codexCodexatomic agent enable --agent codexhttps://github.com/atomicdotdev/atomic-codex
atomic-copilotGitHub Copilotatomic agent enable --agent copilothttps://github.com/atomicdotdev/atomic-copilot
atomic-cursorCursoratomic agent enable --agent cursorhttps://github.com/atomicdotdev/atomic-cursor
atomic-devinDevinatomic agent enable --agent devinhttps://github.com/atomicdotdev/atomic-devin
atomic-grokGrok Buildatomic agent enable --agent grokhttps://github.com/atomicdotdev/atomic-grok
atomic-kiloKilo Codeatomic agent enable --agent kilohttps://github.com/atomicdotdev/atomic-kilo
atomic-kiroKiroatomic agent enable --agent kirohttps://github.com/atomicdotdev/atomic-kiro
atomic-opencodeOpenCodeatomic agent enable --agent opencodehttps://github.com/atomicdotdev/atomic-opencode
atomic-piPiatomic agent enable --agent pihttps://github.com/atomicdotdev/atomic-pi

Per-Agent Notes

The install command is identical for every agent. The notes below cover only the agent-specific behavior worth knowing.

Antigravity CLI

atomic agent enable --agent agy
agy

Installs the Atomic plugin (hooks plus the atomic-vault, atomic-vcs, and code-intelligence skills) via agy's plugin mechanism, and writes the standard instruction content into the project's AGENTS.md as a managed section (refreshed on rerun, removed by disable). agy fires hooks on PreInvocation, Stop, and PostToolUse; turns record when the agent goes idle. agy hook payloads do not include the user prompt, model name, or token usage, so attestations start sparse and can be enriched from the transcript later.

Claude Code

atomic agent enable --agent claude-code
claude

In a repo that already has a .claude/ directory, plain atomic agent enable auto-detects Claude Code, so the --agent flag is optional. The integration installs Atomic's hooks and skills; atomic agent explain --save appends learnings to CLAUDE.md.

Codex

atomic agent enable --agent codex
codex

Codex hook support is currently experimental, so shell-command provenance may be richer than edit-tool provenance until Codex publishes complete hook events.

Cline

atomic agent enable --agent cline

After installing, open Cline's Hooks tab in VS Code and enable the Atomic hooks — this is an IDE action Atomic cannot perform for you. Cline records at task boundaries: one task creates one draft view, and task completion records the task's changes with provenance.

GitHub Copilot

atomic agent enable --agent copilot

For the Copilot cloud agent, the hook manifest must be present on the repository's default branch before the cloud agent starts. Record and push the installed files using your normal repository workflow. Copilot currently records one change per session because its hook lifecycle does not expose a turn-level stop event.

Cursor

atomic agent enable --agent cursor
# then open the project in Cursor

Cursor hooks call into Atomic on session lifecycle events, tool usage, and reasoning blocks. The installed rule file tells Cursor to follow the Atomic intent workflow inside the project.

Devin

atomic agent enable --agent devin

Installs Devin's instruction and hook wiring so sessions record with provenance.

Grok Build

atomic agent enable --agent grok
grok

Installs global hooks under ~/.grok/hooks/, home rules at ~/.grok/rules/atomic.md, and the three core skills into ~/.grok/skills/. Global hooks are always trusted by Grok, so no project /hooks-trust step is required. Grok fires SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop, and SessionEnd — the full six-event lifecycle. Requires Atomic CLI >= 0.12.0.

Kilo Code

atomic agent enable --agent kilo

Installs Kilo's rules and agent files. Kilo Code reads its configuration from the project's .kilo/ directory.

Kiro

atomic agent enable --agent kiro

Installs the Kiro integration (skills, steering, and hook scripts). Then configure hooks in the Kiro IDE, under Agent Steering & Skills — the hook wiring itself is done from the IDE panel.

OpenCode

atomic agent enable --agent opencode
opencode

Installs the OpenCode plugin, the Atomic agent prompt, and skills, and registers the plugin in your OpenCode config without clobbering existing settings. In OpenCode, switch to the Atomic agent. OpenCode records on session idle / turn end.

Pi

atomic agent enable --agent pi
pi

Registers the Atomic extension, an Atomic agent prompt, and skills. The Atomic agent activates in Atomic repositories and follows the intent-per-turn workflow.

Installing from a Local Checkout

For developing an integration package, or for air-gapped installs, point enable at a local package directory with --from. This installs exactly what the storage path would, per the package's atomic-integration.toml, with no network access:

# Working on a local clone of atomic-opencode
atomic agent enable --agent opencode --from /path/to/atomic-opencode

--from replaces the old ./install.sh development loop.

Verify the Integration

After the agent makes changes, use Atomic to inspect what happened:

atomic agent status --verbose
atomic log
atomic agent attest

For a specific change:

atomic change -p <hash>
atomic change -a <hash>

atomic change -p shows the causal provenance graph. atomic change -a shows inline AI attestation data such as model, provider, tokens, and cost when the agent reports usage metrics.

What Gets Introduced into the Project

Atomic integrations generally introduce two kinds of files:

File typeScopePurpose
Hooks, plugins, or extensionsUser-level agent config (except Copilot cloud hooks, which live in the repo)Invoke atomic agent hooks <agent> <verb> on agent lifecycle events
Instructions, rules, or promptsWhere the agent discovers guidance (project root, agent config, or a managed AGENTS.md section)Tell the agent to create intents, define success criteria, use Atomic code intelligence, and avoid manual recording

Everything Atomic installs is listed in the receipt at ~/.atomic/integrations/<agent>/receipt.json. The actual provenance artifacts live in .atomic/ after the agent works — they are content-addressed records created by Atomic, not static setup files.

Removing an Integration

disable removes what enable installed, guided by the receipt. Files you modified after install are kept and reported; hook commands are stripped from shared settings files while your own hooks are preserved.

atomic agent disable --agent opencode

# Remove every integration that has a receipt
atomic agent disable --all
IntegrationUninstall
atomic-agyatomic agent disable --agent agy
atomic-claudeatomic agent disable --agent claude-code
atomic-clineatomic agent disable --agent cline, then disable the hooks in Cline's VS Code Hooks tab
atomic-codexatomic agent disable --agent codex
atomic-copilotatomic agent disable --agent copilot, then remove the repo-local files from your default branch if they were added only for Copilot
atomic-cursoratomic agent disable --agent cursor
atomic-devinatomic agent disable --agent devin
atomic-grokatomic agent disable --agent grok
atomic-kiloatomic agent disable --agent kilo
atomic-kiroatomic agent disable --agent kiro, then remove hooks from the Kiro IDE panel
atomic-opencodeatomic agent disable --agent opencode
atomic-piatomic agent disable --agent pi

Removing hooks stops future automatic recording. Existing Atomic changes, provenance graphs, and attestations remain in the repository history.

See Also