The verifiable coding agent runtime. Define your coding agent's process in natural language with stages, checks, and approval gates instead of hoping it follows your instructions.
$ npx -y skills add flora131/atomic --agent claude-code
Repo: flora131/atomic
What's inside
Users are reporting:
Core capabilities:
Build your process as workflows with scoped context, model choice, tools, handoffs, artifacts, retries, executable checks, review gates, and human approvals.
Atomicβs primitives are built for the software engineering lifecycle. Verification is built into the execution model.
Atomic is open so you can inspect and adapt it. You own the workflow, the evidence, and the rules for completion.
Own your intelligence. Build in the open. Question the defaults. Keep control of the process. β οΈ
node --version.With npm:
npm install -g @bastani/atomic
With pnpm:
pnpm add -g @bastani/atomic
With Bun:
bun add -g @bastani/atomic
Atomic does not require package install scripts. Add --ignore-scripts to the install command if you want to disable dependency lifecycle scripts during installation.
Start Atomic:
atomic
Login. Atomic supports subscription login for Codex, Claude, GitHub Copilot, xAI, as well as API-key providers such as OpenRouter:
/login # then select your provider
Claude login from a third-party harness uses Anthropic extra usage billed per token rather than Claude plan limits. See Providers & Models for integration details.
Missing a provider? Open an issue or contribute an integration.
For API-key setup, export the key before starting Atomic:
export OPENROUTER_API_KEY=sk-or-...
atomic
Atomic stores provider credentials in ~/.atomic/agent/auth.json and creates the file with owner-only permissions where the platform supports them. For non-interactive use, atomic -p "<prompt>" prints the response and exits.
After authenticating, run /atomic for workflow guides, examples, and next steps. A fresh install also shows a one-time workflow-engine introduction.
β οΈ Atomic has no built-in sandbox or command-level shell permission gate. Tools and extensions run with your user permissions. Run autonomous work inside a devcontainer, VM, or remote development machineβnot on a host with sensitive data or credentials.
Atomic runs in a standard devcontainer or VM with Node.js 22.19+ installed. Install it inside the container with a package manager and pass provider credentials through environment variables.
See Terminal setup, Security, and Programmatic Usage for the SDK and RPC entry points.
Already have agent skills? Bring them into Atomic by pointing Atomic at their existing directories or placing them in its project or user skill locations. Atomic implements the Agent Skills standard, and configured Claude Code or Codex skill directories can be used without rewriting them. See Skills.
When a skill captures a repeatable process, ask Atomic to author it as a durable workflow. Atomic inspects the skill and writes reviewable TypeScript using the workflow guide and its examples.
Inspect the existing skill `<skill-name-or-path>`βincluding its SKILL.md, scripts, references, and assetsβand consult Atomicβs workflow docs and runnable TypeScript examples; then author a reusable TypeScript `workflow({...})` that preserves the skillβs intent while turning its repeatable process into durable multi-stage execution with precise typed inputs and declared outputs, artifact-backed handoffs for substantial context, explicit validation gates, and bounded retries or stop conditions where appropriate; add and run representative tests or smoke cases for the applicable success, validation-failure, and retry/stop paths, reload and verify workflow discovery, and ask me only questions whose answers materially change the designβotherwise state sensible assumptions and proceed.
Atomic publishes an agent-readable llms.txt. Ask your current coding agent to:
Install and set up Atomic by following https://docs.bastani.ai/llms.txt.
Atomic is the runtime. Workflows encode durable processes through stages, tools, prompts, checks, artifacts, gates, and approvals. Skills supply reusable expert instructions. Specialized subagents handle focused work while a parent agent or workflow controls the larger task.
Atomic is a fork of Pi, so it works with the providers, tools, MCP servers, skills, and extensions already in your Pi stack.
Workflow stage dependencies must form a directed acyclic graph. Because imperative workflow({ run }) definitions materialize topology from runtime branches, loops, and nested calls, module discovery cannot prove arbitrary acyclicity. Cyclic workflow graphs are unsupported: authored loop and repair iterations must create distinct tracked work per iteration and must never create self-edges or back-edges to ancestors. Retries within one ctx.tool(...) call remain attempts on that tool node rather than separate graph work.
issue or goal β research β plan β agent stages β artifacts β checks β review gate β final output
A stage can prompt an agent, run tools, call MCP servers, save artifacts, pass selected output forward, branch, retry, run in parallel, or pause for approval. Model output can vary. The workflow definition makes stage order, inputs, handoffs, configured checks, gates, and artifacts explicit.
Use direct chat for small, interactive work. Use a skill or bounded subagent when the parent should stay in control. Use a workflow when a delegated job needs durable stages, retries, evidence, resumability, or approval gates. Phrases such as βrepeat until,β βreview and fix until passing,β or βrun checks until greenβ signal that the stop condition should be encoded and bounded.
Atomic can support:
Focused codebase research:
/skill:research-codebase how the rate limiter works in src/middleware/
Repository-wide research with durable artifacts:
/workflow fan-out-and-synthesize prompt="Partition the repository by subsystem, map every legacy auth middleware callsite, and synthesize cited migration findings"
A task-specific implementation and review loop:
Create and run a workflow that implements specs/2026-03-rate-limit.md, runs focused tests, sends the patch to fresh verifiers, and repairs findings until burst traffic returns 429 with Retry-After or the iteration bound is reached.
A reviewer-gated run with Goal:
/workflow goal objective="Update the CLI docs for --json, add one example, and validate the docs build"
A research-first implementation with Ralph:
/workflow ralph prompt="Implement specs/2026-03-rate-limit.md and validate burst traffic" create_pr=true
Use Goal when a durable ledger, receipts, bounded sub-agent orchestration, and reviewer-gated completion fit the task. Use Ralph when the job benefits from prompt refinement, codebase research, delegated implementation, and iterative multi-model review. Both skip PR creation unless create_pr=true explicitly authorizes the post-approval final stage.
Atomic ships three top-level building blocks: workflows, skills, and specialized subagents.
Workflows define inputs, stages, branches, parallelism, retries, checks, artifacts, checkpoints, and human review gates. Atomic can author TypeScript workflow({...}) definitions, import reusable project or package workflows, and nest workflows with ctx.workflow(...) within a configured maxDepth.
| Workflow | What it does | Example input |
|---|---|---|
fan-out-and-synthesize | Partitions independent slices, writes branch artifacts, and synthesizes their evidence. | /workflow fan-out-and-synthesize prompt="Map payment retries by subsystem and synthesize cited findings" |
adversarial-verification | Challenges a candidate with fresh verifiers and bounded repair. | /workflow adversarial-verification task="Verify the rate-limit migration patch" |
loop-until-done | Iterates with a durable ledger until explicit completion evidence or bound exhaustion. | /workflow loop-until-done prompt="Repair failures until the test suite passes" |
goal | Runs bounded autonomous implementation with a durable ledger, receipts, parallel review, and reducer-gated completion. | /workflow goal objective="Update CLI docs and validate the docs build" |
ralph | Runs research-first delegated implementation with bounded multi-model review and repair. | /workflow ralph prompt="Implement specs/rate-limit.md" create_pr=true |
open-claude-design | Gathers requirements and references, discovers the design system, refines output, and exports a handoff. | /workflow open-claude-design prompt="Team activity feed prototype using ./mocks/feed.png as a reference" |
| author your own | Issue-to-PR, migration, triage, release, compliance, or another process your team needs. Start with the workflow guide. | βCreate a workflow that plans, implements, runs tests and lint, reviews the diff, then stops for approval.β |
Run /workflow list to see installed workflows and /workflow inputs <name> for input schemas. Use /workflow status <id>, /workflow connect <id>, /workflow quit <id>, and /workflow resume <id> to manage runs. Quitting pauses work so it can resume later. Runnable references live in packages/coding-agent/examples/.
Skills are reusable expert instructions and process modules. Atomic can select one from its description, or you can call it with /skill:<name>.
| Skill | Purpose |
|---|---|
research-codebase | Analyze a focused area and write a dated research document. |
create-spec | Produce a technical execution spec grounded in research and engineer feedback. |
subagent | Delegate work through single agents, parallel groups, async runs, or forked context. |
intercom | Coordinate parent, child, and peer sessions on the same machine. |
prompt-engineer | Refine prompts, research questions, and workflow inputs. |
skill-creator | Create, improve, and evaluate reusable skills. |
tdd | Apply a red-green-refactor loop and testing guidance. |
tmux | Drive and verify terminal applications. |
playwright-cli | Automate browser interactions and end-to-end UI checks. |
liteparse | Extract text, tables, and values from documents and images. |
impeccable | Design, audit, and refine frontend interfaces. |
Subagents are purpose-built agents with scoped context, tools, and termination conditions. Atomic bundles nine definitions from packages/subagents/agents/.
| Subagent | Purpose |
|---|---|
worker | Implement a bounded task and return a concise result. |
codebase-locator | Locate files and components relevant to a task. |
codebase-analyzer | Analyze implementation details. |
codebase-pattern-finder | Find similar implementations and usage examples. |
codebase-online-researcher | Fetch current documentation and authoritative web sources. |
codebase-research-locator | Find relevant prior research in the repository. |
codebase-research-analyzer | Extract decisions and rationale from local research. |
code-simplifier | Refine recent code without changing behavior. |
debugger | Reproduce, diagnose, and verify fixes for failures. |
Large, mixed, or growing contexts can make attention harder. Specialized agents reduce that risk through isolation, focus, tool scoping, and deliberate handoffs. Independent tasks can also run in parallel.
Atomic uses tools exposed through CLIs, MCP servers, APIs, scripts, or custom extensions. These examples are not a fixed integration list.
| Need | Examples | How Atomic connects |
|---|---|---|
| Code and reviews | GitHub, GitLab, Git | CLIs such as gh and glab, MCP, or web access |
| Tickets and docs | Jira, Linear, Notion, Slack | MCP servers, APIs, or custom tools |
| Build and runtime | Docker, Kubernetes, AWS, Google Cloud, Azure | Installed CLIs such as docker, kubectl, aws, gcloud, or az |
| Observability and data | Sentry, Datadog, PostgreSQL | CLIs, MCP servers, APIs, or custom tools |
| UI validation | Playwright, Chrome | Built-in skills and browser automation |
You supply the credentials and permissions. The workflow defines how agents may use the available tools.
Full documentation lives at docs.bastani.ai. It covers the CLI and SDK, security, containerized execution, workflow authoring and monitoring, session management, configuration, troubleshooting, and provider setup.
The docs live in this repository under packages/coding-agent/docs. Open a pull request to suggest a change.
Atomic includes a coding-agent CLI. Its main product idea is the runtime around the agent session: scoped context, stages, tools, checks, artifacts, checkpoints, subagents, review gates, and human approvals.
Use any interactive coding tool that fits the job. Use Atomic when work needs an explicit process you can inspect, version, resume, and verify. Atomic connects to model providers directly rather than running those tools underneath it.
Atomic can fan work out too. The difference is not whether agents run in parallel; it is whether developers control the context, handoffs, execution graph, evidence, checks, and approval rules around that work. Parallel execution increases throughput. Assurance comes from the process you define and enforce.
The selected model can produce different output across runs. Workflow structure, stage dependencies, inputs, handoffs, configured checks, gates, and artifact paths are explicit. Deterministic reducers can apply declared approval rules to reviewer output.
CLAUDE.md?Markdown helps set context, but a model still has to follow it. An Atomic workflow runs declared stages and tools, validates configured outputs, records configured artifacts, and applies defined gates.
Atomic is repo-native and focused on software engineering work: issues, research, specs, branches, diffs, tests, lint, artifacts, reviewers, approvals, and handoffs. It provides a coding-agent runtime rather than a set of generic application primitives.
Research commonly lives in research/, specs in specs/, and workflow run data in the workflow run directory. A workflow can persist plans, logs, transcripts, reviewer notes, check output, and summaries for later inspection.
Read the Workflow Playbook for practical guidance on writing objectives, constraining scope, steering long-running work, validating results, and producing engineering handoffs.
Join the Atomic Discord community for questions, help, feedback, feature ideas, and examples of what you have built.
See CONTRIBUTING.md for contribution guidelines and DEV_SETUP.md for development setup and testing.
To contribute workflows, see the atomic-workflows repository.
MIT β see LICENSE.
.agents/
skills/
bun/
SKILL.md
gh-commit/
SKILL.md
gh-create-pr/
SKILL.md
gh-stack/
SKILL.md
prek/
SKILL.md
typescript-advanced-types/
SKILL.md
typescript-expert/
references/
tsconfig-strict.json
typescript-cheatsheet.md
utility-types.ts
scripts/
ts_diagnostic.py
SKILL.md
.atomic/
research/
prompt-opt/
baseline/
AGENT-REPORT.md
export-inventory-rerun.ts
exports.txt
frontmatter.txt
hazards.txt
prompt-graph.md
rule-inventory-rerun.ts
rule-inventory.md
sizes.tsv
structured-fields-rerun.sh
structured-fields.txt
claude_about-claude_models_introducing-claude-fable-5-and-claude-mythos-5.md
claude_about-claude_models_whats-new-opus-5.md
claude_agents-and-tools_tool-use_overview.md
claude_build-with-claude_compaction.md
claude_build-with-claude_effort.md
claude_build-with-claude_prompt-engineering_prompting-claude-fable-5.md
claude_build-with-claude_prompt-engineering_prompting-claude-opus-5.md
claude_build-with-claude_prompt-engineering_prompting-claude-sonnet-5.md
claude_build-with-claude_structured-outputs.md
claude_build-with-claude_thinking-steering-and-cost.md
claude_build-with-claude_thinking.md
claude-best-practices.md
notes/
task-A-report.md
task-A.md
task-B-report.md
task-B.md
task-C-report.md
task-C.md
task-D-report.md
task-D.md
task-E-report.md
task-E.md
task-F-report.md
task-F.md
task-G-report.md
task-G.md
task-H-docs-report.md
task-V-verification-report.md
task-V.md
task-W-e2e-report.md
task-X-delivery-report.md
task-Y-revert-report.md
openai-gpt56-prompting.md
openai-gpt56-upgrade.md
openai-latest-model.md
RUBRIC.md
workflows/
lib/
publish-release.ts
release-docs.ts
publish-release.ts
release-docs.ts
.cargo/
config.toml
.gitattributes
.github/
dependabot.yml
ISSUE_TEMPLATE/
bug.yml
config.yml
contribution.yml
workflows/
codeql.yml
publish.yml
test.yml
warm-toolchain-cache.yml
.gitignore
.gitmodules
.mcp.json
.npmrc
AGENTS.md
assets/
atomic-promo.gif
biome.json
bunfig.toml
Cargo.lock
Cargo.toml
CLAUDE.md
CONTRIBUTING.md
crates/
atomic-natives/
build.rs
Cargo.toml
src/
block.rs
fs_cache/
fs_cache.rs
cache.rs
paths.rs
policy.rs
test_util.rs
walker.rs
glob_util.rs
glob.rs
grep/
grep.rs
engine.rs
fs.rs
output.rs
pattern.rs
run.rs
walk.rs
lib.rs
pty.rs
subagent_control/
subagent_control.rs
control.rs
execution.rs
registry.rs
residency.rs
status.rs
task.rs
DESIGN.md
DEV_SETUP.md
docs/
ci.md
workflow-playbook.md
evals/
.python-version
atomic_harbor.py
atomic_pier.py
prerequisites.py
pyproject.toml
README.md
tests/
test_model_fallback.py
test_prerequisites.py
uv.lock
vendor/
LICENSE
package-lock.json
package.json
packages/
coding-agent/
.gitignore
CHANGELOG.md
docs/
changelog.mdx
compaction.md
containerization.md
custom-provider.md
development.md
docs.json
environment-variables.md
extensions.md
favicon.svg
images/
interactive-mode.png
tree-view.png
workflow-command.png
workflow-graph.png
workflow-input-picker.png
workflow-list.png
index.md
intercom.md
json.md
keybindings.md
llama-cpp.md
logo.svg
models/
models.md
artificial-analysis-index.md
model-selection.md
pareto-efficiency.md
packages.md
prompt-templates.md
providers.md
quickstart.md
rpc.md
sdk.md
security.md
session-format.md
sessions.md
settings.md
shell-aliases.md
skills.md
subagents.md
terminal-setup.md
termux.md
themes.md
tmux.md
tools.md
tui.md
usage.md
windows.md
workflows.md
examples/
extensions/
auto-commit-on-exit.ts
bash-spawn-hook.ts
bookmark.ts
border-status-editor.ts
built-in-tool-renderer.ts
claude-rules.ts
commands.ts
confirm-destructive.ts
custom-compaction.ts
custom-footer.ts
custom-header.ts
custom-provider-anthropic/
.gitignore
index.ts
package-lock.json
package.json
custom-provider-gitlab-duo/
.gitignore
index.ts
package.json
test.ts
dirty-repo-guard.ts
doom-overlay/
.gitignore
doom/
doom-component.ts
doom-engine.ts
doom-keys.ts
build.sh
doomgeneric_pi.c
index.ts
README.md
wad-finder.ts
dynamic-resources/
dynamic.json
dynamic.md
index.ts
SKILL.md
dynamic-tools.ts
event-bus.ts
file-trigger.ts
git-checkpoint.ts
git-merge-and-resolve.ts
github-issue-autocomplete.ts
gondolin/
.gitignore
index.ts
package-lock.json
package.json
handoff.ts
hello.ts
hidden-thinking-label.ts
inline-bash.ts
input-transform-streaming.ts
input-transform.ts
interactive-shell.ts
mac-system-theme.ts
message-renderer.ts
minimal-mode.ts
modal-editor.ts
model-status.ts
notify.ts
overlay-qa-animation-components.ts
overlay-qa-focus-components.ts
overlay-qa-position-components.ts
overlay-qa-shared.ts
overlay-qa-streaming-input-components.ts
overlay-qa-tests.ts
overlay-qa-toggle-passive-components.ts
overlay-test.ts
permission-gate.ts
pirate.ts
plan-mode/
index.ts
README.md
utils.ts
preset.ts
project-trust.ts
prompt-customizer.ts
protected-paths.ts
provider-payload.ts
qna.ts
question.ts
questionnaire.ts
rainbow-editor.ts
README.md
reload-runtime.ts
rpc-demo.ts
sandbox/
.gitignore
index.ts
package-lock.json
package.json
send-user-message.ts
session-name.ts
shutdown-command.ts
snake.ts
space-invaders.ts
ssh.ts
status-line.ts
structured-output.ts
subagent/
agents/
agents.ts
planner.md
reviewer.md
scout.md
worker.md
display.ts
index.ts
README.md
render.ts
runner.ts
schemas.ts
types.ts
summarize.ts
system-prompt-header.ts
tic-tac-toe-instructions.ts
tic-tac-toe-rendering.ts
tic-tac-toe-state.ts
tic-tac-toe.ts
timed-confirm.ts
titlebar-spinner.ts
todo.ts
tool-override.ts
tools.ts
trigger-compact.ts
truncated-tool.ts
widget-placement.ts
with-deps/
.gitignore
index.ts
package-lock.json
package.json
working-indicator.ts
working-message-test.ts
README.md
rpc-extension-ui-components.ts
rpc-extension-ui.ts
sdk/
01-minimal.ts
02-custom-model.ts
03-custom-prompt.ts
04-skills.ts
05-tools.ts
06-extensions.ts
07-context-files.ts
08-prompt-templates.ts
09-api-keys-and-oauth.ts
10-settings.ts
11-sessions.ts
12-full-control.ts
13-session-runtime.ts
README.md
npm-shrinkwrap.json
package.json
README.md
scripts/
assert-archive-architecture.ts
assert-pi-runtime-assets.ts
copy-builtin-packages.ts
copy-clipboard-native-bindings.ts
copy-runtime-dependencies.ts
generate-export-html-template.ts
migrate-sessions.sh
stage-clipboard-native-bindings.ts
validate-docs-links.ts
verify-workflow-sdk-types.ts
src/
bun/
cli.ts
internal-intercom-broker.ts
register-bedrock.ts
restore-sandbox-env.ts
split-loader.ts
cli/
cli.ts
args.ts
config-selector.ts
credential-print.ts
file-processor.ts
initial-message.ts
list-models.ts
project-trust.ts
... 1600 moreShowing a partial view of a very large repo.
FAQ
atomic is a Claude Code plugin with 11 hand-picked skills for agent orchestration work, indexed on Flowy. Install it with the command on its page. It includes intercom, liteparse, playwright-cli. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.