@bastani/atomic 0.5.0-1 → 0.5.0-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.atomic/workflows/hello/claude/index.ts +44 -0
- package/.atomic/workflows/hello/copilot/index.ts +58 -0
- package/.atomic/workflows/hello/opencode/index.ts +58 -0
- package/.atomic/workflows/hello-parallel/claude/index.ts +76 -0
- package/.atomic/workflows/hello-parallel/copilot/index.ts +105 -0
- package/.atomic/workflows/hello-parallel/opencode/index.ts +115 -0
- package/.atomic/workflows/package-lock.json +31 -0
- package/.atomic/workflows/package.json +8 -0
- package/.atomic/workflows/ralph/claude/index.ts +149 -0
- package/.atomic/workflows/ralph/copilot/index.ts +162 -0
- package/.atomic/workflows/ralph/helpers/git.ts +34 -0
- package/.atomic/workflows/ralph/helpers/prompts.ts +538 -0
- package/.atomic/workflows/ralph/helpers/review.ts +32 -0
- package/.atomic/workflows/ralph/opencode/index.ts +164 -0
- package/.atomic/workflows/tsconfig.json +22 -0
- package/.claude/agents/code-simplifier.md +52 -0
- package/.claude/agents/codebase-analyzer.md +166 -0
- package/.claude/agents/codebase-locator.md +122 -0
- package/.claude/agents/codebase-online-researcher.md +148 -0
- package/.claude/agents/codebase-pattern-finder.md +247 -0
- package/.claude/agents/codebase-research-analyzer.md +179 -0
- package/.claude/agents/codebase-research-locator.md +145 -0
- package/.claude/agents/debugger.md +91 -0
- package/.claude/agents/orchestrator.md +19 -0
- package/.claude/agents/planner.md +106 -0
- package/.claude/agents/reviewer.md +97 -0
- package/.claude/agents/worker.md +165 -0
- package/.github/agents/code-simplifier.md +52 -0
- package/.github/agents/codebase-analyzer.md +166 -0
- package/.github/agents/codebase-locator.md +122 -0
- package/.github/agents/codebase-online-researcher.md +146 -0
- package/.github/agents/codebase-pattern-finder.md +247 -0
- package/.github/agents/codebase-research-analyzer.md +179 -0
- package/.github/agents/codebase-research-locator.md +145 -0
- package/.github/agents/debugger.md +98 -0
- package/.github/agents/orchestrator.md +27 -0
- package/.github/agents/planner.md +131 -0
- package/.github/agents/reviewer.md +94 -0
- package/.github/agents/worker.md +237 -0
- package/.github/lsp.json +93 -0
- package/.opencode/agents/code-simplifier.md +62 -0
- package/.opencode/agents/codebase-analyzer.md +171 -0
- package/.opencode/agents/codebase-locator.md +127 -0
- package/.opencode/agents/codebase-online-researcher.md +152 -0
- package/.opencode/agents/codebase-pattern-finder.md +252 -0
- package/.opencode/agents/codebase-research-analyzer.md +183 -0
- package/.opencode/agents/codebase-research-locator.md +149 -0
- package/.opencode/agents/debugger.md +99 -0
- package/.opencode/agents/orchestrator.md +27 -0
- package/.opencode/agents/planner.md +146 -0
- package/.opencode/agents/reviewer.md +102 -0
- package/.opencode/agents/worker.md +165 -0
- package/README.md +355 -299
- package/assets/settings.schema.json +0 -5
- package/package.json +9 -3
- package/src/cli.ts +16 -8
- package/src/commands/cli/workflow.ts +209 -15
- package/src/lib/spawn.ts +106 -31
- package/src/sdk/runtime/loader.ts +1 -1
- package/src/services/config/config-path.ts +1 -1
- package/src/services/config/settings.ts +0 -9
- package/src/services/system/agents.ts +94 -0
- package/src/services/system/auto-sync.ts +131 -0
- package/src/services/system/install-ui.ts +158 -0
- package/src/services/system/skills.ts +26 -17
- package/src/services/system/workflows.ts +105 -0
- package/src/theme/colors.ts +2 -0
- package/tsconfig.json +34 -0
- package/src/commands/cli/update.ts +0 -46
- package/src/services/system/download.ts +0 -325
package/README.md
CHANGED
|
@@ -17,27 +17,48 @@ Atomic is an open-source **multi-agent harness** that orchestrates **Claude Code
|
|
|
17
17
|
|
|
18
18
|
## Table of Contents
|
|
19
19
|
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- [
|
|
29
|
-
- [
|
|
30
|
-
|
|
31
|
-
- [
|
|
32
|
-
- [
|
|
33
|
-
- [
|
|
34
|
-
- [
|
|
35
|
-
- [
|
|
36
|
-
- [
|
|
37
|
-
- [
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
40
|
-
- [
|
|
20
|
+
- [Atomic](#atomic)
|
|
21
|
+
- [Table of Contents](#table-of-contents)
|
|
22
|
+
- [Quick Start](#quick-start)
|
|
23
|
+
- [Prerequisites](#prerequisites)
|
|
24
|
+
- [1. Install](#1-install)
|
|
25
|
+
- [2. Initialize Your Project](#2-initialize-your-project)
|
|
26
|
+
- [3. Generate Context Files](#3-generate-context-files)
|
|
27
|
+
- [4. Ship Features](#4-ship-features)
|
|
28
|
+
- [Video Overview](#video-overview)
|
|
29
|
+
- [Core Features](#core-features)
|
|
30
|
+
- [Multi-Agent SDK Support](#multi-agent-sdk-support)
|
|
31
|
+
- [Workflow SDK — Build Your Own Harness](#workflow-sdk--build-your-own-harness)
|
|
32
|
+
- [Builder API](#builder-api)
|
|
33
|
+
- [Session Context (`ctx`)](#session-context-ctx)
|
|
34
|
+
- [Saving Transcripts](#saving-transcripts)
|
|
35
|
+
- [Provider Helpers](#provider-helpers)
|
|
36
|
+
- [Key Rules](#key-rules)
|
|
37
|
+
- [Deep Codebase Research](#deep-codebase-research)
|
|
38
|
+
- [Autonomous Execution (Ralph)](#autonomous-execution-ralph)
|
|
39
|
+
- [Containerized Execution](#containerized-execution)
|
|
40
|
+
- [Specialized Sub-Agents](#specialized-sub-agents)
|
|
41
|
+
- [Built-in Skills](#built-in-skills)
|
|
42
|
+
- [Workflow Orchestrator Panel](#workflow-orchestrator-panel)
|
|
43
|
+
- [Architecture](#architecture)
|
|
44
|
+
- [Why Research → Plan → Implement → Verify Works](#why-research--plan--implement--verify-works)
|
|
45
|
+
- [Commands Reference](#commands-reference)
|
|
46
|
+
- [CLI Commands](#cli-commands)
|
|
47
|
+
- [`atomic chat` Flags](#atomic-chat-flags)
|
|
48
|
+
- [`atomic workflow` Flags](#atomic-workflow-flags)
|
|
49
|
+
- [Atomic-Provided Skills (invokable from any agent chat)](#atomic-provided-skills-invokable-from-any-agent-chat)
|
|
50
|
+
- [Configuration](#configuration)
|
|
51
|
+
- [`.atomic/settings.json`](#atomicsettingsjson)
|
|
52
|
+
- [Agent-Specific Files](#agent-specific-files)
|
|
53
|
+
- [Installation Options](#installation-options)
|
|
54
|
+
- [Updating \& Uninstalling](#updating--uninstalling)
|
|
55
|
+
- [Update](#update)
|
|
56
|
+
- [Uninstall](#uninstall)
|
|
57
|
+
- [Troubleshooting](#troubleshooting)
|
|
58
|
+
- [FAQ](#faq)
|
|
59
|
+
- [Contributing](#contributing)
|
|
60
|
+
- [License](#license)
|
|
61
|
+
- [Credits](#credits)
|
|
41
62
|
|
|
42
63
|
---
|
|
43
64
|
|
|
@@ -53,10 +74,12 @@ Atomic is an open-source **multi-agent harness** that orchestrates **Claude Code
|
|
|
53
74
|
|
|
54
75
|
### 1. Install
|
|
55
76
|
|
|
56
|
-
|
|
77
|
+
Atomic is distributed as a single npm package that exposes both the CLI binary and the Workflow SDK. You have three install paths depending on your environment.
|
|
78
|
+
|
|
79
|
+
**Option A — Devcontainer (recommended for safe autonomous execution):**
|
|
57
80
|
|
|
58
81
|
> [!TIP]
|
|
59
|
-
> Devcontainers isolate the coding agent from your host system, reducing the risk of destructive actions like unintended file deletions or misapplied shell commands. This
|
|
82
|
+
> Devcontainers isolate the coding agent from your host system, reducing the risk of destructive actions like unintended file deletions or misapplied shell commands. This is the safest way to run Atomic, especially for multi-hour autonomous sessions with Ralph.
|
|
60
83
|
>
|
|
61
84
|
> Use the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) for VS Code or [DevPod](https://devpod.sh) to spawn and manage your devcontainers.
|
|
62
85
|
|
|
@@ -78,15 +101,29 @@ your-project/
|
|
|
78
101
|
}
|
|
79
102
|
```
|
|
80
103
|
|
|
81
|
-
| Feature
|
|
82
|
-
|
|
83
|
-
| Atomic + Claude Code | `ghcr.io/flora131/atomic/claude:1`
|
|
84
|
-
| Atomic + OpenCode
|
|
85
|
-
| Atomic + Copilot CLI | `ghcr.io/flora131/atomic/copilot:1`
|
|
104
|
+
| Feature | Reference | Agent |
|
|
105
|
+
| -------------------- | ------------------------------------ | ---------------------------------------------------- |
|
|
106
|
+
| Atomic + Claude Code | `ghcr.io/flora131/atomic/claude:1` | [Claude Code](https://claude.ai) |
|
|
107
|
+
| Atomic + OpenCode | `ghcr.io/flora131/atomic/opencode:1` | [OpenCode](https://opencode.ai) |
|
|
108
|
+
| Atomic + Copilot CLI | `ghcr.io/flora131/atomic/copilot:1` | [Copilot CLI](https://github.com/github/copilot-cli) |
|
|
109
|
+
|
|
110
|
+
Each feature installs the Atomic CLI from npm, all shared dependencies (bun, playwright-cli), agent-specific configurations (agents, skills), and the agent CLI itself. Features are versioned in sync with Atomic CLI releases.
|
|
111
|
+
|
|
112
|
+
**Option B — Bun global install (simplest for local use):**
|
|
113
|
+
|
|
114
|
+
If you already have [Bun](https://bun.sh) installed, a single command is enough:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
bun install -g @bastani/atomic
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
This installs the `atomic` binary on your PATH. `bun update -g @bastani/atomic` upgrades to the latest release.
|
|
121
|
+
|
|
122
|
+
**Option C — Bootstrap script (installs bun + atomic in one step):**
|
|
86
123
|
|
|
87
|
-
|
|
124
|
+
For machines without Bun, the bootstrap scripts install Node (via fnm), Bun, and Atomic together:
|
|
88
125
|
|
|
89
|
-
|
|
126
|
+
macOS / Linux:
|
|
90
127
|
|
|
91
128
|
```bash
|
|
92
129
|
curl -fsSL https://raw.githubusercontent.com/flora131/atomic/main/install.sh | bash
|
|
@@ -94,7 +131,7 @@ curl -fsSL https://raw.githubusercontent.com/flora131/atomic/main/install.sh | b
|
|
|
94
131
|
wget -qO- https://raw.githubusercontent.com/flora131/atomic/main/install.sh | bash
|
|
95
132
|
```
|
|
96
133
|
|
|
97
|
-
|
|
134
|
+
Windows PowerShell 7+:
|
|
98
135
|
|
|
99
136
|
```powershell
|
|
100
137
|
irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1 | iex
|
|
@@ -173,17 +210,17 @@ Use the debugging agent to create a debugging report for [error message]
|
|
|
173
210
|
|
|
174
211
|
Atomic is the only harness that unifies **three production agent SDKs** behind a single interface. Switch between agents with a flag — your workflows, skills, and sub-agents work across all of them.
|
|
175
212
|
|
|
176
|
-
| Agent
|
|
177
|
-
|
|
|
178
|
-
| Claude Code
|
|
179
|
-
| OpenCode
|
|
180
|
-
| GitHub Copilot CLI | `@github/copilot-sdk`
|
|
213
|
+
| Agent | SDK | Command |
|
|
214
|
+
| ------------------ | -------------------------------- | ------------------------- |
|
|
215
|
+
| Claude Code | `@anthropic-ai/claude-agent-sdk` | `atomic chat -a claude` |
|
|
216
|
+
| OpenCode | `@opencode-ai/sdk` | `atomic chat -a opencode` |
|
|
217
|
+
| GitHub Copilot CLI | `@github/copilot-sdk` | `atomic chat -a copilot` |
|
|
181
218
|
|
|
182
219
|
Each agent gets its own configuration directory (`.claude/`, `.opencode/`, `.github/`), skills, and context files — all managed by Atomic. Write a workflow once, run it on any agent.
|
|
183
220
|
|
|
184
221
|
### Workflow SDK — Build Your Own Harness
|
|
185
222
|
|
|
186
|
-
Every team has a process — triage bugs this way, ship features that way, review PRs with these checks. Most of it lives in a wiki nobody reads or in one senior engineer's head. The **Workflow SDK** (
|
|
223
|
+
Every team has a process — triage bugs this way, ship features that way, review PRs with these checks. Most of it lives in a wiki nobody reads or in one senior engineer's head. The **Workflow SDK** (`@bastani/atomic/workflows`) lets you encode that process as a chain of named sessions with raw provider SDK code — then run it from the CLI.
|
|
187
224
|
|
|
188
225
|
Drop a `.ts` file in `.atomic/workflows/<name>/<agent>/index.ts` and run it:
|
|
189
226
|
|
|
@@ -235,13 +272,13 @@ export default defineWorkflow({
|
|
|
235
272
|
|
|
236
273
|
**Key capabilities:**
|
|
237
274
|
|
|
238
|
-
| Capability
|
|
239
|
-
|
|
|
240
|
-
| **Sequential sessions**
|
|
241
|
-
| **Transcript passing**
|
|
242
|
-
| **Provider-agnostic**
|
|
243
|
-
| **tmux-based execution** | Each session runs in its own tmux pane for isolation and observability
|
|
244
|
-
| **Native SDK access**
|
|
275
|
+
| Capability | Description |
|
|
276
|
+
| ------------------------ | ------------------------------------------------------------------------------------ |
|
|
277
|
+
| **Sequential sessions** | Chain `.session()` calls that execute in order, each in its own tmux pane |
|
|
278
|
+
| **Transcript passing** | Access previous session output via `ctx.transcript(name)` or `ctx.getMessages(name)` |
|
|
279
|
+
| **Provider-agnostic** | Write raw SDK code for Claude, Copilot, or OpenCode inside each session's `run()` |
|
|
280
|
+
| **tmux-based execution** | Each session runs in its own tmux pane for isolation and observability |
|
|
281
|
+
| **Native SDK access** | Use `createClaudeSession`, `claudeQuery`, Copilot SDK, or OpenCode SDK directly |
|
|
245
282
|
|
|
246
283
|
Drop a `.ts` file in `.atomic/workflows/<name>/<agent>/` (project-local) or `~/.atomic/workflows/` (global). You can also ask Atomic to create workflows for you:
|
|
247
284
|
|
|
@@ -254,43 +291,46 @@ Use your workflow-creator skill to create a workflow that plans, implements, and
|
|
|
254
291
|
|
|
255
292
|
#### Builder API
|
|
256
293
|
|
|
257
|
-
| Method
|
|
258
|
-
|
|
|
259
|
-
| `defineWorkflow({ name, description })` | Entry point — returns a `WorkflowBuilder`
|
|
260
|
-
| `.session({ name, description?, run })` | Add a named session (or pass an array for parallel execution)
|
|
261
|
-
| `.compile()`
|
|
294
|
+
| Method | Purpose |
|
|
295
|
+
| --------------------------------------- | ----------------------------------------------------------------- |
|
|
296
|
+
| `defineWorkflow({ name, description })` | Entry point — returns a `WorkflowBuilder` |
|
|
297
|
+
| `.session({ name, description?, run })` | Add a named session (or pass an array for parallel execution) |
|
|
298
|
+
| `.compile()` | **Required** — terminal method that seals the workflow definition |
|
|
262
299
|
|
|
263
300
|
#### Session Context (`ctx`)
|
|
264
301
|
|
|
265
|
-
| Property
|
|
266
|
-
|
|
|
267
|
-
| `ctx.userPrompt`
|
|
268
|
-
| `ctx.agent`
|
|
269
|
-
| `ctx.serverUrl`
|
|
270
|
-
| `ctx.paneId`
|
|
271
|
-
| `ctx.sessionId`
|
|
272
|
-
| `ctx.sessionDir`
|
|
273
|
-
| `ctx.transcript(name)`
|
|
274
|
-
| `ctx.getMessages(name)` | `Promise<SavedMessage[]>` | Get a previous session's raw native messages
|
|
275
|
-
| `ctx.save(messages)`
|
|
302
|
+
| Property | Type | Description |
|
|
303
|
+
| ----------------------- | ------------------------- | -------------------------------------------------------------- |
|
|
304
|
+
| `ctx.userPrompt` | `string` | Original user prompt from the CLI invocation |
|
|
305
|
+
| `ctx.agent` | `AgentType` | Which agent is running (`"claude"`, `"copilot"`, `"opencode"`) |
|
|
306
|
+
| `ctx.serverUrl` | `string` | The agent's server URL |
|
|
307
|
+
| `ctx.paneId` | `string` | tmux pane ID for this session |
|
|
308
|
+
| `ctx.sessionId` | `string` | Session UUID |
|
|
309
|
+
| `ctx.sessionDir` | `string` | Path to this session's storage directory on disk |
|
|
310
|
+
| `ctx.transcript(name)` | `Promise<Transcript>` | Get a previous session's transcript (`{ path, content }`) |
|
|
311
|
+
| `ctx.getMessages(name)` | `Promise<SavedMessage[]>` | Get a previous session's raw native messages |
|
|
312
|
+
| `ctx.save(messages)` | `SaveTranscript` | Save this session's output for subsequent sessions |
|
|
276
313
|
|
|
277
314
|
#### Saving Transcripts
|
|
278
315
|
|
|
279
316
|
Each provider saves transcripts differently:
|
|
280
317
|
|
|
281
|
-
| Provider
|
|
282
|
-
|
|
|
283
|
-
| **Claude**
|
|
284
|
-
| **Copilot**
|
|
318
|
+
| Provider | How to Save |
|
|
319
|
+
| ------------ | ------------------------------------------------------------------ |
|
|
320
|
+
| **Claude** | `ctx.save(ctx.sessionId)` — auto-reads via `getSessionMessages()` |
|
|
321
|
+
| **Copilot** | `ctx.save(await session.getMessages())` — pass `SessionEvent[]` |
|
|
285
322
|
| **OpenCode** | `ctx.save(result.data)` — pass the full `{ info, parts }` response |
|
|
286
323
|
|
|
287
324
|
#### Provider Helpers
|
|
288
325
|
|
|
289
|
-
| Export
|
|
290
|
-
|
|
|
291
|
-
| `createClaudeSession({ paneId })` | Start a Claude TUI in a tmux pane
|
|
292
|
-
| `claudeQuery({ paneId, prompt })` | Send a prompt to Claude and wait for the response
|
|
293
|
-
| `clearClaudeSession({ paneId })`
|
|
326
|
+
| Export | Purpose |
|
|
327
|
+
| --------------------------------- | --------------------------------------------------- |
|
|
328
|
+
| `createClaudeSession({ paneId })` | Start a Claude TUI in a tmux pane |
|
|
329
|
+
| `claudeQuery({ paneId, prompt })` | Send a prompt to Claude and wait for the response |
|
|
330
|
+
| `clearClaudeSession({ paneId })` | Clear the current Claude session |
|
|
331
|
+
| `validateClaudeWorkflow()` | Validate a Claude workflow definition before run |
|
|
332
|
+
| `validateCopilotWorkflow()` | Validate a Copilot workflow definition before run |
|
|
333
|
+
| `validateOpenCodeWorkflow()` | Validate an OpenCode workflow definition before run |
|
|
294
334
|
|
|
295
335
|
#### Key Rules
|
|
296
336
|
|
|
@@ -300,7 +340,9 @@ Each provider saves transcripts differently:
|
|
|
300
340
|
4. Each session runs in its own tmux pane with the chosen agent
|
|
301
341
|
5. Workflows are organized per-workflow: `.atomic/workflows/<name>/<agent>/index.ts`
|
|
302
342
|
|
|
303
|
-
|
|
343
|
+
Workflow files need no `package.json` or `node_modules` of their own — the Atomic loader rewrites `@bastani/atomic/*` and atomic's transitive deps (`@github/copilot-sdk`, `@opencode-ai/sdk`, `@anthropic-ai/claude-agent-sdk`, `zod`, etc.) to absolute paths inside the installed atomic package at load time. Drop a `.ts` file and it runs.
|
|
344
|
+
|
|
345
|
+
For the authoring walkthrough with worked examples, ask Atomic to use the `workflow-creator` skill or read the skill reference at `.agents/skills/workflow-creator/`.
|
|
304
346
|
|
|
305
347
|
</details>
|
|
306
348
|
|
|
@@ -316,14 +358,14 @@ The `/research-codebase` command dispatches **specialized sub-agents in parallel
|
|
|
316
358
|
|
|
317
359
|
**Research sub-agents:**
|
|
318
360
|
|
|
319
|
-
| Sub-Agent
|
|
320
|
-
|
|
|
321
|
-
| `codebase-locator`
|
|
322
|
-
| `codebase-analyzer`
|
|
323
|
-
| `codebase-pattern-finder`
|
|
361
|
+
| Sub-Agent | Model | Purpose |
|
|
362
|
+
| ---------------------------- | ------ | ----------------------------------------------------------------------------------------- |
|
|
363
|
+
| `codebase-locator` | Haiku | Locate files, directories, and components relevant to the research topic |
|
|
364
|
+
| `codebase-analyzer` | Sonnet | Analyze implementation details, trace data flow, and explain technical workings |
|
|
365
|
+
| `codebase-pattern-finder` | Haiku | Find similar implementations, usage examples, and existing patterns to model after |
|
|
324
366
|
| `codebase-online-researcher` | Sonnet | Fetch up-to-date information from the web and repository-specific knowledge from DeepWiki |
|
|
325
|
-
| `codebase-research-locator`
|
|
326
|
-
| `codebase-research-analyzer` | Sonnet | Extract high-value insights, decisions, and technical details from research documents
|
|
367
|
+
| `codebase-research-locator` | Haiku | Discover relevant documents in `research/` and `specs/` directories |
|
|
368
|
+
| `codebase-research-analyzer` | Sonnet | Extract high-value insights, decisions, and technical details from research documents |
|
|
327
369
|
|
|
328
370
|
**Why specialized research agents instead of one general-purpose agent?**
|
|
329
371
|
|
|
@@ -414,30 +456,30 @@ Atomic ships as **devcontainer features** that bundle the CLI, agent, and all de
|
|
|
414
456
|
|
|
415
457
|
Each feature installs Atomic + one agent. Mix and match across projects:
|
|
416
458
|
|
|
417
|
-
| Feature
|
|
418
|
-
|
|
|
419
|
-
| `ghcr.io/flora131/atomic/claude:1`
|
|
420
|
-
| `ghcr.io/flora131/atomic/opencode:1` | Atomic + OpenCode
|
|
421
|
-
| `ghcr.io/flora131/atomic/copilot:1`
|
|
459
|
+
| Feature | Installs |
|
|
460
|
+
| ------------------------------------ | -------------------- |
|
|
461
|
+
| `ghcr.io/flora131/atomic/claude:1` | Atomic + Claude Code |
|
|
462
|
+
| `ghcr.io/flora131/atomic/opencode:1` | Atomic + OpenCode |
|
|
463
|
+
| `ghcr.io/flora131/atomic/copilot:1` | Atomic + Copilot CLI |
|
|
422
464
|
|
|
423
465
|
### Specialized Sub-Agents
|
|
424
466
|
|
|
425
467
|
Atomic doesn't use one general-purpose agent for everything. It dispatches **purpose-built sub-agents**, each with scoped context, tools, and termination conditions:
|
|
426
468
|
|
|
427
|
-
| Sub-Agent
|
|
428
|
-
|
|
|
429
|
-
| `planner`
|
|
430
|
-
| `worker`
|
|
431
|
-
| `reviewer`
|
|
432
|
-
| `code-simplifier`
|
|
433
|
-
| `orchestrator`
|
|
434
|
-
| `codebase-analyzer`
|
|
435
|
-
| `codebase-locator`
|
|
436
|
-
| `codebase-pattern-finder`
|
|
437
|
-
| `codebase-online-researcher` | Research using web sources and DeepWiki
|
|
438
|
-
| `codebase-research-analyzer` | Deep dive on research topics
|
|
439
|
-
| `codebase-research-locator`
|
|
440
|
-
| `debugger`
|
|
469
|
+
| Sub-Agent | Purpose |
|
|
470
|
+
| ---------------------------- | ---------------------------------------------------------------------- |
|
|
471
|
+
| `planner` | Decompose specs into structured task lists with dependency tracking |
|
|
472
|
+
| `worker` | Implement single focused tasks (multiple workers run in parallel) |
|
|
473
|
+
| `reviewer` | Audit implementations against specs and best practices |
|
|
474
|
+
| `code-simplifier` | Simplify and refine code for clarity, consistency, and maintainability |
|
|
475
|
+
| `orchestrator` | Coordinate complex multi-step workflows |
|
|
476
|
+
| `codebase-analyzer` | Analyze implementation details of specific components |
|
|
477
|
+
| `codebase-locator` | Locate files, directories, and components |
|
|
478
|
+
| `codebase-pattern-finder` | Find similar implementations and usage examples |
|
|
479
|
+
| `codebase-online-researcher` | Research using web sources and DeepWiki |
|
|
480
|
+
| `codebase-research-analyzer` | Deep dive on research topics |
|
|
481
|
+
| `codebase-research-locator` | Find documents in `research/` directory |
|
|
482
|
+
| `debugger` | Debug errors, test failures, and unexpected behavior |
|
|
441
483
|
|
|
442
484
|
**Why specialize?**
|
|
443
485
|
|
|
@@ -456,50 +498,117 @@ Use `/agents` in any chat session to see all available sub-agents.
|
|
|
456
498
|
|
|
457
499
|
### Built-in Skills
|
|
458
500
|
|
|
459
|
-
Skills are structured capability modules that give agents best practices and workflows for specific tasks. Atomic ships
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
|
464
|
-
|
|
|
465
|
-
|
|
|
466
|
-
|
|
|
467
|
-
|
|
|
468
|
-
|
|
|
469
|
-
|
|
|
470
|
-
|
|
|
471
|
-
|
|
|
472
|
-
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
| |
|
|
477
|
-
|
|
|
478
|
-
|
|
|
479
|
-
|
|
|
480
|
-
|
|
|
481
|
-
|
|
|
482
|
-
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
-
|
|
495
|
-
-
|
|
496
|
-
-
|
|
497
|
-
|
|
498
|
-
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
|
501
|
+
Skills are structured capability modules that give agents best practices and reusable workflows for specific tasks. Atomic ships 58 skills across eight categories; each lives at `.agents/skills/<name>/SKILL.md` and is auto-invoked when the agent detects a relevant trigger.
|
|
502
|
+
|
|
503
|
+
**Development workflows:**
|
|
504
|
+
|
|
505
|
+
| Skill | Description |
|
|
506
|
+
| ------------------------- | --------------------------------------------------------------------------- |
|
|
507
|
+
| `init` | Generate `CLAUDE.md` and `AGENTS.md` by exploring the codebase |
|
|
508
|
+
| `research-codebase` | Analyze codebase with parallel sub-agents and document findings |
|
|
509
|
+
| `create-spec` | Create detailed execution plans from research documents |
|
|
510
|
+
| `workflow-creator` | Create multi-agent workflows using the session-based `defineWorkflow()` API |
|
|
511
|
+
| `explain-code` | Explain code functionality in detail using DeepWiki |
|
|
512
|
+
| `find-skills` | Discover and install agent skills from the community |
|
|
513
|
+
| `test-driven-development` | Write tests first; includes a testing anti-patterns guide |
|
|
514
|
+
| `prompt-engineer` | Create, improve, and optimize prompts using best practices |
|
|
515
|
+
|
|
516
|
+
**Context engineering** — practical skills for working within (and around) LLM context limits:
|
|
517
|
+
|
|
518
|
+
| Skill | Description |
|
|
519
|
+
| ---------------------- | --------------------------------------------------------------------- |
|
|
520
|
+
| `context-fundamentals` | How context windows work; attention mechanics; progressive disclosure |
|
|
521
|
+
| `context-degradation` | Diagnose lost-in-middle, poisoning, distraction failures in long runs |
|
|
522
|
+
| `context-compression` | Summarize transcripts at session boundaries; preserve actionable info |
|
|
523
|
+
| `context-optimization` | KV-cache optimization, observation masking, context budgeting |
|
|
524
|
+
| `filesystem-context` | Offload context to files; file-based agent coordination |
|
|
525
|
+
| `memory-systems` | Cross-session knowledge retention; Mem0 / Zep / Letta comparisons |
|
|
526
|
+
| `multi-agent-patterns` | Supervisor, swarm, handoff patterns for multi-agent systems |
|
|
527
|
+
| `tool-design` | Design clear tool contracts; reduce agent-tool friction |
|
|
528
|
+
| `hosted-agents` | Background agents in sandboxed VMs; warm pools; Modal sandboxes |
|
|
529
|
+
| `project-development` | Validate task-model fit before building; cost estimation |
|
|
530
|
+
| `bdi-mental-states` | Belief-desire-intention models for explainable agent reasoning |
|
|
531
|
+
|
|
532
|
+
**TypeScript & runtime:**
|
|
533
|
+
|
|
534
|
+
| Skill | Description |
|
|
535
|
+
| --------------------------- | ----------------------------------------------------------------------- |
|
|
536
|
+
| `typescript-expert` | Type-level programming, perf optimization, migrations |
|
|
537
|
+
| `typescript-advanced-types` | Generics, conditional types, mapped types, template literals |
|
|
538
|
+
| `typescript-react-reviewer` | Expert review for TypeScript + React 19 applications |
|
|
539
|
+
| `bun` | Build, test, deploy with Bun (runtime, package manager, bundler, tests) |
|
|
540
|
+
| `opentui` | Build terminal UIs with OpenTUI (core, React, Solid reconcilers) |
|
|
541
|
+
|
|
542
|
+
**Frontend design & UI polish** — used by `frontend-design` and invoked individually for targeted refinement:
|
|
543
|
+
|
|
544
|
+
| Skill | Description |
|
|
545
|
+
| ---------------------------------------------- | ------------------------------------------------------------------- |
|
|
546
|
+
| `frontend-design` | Create distinctive, production-grade frontend interfaces |
|
|
547
|
+
| `teach-impeccable` | One-time setup that gathers design context for a project |
|
|
548
|
+
| `polish` | Final quality pass on alignment, spacing, consistency |
|
|
549
|
+
| `critique` | UX evaluation with quantitative scoring and persona testing |
|
|
550
|
+
| `audit` | Accessibility, performance, theming, responsive, anti-pattern audit |
|
|
551
|
+
| `normalize` | Realign UI to match design system standards |
|
|
552
|
+
| `extract` | Consolidate reusable components and design tokens into your system |
|
|
553
|
+
| `arrange` / `typeset` / `colorize` | Layout, typography, and color refinement |
|
|
554
|
+
| `adapt` | Responsive design: breakpoints, fluid layouts, touch targets |
|
|
555
|
+
| `animate` / `delight` | Add motion, micro-interactions, and personality |
|
|
556
|
+
| `clarify` | Improve UX copy, error messages, microcopy, labels |
|
|
557
|
+
| `distill` / `quieter` / `bolder` / `overdrive` | Simplify, tone down, amplify, or push designs to their limit |
|
|
558
|
+
| `harden` | Error handling, i18n, overflow, edge-case resilience |
|
|
559
|
+
| `optimize` | Diagnose and fix loading, rendering, animation, bundle-size issues |
|
|
560
|
+
| `onboard` | Design onboarding flows, empty states, first-run experiences |
|
|
561
|
+
|
|
562
|
+
**Evaluation:**
|
|
563
|
+
|
|
564
|
+
| Skill | Description |
|
|
565
|
+
| --------------------- | ------------------------------------------------------------------- |
|
|
566
|
+
| `evaluation` | Multi-dimensional evaluation, LLM-as-judge, quality gates |
|
|
567
|
+
| `advanced-evaluation` | Pairwise comparison, position-bias mitigation, evaluation pipelines |
|
|
568
|
+
|
|
569
|
+
**Documents & parsing:**
|
|
570
|
+
|
|
571
|
+
| Skill | Description |
|
|
572
|
+
| ----------- | ----------------------------------------------------------------------- |
|
|
573
|
+
| `pdf` | Read, create, edit, split, merge, and OCR PDF files |
|
|
574
|
+
| `xlsx` | Create, read, edit, and fix spreadsheet files (`.xlsx`, `.csv`, `.tsv`) |
|
|
575
|
+
| `docx` | Create, read, edit, and manipulate Word (`.docx`) documents |
|
|
576
|
+
| `pptx` | Create, read, edit, and manipulate PowerPoint (`.pptx`) slide decks |
|
|
577
|
+
| `liteparse` | Parse and convert unstructured files (PDF, DOCX, PPTX, images) locally |
|
|
578
|
+
|
|
579
|
+
**Git / Sapling / automation:**
|
|
580
|
+
|
|
581
|
+
| Skill | Description |
|
|
582
|
+
| ---------------- | -------------------------------------------------------- |
|
|
583
|
+
| `gh-commit` | Conventional-commit Git commits |
|
|
584
|
+
| `gh-create-pr` | Commit unstaged changes, push, and submit a pull request |
|
|
585
|
+
| `sl-commit` | Conventional-commit Sapling commits |
|
|
586
|
+
| `sl-submit-diff` | Submit Sapling commits as Phabricator diffs |
|
|
587
|
+
| `playwright-cli` | Automate browser interactions, tests, screenshots |
|
|
588
|
+
|
|
589
|
+
**Meta:**
|
|
590
|
+
|
|
591
|
+
| Skill | Description |
|
|
592
|
+
| --------------- | ------------------------------------------------------- |
|
|
593
|
+
| `skill-creator` | Create, modify, evaluate, and benchmark your own skills |
|
|
594
|
+
|
|
595
|
+
Skills are auto-invoked when relevant — `test-driven-development` activates before any test is written, `playwright-cli` activates for browser automation tasks, and the context-engineering skills activate whenever you're designing a workflow that'll push context limits. Run `ls .agents/skills/` for the complete, current list on disk.
|
|
596
|
+
|
|
597
|
+
### Workflow Orchestrator Panel
|
|
598
|
+
|
|
599
|
+
During `atomic workflow` execution, Atomic renders a live orchestrator panel built on [OpenTUI](https://github.com/anomalyco/opentui) on top of the workflow's tmux session graph. It shows:
|
|
600
|
+
|
|
601
|
+
- **Session graph** — Nodes for each `.session()` call with status (pending, running, completed, failed) and edges for sequential / parallel dependencies
|
|
602
|
+
- **Task list tracking** — Ralph's decomposed task list with dependency arrows, updated in real time as workers complete tasks
|
|
603
|
+
- **Pane previews** — Thumbnail of each tmux pane so you can see what every agent is doing without switching contexts
|
|
604
|
+
- **Transcript passing visibility** — Highlights `ctx.save()` / `ctx.transcript()` handoffs as they happen between sessions
|
|
605
|
+
|
|
606
|
+
During `atomic chat`, there is no Atomic-owned TUI — `atomic chat -a <agent>` spawns the native agent CLI inside a tmux/psmux session, so all chat features (streaming, `@` mentions, `/slash-commands`, model selection, theme switching, keyboard shortcuts) come from the agent CLI itself. Atomic's role in chat mode is to handle config sync, tmux session management, and argument passthrough.
|
|
607
|
+
|
|
608
|
+
| Context | Who provides the UI |
|
|
609
|
+
| -------------------------------------- | ----------------------------------------------------------- |
|
|
610
|
+
| `atomic workflow -n <name> -a <agent>` | Atomic (orchestrator panel + tmux session graph) |
|
|
611
|
+
| `atomic chat -a <agent>` | The native agent CLI (Claude Code / OpenCode / Copilot CLI) |
|
|
503
612
|
|
|
504
613
|
---
|
|
505
614
|
|
|
@@ -543,58 +652,53 @@ This is also why the cycle is iterative. Research and specs become persistent co
|
|
|
543
652
|
|
|
544
653
|
### CLI Commands
|
|
545
654
|
|
|
546
|
-
| Command
|
|
547
|
-
|
|
|
548
|
-
| `atomic init`
|
|
549
|
-
| `atomic chat`
|
|
550
|
-
| `atomic workflow`
|
|
551
|
-
| `atomic config set <k> <v>` | Set configuration values |
|
|
552
|
-
| `atomic update` | Self-update (binary installs only) |
|
|
553
|
-
| `atomic uninstall` | Remove installation (binary installs only) |
|
|
655
|
+
| Command | Description |
|
|
656
|
+
| --------------------------- | --------------------------------------------------------------------- |
|
|
657
|
+
| `atomic init` | Interactive project setup (agent selection, SCM choice, config sync) |
|
|
658
|
+
| `atomic chat` | Spawn the native agent CLI inside a tmux/psmux session |
|
|
659
|
+
| `atomic workflow` | Run a multi-session agent workflow with the Atomic orchestrator panel |
|
|
660
|
+
| `atomic config set <k> <v>` | Set configuration values (currently supports `telemetry`) |
|
|
554
661
|
|
|
555
662
|
#### `atomic chat` Flags
|
|
556
663
|
|
|
557
|
-
| Flag
|
|
558
|
-
|
|
|
664
|
+
| Flag | Description |
|
|
665
|
+
| -------------------- | -------------------------------------- |
|
|
559
666
|
| `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
|
|
560
667
|
|
|
561
668
|
All other arguments are forwarded directly to the native agent CLI. For example:
|
|
562
669
|
|
|
563
670
|
```bash
|
|
564
671
|
atomic chat -a claude "fix the bug" # Initial prompt
|
|
565
|
-
atomic chat -a copilot --model gpt-
|
|
672
|
+
atomic chat -a copilot --model gpt-5.4 # Custom model
|
|
566
673
|
atomic chat -a claude --verbose # Forward --verbose to claude
|
|
567
674
|
```
|
|
568
675
|
|
|
569
676
|
#### `atomic workflow` Flags
|
|
570
677
|
|
|
571
|
-
| Flag
|
|
572
|
-
|
|
|
573
|
-
| `-n, --name <name>`
|
|
574
|
-
| `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot`
|
|
575
|
-
| `-l, --list`
|
|
576
|
-
| `[prompt...]`
|
|
577
|
-
|
|
578
|
-
###
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
|
583
|
-
|
|
|
584
|
-
|
|
|
585
|
-
|
|
|
586
|
-
|
|
|
587
|
-
|
|
|
588
|
-
|
|
|
589
|
-
|
|
|
590
|
-
|
|
|
591
|
-
|
|
|
592
|
-
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
| `/gh-create-pr` | | Commit, push, and open a PR |
|
|
596
|
-
| `/sl-commit` | | Create a Sapling commit |
|
|
597
|
-
| `/sl-submit-diff` | | Submit to Phabricator |
|
|
678
|
+
| Flag | Description |
|
|
679
|
+
| -------------------- | ------------------------------------------------------------------- |
|
|
680
|
+
| `-n, --name <name>` | Workflow name (matches directory under `.atomic/workflows/<name>/`) |
|
|
681
|
+
| `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
|
|
682
|
+
| `-l, --list` | List available workflows |
|
|
683
|
+
| `[prompt...]` | Prompt for the workflow |
|
|
684
|
+
|
|
685
|
+
### Atomic-Provided Skills (invokable from any agent chat)
|
|
686
|
+
|
|
687
|
+
Atomic ships skills — not slash commands. Skills are auto-discovered by Claude Code, OpenCode, and Copilot CLI and are invoked either by typing `/<skill-name>` (Claude Code) or by natural-language reference (OpenCode / Copilot CLI). The list below covers the headline workflow skills; see **Built-in Skills** below for the full catalog.
|
|
688
|
+
|
|
689
|
+
| Skill | Typical invocation | Purpose |
|
|
690
|
+
| ------------------- | --------------------------------- | ----------------------------------------------------------------------------- |
|
|
691
|
+
| `init` | `/init` | Generate `CLAUDE.md` and `AGENTS.md` by exploring the codebase |
|
|
692
|
+
| `research-codebase` | `/research-codebase "<question>"` | Dispatch parallel sub-agents to analyze the codebase and write a research doc |
|
|
693
|
+
| `create-spec` | `/create-spec "<research-path>"` | Produce a technical spec grounded in a research document |
|
|
694
|
+
| `explain-code` | `/explain-code "<path>"` | Deep-dive explanation of specific code using DeepWiki |
|
|
695
|
+
| `gh-commit` | `/gh-commit` | Create a conventional-commit Git commit |
|
|
696
|
+
| `gh-create-pr` | `/gh-create-pr` | Commit, push, and open a pull request |
|
|
697
|
+
| `sl-commit` | `/sl-commit` | Create a Sapling commit |
|
|
698
|
+
| `sl-submit-diff` | `/sl-submit-diff` | Submit a Sapling commit as a Phabricator diff |
|
|
699
|
+
| `workflow-creator` | natural language | Generate a multi-agent workflow file in `.atomic/workflows/` |
|
|
700
|
+
|
|
701
|
+
Native slash commands like `/help`, `/clear`, `/compact`, `/model`, `/theme`, `/agents`, `/mcp`, and `/exit` are provided by the underlying agent CLI, not by Atomic — consult the Claude Code / OpenCode / Copilot CLI documentation for those.
|
|
598
702
|
|
|
599
703
|
---
|
|
600
704
|
|
|
@@ -609,48 +713,35 @@ Created automatically during `atomic init`. Resolution order:
|
|
|
609
713
|
|
|
610
714
|
```json
|
|
611
715
|
{
|
|
716
|
+
"$schema": "https://raw.githubusercontent.com/flora131/atomic/main/assets/settings.schema.json",
|
|
612
717
|
"version": 1,
|
|
613
718
|
"scm": "github",
|
|
614
|
-
"
|
|
615
|
-
|
|
616
|
-
"
|
|
617
|
-
|
|
618
|
-
"reasoningEffort": {
|
|
619
|
-
"claude": "high"
|
|
620
|
-
},
|
|
621
|
-
"lastUpdated": "2026-02-12T12:00:00.000Z"
|
|
719
|
+
"lastUpdated": "2026-04-09T12:00:00.000Z",
|
|
720
|
+
"trustedPaths": [
|
|
721
|
+
{ "workspacePath": "/home/you/project", "provider": "claude" }
|
|
722
|
+
]
|
|
622
723
|
}
|
|
623
724
|
```
|
|
624
725
|
|
|
625
|
-
| Field
|
|
626
|
-
|
|
|
627
|
-
| `
|
|
628
|
-
| `
|
|
629
|
-
| `
|
|
630
|
-
| `
|
|
631
|
-
| `
|
|
632
|
-
|
|
633
|
-
You can also set the model per session via CLI flag or interactively during chat:
|
|
634
|
-
|
|
635
|
-
```bash
|
|
636
|
-
# CLI flag (single session only)
|
|
637
|
-
atomic chat -a claude -m opus
|
|
638
|
-
|
|
639
|
-
# Interactive selector (persists to global settings)
|
|
640
|
-
/model select
|
|
641
|
-
```
|
|
726
|
+
| Field | Type | Description |
|
|
727
|
+
| -------------- | ------- | --------------------------------------------------------------------------------------------------------- |
|
|
728
|
+
| `$schema` | string | JSON Schema URL for editor autocomplete |
|
|
729
|
+
| `version` | number | Config schema version (currently `1`) |
|
|
730
|
+
| `scm` | string | Source control: `github` or `sapling` |
|
|
731
|
+
| `lastUpdated` | string | ISO 8601 timestamp of the last update |
|
|
732
|
+
| `trustedPaths` | array | Workspaces that have completed provider onboarding via `atomic init`; atomic skips re-prompting for these |
|
|
642
733
|
|
|
643
|
-
|
|
734
|
+
> **Note:** Model selection and reasoning effort are managed by each underlying agent CLI (e.g. Claude Code's `/model`), not by Atomic itself. Atomic's chat command spawns the agent's native TUI — use the agent's own controls to pick a model or adjust reasoning effort.
|
|
644
735
|
|
|
645
736
|
### Agent-Specific Files
|
|
646
737
|
|
|
647
|
-
| Agent
|
|
648
|
-
|
|
|
649
|
-
| Claude Code
|
|
650
|
-
| OpenCode
|
|
651
|
-
| GitHub Copilot | `.github/`
|
|
738
|
+
| Agent | Folder | Skills | Context File |
|
|
739
|
+
| -------------- | ------------ | -------------------------------------------- | ------------ |
|
|
740
|
+
| Claude Code | `.claude/` | `.claude/skills/` (symlink → `.agents/skills/`) | `CLAUDE.md` |
|
|
741
|
+
| OpenCode | `.opencode/` | `.agents/skills/` | `AGENTS.md` |
|
|
742
|
+
| GitHub Copilot | `.github/` | `.agents/skills/` | `AGENTS.md` |
|
|
652
743
|
|
|
653
|
-
> **Note:**
|
|
744
|
+
> **Note:** All three agents share the same skill set via `.agents/skills/`. Claude Code accesses them through a `.claude/skills/` symlink that points to `.agents/skills/`, so a single skill directory serves all agents.
|
|
654
745
|
|
|
655
746
|
---
|
|
656
747
|
|
|
@@ -659,21 +750,13 @@ The `/model select` command opens an interactive picker that also lets you set r
|
|
|
659
750
|
<details>
|
|
660
751
|
<summary>Install a specific version</summary>
|
|
661
752
|
|
|
662
|
-
**macOS / Linux:**
|
|
663
|
-
|
|
664
753
|
```bash
|
|
665
|
-
|
|
666
|
-
# or with VERSION env var:
|
|
667
|
-
VERSION=v1.0.0 curl -fsSL https://raw.githubusercontent.com/flora131/atomic/main/install.sh | bash
|
|
754
|
+
bun install -g @bastani/atomic@0.5.0-1 # replace with desired version
|
|
668
755
|
```
|
|
669
756
|
|
|
670
|
-
|
|
757
|
+
List all published versions with `npm view @bastani/atomic versions`.
|
|
671
758
|
|
|
672
|
-
|
|
673
|
-
iex "& { $(irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1) } -Version v1.0.0"
|
|
674
|
-
# or with VERSION env var:
|
|
675
|
-
$env:VERSION='v1.0.0'; irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1 | iex
|
|
676
|
-
```
|
|
759
|
+
> Don't have bun yet? Run the bootstrap installer first (it installs bun and the latest atomic), then re-run the command above to switch to your desired version.
|
|
677
760
|
|
|
678
761
|
</details>
|
|
679
762
|
|
|
@@ -682,20 +765,10 @@ $env:VERSION='v1.0.0'; irm https://raw.githubusercontent.com/flora131/atomic/mai
|
|
|
682
765
|
|
|
683
766
|
> **Warning:** Prerelease versions may contain breaking changes or bugs. Use for testing only.
|
|
684
767
|
|
|
685
|
-
|
|
768
|
+
Prereleases are published under the `next` dist-tag on npm:
|
|
686
769
|
|
|
687
770
|
```bash
|
|
688
|
-
|
|
689
|
-
# or with VERSION env var:
|
|
690
|
-
VERSION=prerelease curl -fsSL https://raw.githubusercontent.com/flora131/atomic/main/install.sh | bash
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
**Windows PowerShell:**
|
|
694
|
-
|
|
695
|
-
```powershell
|
|
696
|
-
iex "& { $(irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1) } -Prerelease"
|
|
697
|
-
# or with VERSION env var:
|
|
698
|
-
$env:VERSION='prerelease'; irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1 | iex
|
|
771
|
+
bun install -g @bastani/atomic@next
|
|
699
772
|
```
|
|
700
773
|
|
|
701
774
|
</details>
|
|
@@ -771,10 +844,10 @@ $env:GITHUB_TOKEN='ghp_...'; irm https://raw.githubusercontent.com/flora131/atom
|
|
|
771
844
|
|
|
772
845
|
During `atomic init`, you'll select your source control system:
|
|
773
846
|
|
|
774
|
-
| SCM Type
|
|
775
|
-
|
|
|
776
|
-
| GitHub / Git
|
|
777
|
-
| Sapling + Phabricator | `sl`
|
|
847
|
+
| SCM Type | CLI Tool | Code Review | Use Case |
|
|
848
|
+
| --------------------- | -------- | ----------------- | ----------------- |
|
|
849
|
+
| GitHub / Git | `git` | Pull Requests | Most projects |
|
|
850
|
+
| Sapling + Phabricator | `sl` | Phabricator Diffs | Stacked workflows |
|
|
778
851
|
|
|
779
852
|
**Sapling + Phabricator:** Ensure `.arcconfig` exists in your repo root. Use `/sl-commit` and `/sl-submit-diff`.
|
|
780
853
|
|
|
@@ -788,61 +861,64 @@ During `atomic init`, you'll select your source control system:
|
|
|
788
861
|
|
|
789
862
|
### Update
|
|
790
863
|
|
|
864
|
+
Use Bun's package manager directly:
|
|
865
|
+
|
|
791
866
|
```bash
|
|
792
|
-
atomic
|
|
867
|
+
bun update -g @bastani/atomic # latest stable
|
|
868
|
+
# or for prerelease builds:
|
|
869
|
+
bun install -g @bastani/atomic@next
|
|
793
870
|
```
|
|
794
871
|
|
|
872
|
+
The first time you run `atomic` after upgrading, the CLI auto-syncs tooling deps (Node.js/npm) and global skills. No separate command needed.
|
|
873
|
+
|
|
795
874
|
### Uninstall
|
|
796
875
|
|
|
797
876
|
```bash
|
|
798
|
-
|
|
799
|
-
atomic uninstall --dry-run # Preview what will be removed
|
|
800
|
-
atomic uninstall --keep-config # Keep config, remove binary only
|
|
801
|
-
atomic uninstall --yes # Skip confirmation
|
|
877
|
+
bun remove -g @bastani/atomic
|
|
802
878
|
```
|
|
803
879
|
|
|
880
|
+
That removes the `atomic` binary installed by `bun install -g`. If you used the bootstrap installer (`install.sh` / `install.ps1`) on a machine without Bun, the same `bun remove` command still works once Bun is on your PATH.
|
|
881
|
+
|
|
804
882
|
<details>
|
|
805
|
-
<summary>
|
|
883
|
+
<summary>Clean up project config files</summary>
|
|
884
|
+
|
|
885
|
+
> **Warning:** This deletes all project-specific settings, skills, and agents configured by Atomic for the current project.
|
|
806
886
|
|
|
807
887
|
**macOS / Linux:**
|
|
808
888
|
|
|
809
889
|
```bash
|
|
810
|
-
rm -
|
|
811
|
-
rm -rf
|
|
812
|
-
rm -
|
|
890
|
+
rm -rf .claude/ CLAUDE.md # Claude Code
|
|
891
|
+
rm -rf .opencode/ AGENTS.md # OpenCode
|
|
892
|
+
rm -f .github/copilot-instructions.md # Copilot CLI
|
|
893
|
+
rm -rf .atomic/ # Atomic local settings + workflows
|
|
813
894
|
```
|
|
814
895
|
|
|
815
896
|
**Windows PowerShell:**
|
|
816
897
|
|
|
817
898
|
```powershell
|
|
818
|
-
Remove-Item "
|
|
819
|
-
Remove-Item "
|
|
820
|
-
Remove-Item "
|
|
821
|
-
Remove-Item "
|
|
822
|
-
Remove-Item "$env:USERPROFILE\.atomic\.copilot" -Recurse -Force
|
|
899
|
+
Remove-Item -Path ".claude" -Recurse -Force; Remove-Item "CLAUDE.md" -Force
|
|
900
|
+
Remove-Item -Path ".opencode" -Recurse -Force; Remove-Item "AGENTS.md" -Force
|
|
901
|
+
Remove-Item -Path ".github\copilot-instructions.md" -Force
|
|
902
|
+
Remove-Item -Path ".atomic" -Recurse -Force
|
|
823
903
|
```
|
|
824
904
|
|
|
825
905
|
</details>
|
|
826
906
|
|
|
827
907
|
<details>
|
|
828
|
-
<summary>Clean up
|
|
908
|
+
<summary>Clean up global config files</summary>
|
|
829
909
|
|
|
830
|
-
> **Warning:** This deletes
|
|
910
|
+
> **Warning:** This deletes Atomic's global settings and cached agent configs. You'll need to re-run `atomic init` in your projects after this.
|
|
831
911
|
|
|
832
912
|
**macOS / Linux:**
|
|
833
913
|
|
|
834
914
|
```bash
|
|
835
|
-
rm -rf
|
|
836
|
-
rm -rf .opencode/ AGENTS.md # OpenCode
|
|
837
|
-
rm -f .github/copilot-instructions.md # Copilot
|
|
915
|
+
rm -rf ~/.atomic/
|
|
838
916
|
```
|
|
839
917
|
|
|
840
918
|
**Windows PowerShell:**
|
|
841
919
|
|
|
842
920
|
```powershell
|
|
843
|
-
Remove-Item -Path "
|
|
844
|
-
Remove-Item -Path ".opencode" -Recurse -Force; Remove-Item "AGENTS.md" -Force
|
|
845
|
-
Remove-Item -Path ".github\copilot-instructions.md" -Force
|
|
921
|
+
Remove-Item -Path "$env:USERPROFILE\.atomic" -Recurse -Force
|
|
846
922
|
```
|
|
847
923
|
|
|
848
924
|
</details>
|
|
@@ -875,26 +951,6 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
|
|
|
875
951
|
|
|
876
952
|
</details>
|
|
877
953
|
|
|
878
|
-
<details>
|
|
879
|
-
<summary>Sub-agent tree stuck on "Initializing..."</summary>
|
|
880
|
-
|
|
881
|
-
1. Update to the latest release (`atomic update`) and retry
|
|
882
|
-
2. Check for terminal progress events in verbose mode
|
|
883
|
-
3. Press `Ctrl+F` twice to terminate stuck background agents, then resend your prompt
|
|
884
|
-
4. If the issue persists, capture reproduction steps and [open an issue](https://github.com/flora131/atomic/issues)
|
|
885
|
-
|
|
886
|
-
</details>
|
|
887
|
-
|
|
888
|
-
<details>
|
|
889
|
-
<summary>Shift+Enter not inserting newline</summary>
|
|
890
|
-
|
|
891
|
-
- **VS Code terminal:** Keep `terminal.integrated.enableKittyKeyboardProtocol` enabled
|
|
892
|
-
- **GNOME Terminal, xterm, Alacritty, WezTerm, iTerm2:** `modifyOtherKeys` mode is enabled automatically
|
|
893
|
-
- **Universal fallback:** Use `Ctrl+J` for newline
|
|
894
|
-
- **Last resort:** End line with `\` and press Enter
|
|
895
|
-
|
|
896
|
-
</details>
|
|
897
|
-
|
|
898
954
|
---
|
|
899
955
|
|
|
900
956
|
## FAQ
|
|
@@ -904,17 +960,17 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
|
|
|
904
960
|
|
|
905
961
|
[Spec Kit](https://github.com/github/spec-kit) is GitHub's toolkit for "Spec-Driven Development." Both improve AI-assisted development, but solve different problems:
|
|
906
962
|
|
|
907
|
-
| Aspect
|
|
908
|
-
|
|
|
909
|
-
| **Focus**
|
|
910
|
-
| **First Step**
|
|
911
|
-
| **Context**
|
|
912
|
-
| **Agents**
|
|
913
|
-
| **Workflows**
|
|
914
|
-
| **Human Review** | Implicit
|
|
915
|
-
| **Debugging**
|
|
916
|
-
| **Autonomous**
|
|
917
|
-
| **Isolation**
|
|
963
|
+
| Aspect | Spec-Kit | Atomic |
|
|
964
|
+
| ---------------- | ------------------------------- | ----------------------------------------------- |
|
|
965
|
+
| **Focus** | Greenfield projects | Large existing codebases + greenfield |
|
|
966
|
+
| **First Step** | Define project principles | Analyze existing architecture |
|
|
967
|
+
| **Context** | Per-feature specs | Research → Specs → Execution → Outcomes |
|
|
968
|
+
| **Agents** | Single agent with shell scripts | 12+ specialized sub-agents across 3 SDKs |
|
|
969
|
+
| **Workflows** | Not available | Session-based pipelines with transcript passing |
|
|
970
|
+
| **Human Review** | Implicit | Explicit checkpoints |
|
|
971
|
+
| **Debugging** | Not addressed | Dedicated debugging workflow |
|
|
972
|
+
| **Autonomous** | Not available | Ralph for multi-hour execution |
|
|
973
|
+
| **Isolation** | Not addressed | Devcontainer features for safe execution |
|
|
918
974
|
|
|
919
975
|
</details>
|
|
920
976
|
|
|
@@ -923,15 +979,15 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
|
|
|
923
979
|
|
|
924
980
|
[DeerFlow](https://github.com/bytedance/deer-flow) is ByteDance's agent harness built on LangGraph/LangChain. Both are multi-agent orchestrators, but take different approaches:
|
|
925
981
|
|
|
926
|
-
| Aspect
|
|
927
|
-
|
|
|
928
|
-
| **Runtime**
|
|
929
|
-
| **Agent SDKs** | OpenAI-compatible API
|
|
930
|
-
| **Focus**
|
|
931
|
-
| **Workflows**
|
|
932
|
-
| **Execution**
|
|
933
|
-
| **Interface**
|
|
934
|
-
| **Autonomous** | Not available
|
|
982
|
+
| Aspect | DeerFlow | Atomic |
|
|
983
|
+
| -------------- | --------------------------- | -------------------------------------------------- |
|
|
984
|
+
| **Runtime** | Python (LangGraph) | TypeScript (Bun) |
|
|
985
|
+
| **Agent SDKs** | OpenAI-compatible API | Claude Code + OpenCode + Copilot CLI SDKs natively |
|
|
986
|
+
| **Focus** | General-purpose agent tasks | Coding-specific: research, spec, implement, review |
|
|
987
|
+
| **Workflows** | LangGraph state machines | Session-based chainable API with `.compile()` |
|
|
988
|
+
| **Execution** | Sandbox containers | Devcontainer features + git worktrees |
|
|
989
|
+
| **Interface** | Web UI | Terminal TUI with agent activity tree |
|
|
990
|
+
| **Autonomous** | Not available | Ralph for multi-hour coding sessions |
|
|
935
991
|
|
|
936
992
|
</details>
|
|
937
993
|
|