@bastani/atomic 0.5.25 → 0.5.26

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.
Files changed (51) hide show
  1. package/.agents/skills/ado-commit/SKILL.md +92 -0
  2. package/.agents/skills/ado-create-pr/SKILL.md +209 -0
  3. package/.claude/settings.json +1 -0
  4. package/.mcp.json +5 -0
  5. package/.opencode/opencode.json +7 -1
  6. package/README.md +150 -116
  7. package/assets/settings.schema.json +2 -2
  8. package/dist/sdk/runtime/executor.d.ts.map +1 -1
  9. package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts +46 -0
  10. package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts.map +1 -0
  11. package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts +34 -0
  12. package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts.map +1 -0
  13. package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts +72 -0
  14. package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts.map +1 -0
  15. package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts +46 -0
  16. package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts.map +1 -0
  17. package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts +32 -0
  18. package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts.map +1 -0
  19. package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts +33 -0
  20. package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts.map +1 -0
  21. package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts +106 -0
  22. package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts.map +1 -0
  23. package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts +50 -0
  24. package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts.map +1 -0
  25. package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts +12 -0
  26. package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts.map +1 -0
  27. package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts +36 -0
  28. package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts.map +1 -0
  29. package/dist/services/config/atomic-config.d.ts +6 -0
  30. package/dist/services/config/atomic-config.d.ts.map +1 -1
  31. package/dist/services/config/scm-sync.d.ts +37 -0
  32. package/dist/services/config/scm-sync.d.ts.map +1 -0
  33. package/package.json +7 -7
  34. package/src/cli.ts +2 -2
  35. package/src/commands/cli/chat/index.ts +8 -1
  36. package/src/commands/cli/config.ts +34 -10
  37. package/src/commands/cli/init/index.ts +9 -0
  38. package/src/sdk/runtime/executor.ts +13 -0
  39. package/src/sdk/workflows/builtin/open-claude-design/claude/index.ts +499 -0
  40. package/src/sdk/workflows/builtin/open-claude-design/copilot/index.ts +507 -0
  41. package/src/sdk/workflows/builtin/open-claude-design/helpers/constants.ts +159 -0
  42. package/src/sdk/workflows/builtin/open-claude-design/helpers/design-system.ts +88 -0
  43. package/src/sdk/workflows/builtin/open-claude-design/helpers/export.ts +193 -0
  44. package/src/sdk/workflows/builtin/open-claude-design/helpers/import.ts +52 -0
  45. package/src/sdk/workflows/builtin/open-claude-design/helpers/prompts.ts +1110 -0
  46. package/src/sdk/workflows/builtin/open-claude-design/helpers/scan.ts +117 -0
  47. package/src/sdk/workflows/builtin/open-claude-design/helpers/validation.ts +38 -0
  48. package/src/sdk/workflows/builtin/open-claude-design/opencode/index.ts +570 -0
  49. package/src/services/config/atomic-config.ts +12 -0
  50. package/src/services/config/scm-sync.ts +174 -0
  51. package/src/services/config/settings.ts +19 -0
package/README.md CHANGED
@@ -9,9 +9,9 @@
9
9
  [![Bun](https://img.shields.io/badge/Bun-Runtime-f9f1e1?logo=bun&logoColor=black)](./package.json)
10
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
11
11
 
12
- **An open-source TypeScript SDK for building harnesses around your coding agent** — Claude Code, OpenCode, or GitHub Copilot CLI. Chain agent sessions into deterministic pipelines, add human-in-the-loop approval gates, dispatch **12 specialized sub-agents**, and tap **55 built-in skills** — then ship it as TypeScript your whole team runs.
12
+ **An open-source TypeScript SDK for building harnesses around your coding agent** — Claude Code, OpenCode, or GitHub Copilot CLI. Chain agent sessions into deterministic pipelines, add human-in-the-loop approval gates, dispatch **12 specialized sub-agents**, and tap **57 built-in skills** — then ship it as TypeScript your whole team runs.
13
13
 
14
- > Define how your agent works. Start for yourself, scale to your team.
14
+ > Define how your agent works. Start for yourself, scale to your team — across GitHub, Azure DevOps (ADO), or Sapling.
15
15
 
16
16
  ---
17
17
 
@@ -255,27 +255,54 @@ atomic workflow -n ux-personas -a claude
255
255
 
256
256
  ## Table of Contents
257
257
 
258
- - [Quick Start](#quick-start)
259
- - [Why Atomic](#why-atomic)
260
- - [Security: Workflow Permissions Model](#security-workflow-permissions-model)
261
- - [Core Features](#core-features)
262
- - [Multi-Agent Support](#multi-agent-support)
263
- - [Workflow SDK](#workflow-sdk--build-your-own-deterministic-harness)
264
- - [Research Codebase](#research-codebase)
265
- - [Autonomous Execution (Ralph)](#autonomous-execution-ralph)
266
- - [Deep Research Codebase](#deep-research-codebase)
267
- - [Containerized Execution](#containerized-execution)
268
- - [Specialized Sub-Agents](#specialized-sub-agents)
269
- - [Built-in Skills](#built-in-skills)
270
- - [Workflow Orchestrator Panel](#workflow-orchestrator-panel)
271
- - [Commands Reference](#commands-reference)
272
- - [Configuration](#configuration)
273
- - [Updating & Uninstalling](#updating--uninstalling)
274
- - [Troubleshooting](#troubleshooting)
275
- - [FAQ](#faq)
276
- - [Contributing](#contributing)
277
- - [License](#license)
278
- - [Credits](#credits)
258
+ - [Atomic](#atomic)
259
+ - [Quick Start](#quick-start)
260
+ - [Prerequisites](#prerequisites)
261
+ - [1. Install](#1-install)
262
+ - [2. Generate context files](#2-generate-context-files)
263
+ - [3. Try Ralph (autonomous coding)](#3-try-ralph-autonomous-coding)
264
+ - [4. Build your own workflow](#4-build-your-own-workflow)
265
+ - [Managing sessions](#managing-sessions)
266
+ - [Why Atomic](#why-atomic)
267
+ - [Example use cases](#example-use-cases)
268
+ - [Table of Contents](#table-of-contents)
269
+ - [Security: Workflow Permissions Model](#security-workflow-permissions-model)
270
+ - [Core Features](#core-features)
271
+ - [Multi-Agent Support](#multi-agent-support)
272
+ - [Workflow SDK — Build Your Own Deterministic Harness](#workflow-sdk--build-your-own-deterministic-harness)
273
+ - [Builder API](#builder-api)
274
+ - [WorkflowContext (`ctx`) — top-level orchestrator](#workflowcontext-ctx--top-level-orchestrator)
275
+ - [SessionContext (`s`) — inside each session callback](#sessioncontext-s--inside-each-session-callback)
276
+ - [Session Options (`SessionRunOptions`)](#session-options-sessionrunoptions)
277
+ - [Saving Transcripts](#saving-transcripts)
278
+ - [Per-Agent Session APIs](#per-agent-session-apis)
279
+ - [Key Rules](#key-rules)
280
+ - [Research Codebase](#research-codebase)
281
+ - [Autonomous Execution (Ralph)](#autonomous-execution-ralph)
282
+ - [Deep Research Codebase](#deep-research-codebase)
283
+ - [Containerized Execution](#containerized-execution)
284
+ - [Specialized Sub-Agents](#specialized-sub-agents)
285
+ - [Built-in Skills](#built-in-skills)
286
+ - [Workflow Orchestrator Panel](#workflow-orchestrator-panel)
287
+ - [Commands Reference](#commands-reference)
288
+ - [CLI Commands](#cli-commands)
289
+ - [Global Flags](#global-flags)
290
+ - [`atomic session` Subcommands](#atomic-session-subcommands)
291
+ - [`atomic chat` Flags](#atomic-chat-flags)
292
+ - [`atomic workflow` Flags](#atomic-workflow-flags)
293
+ - [`atomic completions` — Shell Completions](#atomic-completions--shell-completions)
294
+ - [Atomic-Provided Skills (invokable from any agent chat)](#atomic-provided-skills-invokable-from-any-agent-chat)
295
+ - [Configuration](#configuration)
296
+ - [`.atomic/settings.json`](#atomicsettingsjson)
297
+ - [Agent-Specific Files](#agent-specific-files)
298
+ - [Updating \& Uninstalling](#updating--uninstalling)
299
+ - [Update](#update)
300
+ - [Uninstall](#uninstall)
301
+ - [Troubleshooting](#troubleshooting)
302
+ - [FAQ](#faq)
303
+ - [Contributing](#contributing)
304
+ - [License](#license)
305
+ - [Credits](#credits)
279
306
 
280
307
  ---
281
308
 
@@ -529,19 +556,19 @@ The graph shows `seed → merge` — headless stages are transparent to the topo
529
556
 
530
557
  **Key capabilities:**
531
558
 
532
- | Capability | Description |
533
- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
534
- | **Dynamic session spawning** | `ctx.stage()` spawns sessions at runtime — each gets its own tmux window and graph node |
535
- | **Native TypeScript control flow** | Use `for`, `if/else`, `Promise.all()`, `try/catch` — no framework DSL |
536
- | **Session return values** | Session callbacks can return data: `const h = await ctx.stage(...); h.result` |
537
- | **Transcript passing** | Access prior output via handle (`s.transcript(handle)`) or name (`s.transcript("name")`) |
538
- | **Declared input schemas** | Add an `inputs: [...]` array and the CLI materialises `--<field>=<value>` flags with built-in validation |
539
- | **Interactive picker** | `atomic workflow -a <agent>` renders input schemas as forms — no flag memorisation |
540
- | **Nested sub-sessions** | `s.stage()` inside a callback spawns child sessions — visible as nested graph nodes |
541
- | **Auto-inferred graph** | Topology derived from `await` / `Promise.all` patterns — no annotations |
542
- | **Provider-agnostic** | Write raw SDK code for Claude, Copilot, or OpenCode inside each callback |
543
- | **Live graph visualization** | Sessions appear in the TUI graph as they spawn — loops and conditionals visible in real time |
544
- | **Background (headless) stages** | `headless: true` runs in-process without a tmux window — invisible in graph, tracked by statusline counter, identical callback API |
559
+ | Capability | Description |
560
+ | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
561
+ | **Dynamic session spawning** | `ctx.stage()` spawns sessions at runtime — each gets its own tmux window and graph node |
562
+ | **Native TypeScript control flow** | Use `for`, `if/else`, `Promise.all()`, `try/catch` — no framework DSL |
563
+ | **Session return values** | Session callbacks can return data: `const h = await ctx.stage(...); h.result` |
564
+ | **Transcript passing** | Access prior output via handle (`s.transcript(handle)`) or name (`s.transcript("name")`) |
565
+ | **Declared input schemas** | Add an `inputs: [...]` array and the CLI materialises `--<field>=<value>` flags with built-in validation |
566
+ | **Interactive picker** | `atomic workflow -a <agent>` renders input schemas as forms — no flag memorisation |
567
+ | **Nested sub-sessions** | `s.stage()` inside a callback spawns child sessions — visible as nested graph nodes |
568
+ | **Auto-inferred graph** | Topology derived from `await` / `Promise.all` patterns — no annotations |
569
+ | **Provider-agnostic** | Write raw SDK code for Claude, Copilot, or OpenCode inside each callback |
570
+ | **Live graph visualization** | Sessions appear in the TUI graph as they spawn — loops and conditionals visible in real time |
571
+ | **Background (headless) stages** | `headless: true` runs in-process without a tmux window — invisible in graph, tracked by statusline counter, identical callback API |
545
572
 
546
573
  **Deterministic execution guarantees:**
547
574
 
@@ -580,19 +607,19 @@ Variance comes only from the LLM's responses, not from the harness.
580
607
 
581
608
  #### SessionContext (`s`) — inside each session callback
582
609
 
583
- | Property | Type | Description |
584
- | -------------------------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
585
- | `s.client` | `ProviderClient<A>` | Pre-created SDK client (auto-managed by runtime) |
586
- | `s.session` | `ProviderSession<A>` | Pre-created provider session (auto-managed by runtime) |
587
- | `s.inputs` | `{ [K in N]?: string }` | Same typed inputs as `ctx.inputs`, forwarded into every stage so callbacks can read values without closing over the outer `ctx` |
588
- | `s.agent` | `AgentType` | Which agent is running |
589
- | `s.paneId` | `string` | tmux pane ID for this session |
590
- | `s.sessionId` | `string` | Session UUID |
591
- | `s.sessionDir` | `string` | Path to this session's storage directory on disk |
592
- | `s.save(messages)` | `SaveTranscript` | Save this session's output for subsequent sessions |
593
- | `s.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript |
594
- | `s.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
595
- | `s.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a nested sub-session (child in the graph) |
610
+ | Property | Type | Description |
611
+ | -------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
612
+ | `s.client` | `ProviderClient<A>` | Pre-created SDK client (auto-managed by runtime) |
613
+ | `s.session` | `ProviderSession<A>` | Pre-created provider session (auto-managed by runtime) |
614
+ | `s.inputs` | `{ [K in N]?: string }` | Same typed inputs as `ctx.inputs`, forwarded into every stage so callbacks can read values without closing over the outer `ctx` |
615
+ | `s.agent` | `AgentType` | Which agent is running |
616
+ | `s.paneId` | `string` | tmux pane ID for this session |
617
+ | `s.sessionId` | `string` | Session UUID |
618
+ | `s.sessionDir` | `string` | Path to this session's storage directory on disk |
619
+ | `s.save(messages)` | `SaveTranscript` | Save this session's output for subsequent sessions |
620
+ | `s.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript |
621
+ | `s.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
622
+ | `s.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a nested sub-session (child in the graph) |
596
623
 
597
624
  #### Session Options (`SessionRunOptions`)
598
625
 
@@ -645,14 +672,14 @@ For the authoring walkthrough ask Atomic to use the `workflow-creator` skill or
645
672
 
646
673
  The `/research-codebase` command dispatches **specialized sub-agents in parallel** to analyze your codebase — understand auth flows, trace root causes, query docs, and hit external sources via [DeepWiki MCP](https://deepwiki.com). Get up to speed on a new project in minutes instead of hours.
647
674
 
648
- | Sub-Agent | Model | Purpose |
649
- | ---------------------------- | ------ | ----------------------------------------------------------------------------------------- |
650
- | `codebase-locator` | Haiku | Locate files, directories, and components relevant to the research topic |
651
- | `codebase-analyzer` | Sonnet | Analyze implementation details, trace data flow, explain technical workings |
652
- | `codebase-pattern-finder` | Haiku | Find similar implementations, usage examples, and existing patterns to model after |
653
- | `codebase-online-researcher` | Sonnet | Fetch up-to-date information from the web and repository knowledge from DeepWiki |
654
- | `codebase-research-locator` | Haiku | Discover relevant documents in `research/` and `specs/` directories |
655
- | `codebase-research-analyzer` | Sonnet | Extract high-value insights, decisions, and technical details from research documents |
675
+ | Sub-Agent | Model | Purpose |
676
+ | ---------------------------- | ------ | ------------------------------------------------------------------------------------- |
677
+ | `codebase-locator` | Haiku | Locate files, directories, and components relevant to the research topic |
678
+ | `codebase-analyzer` | Sonnet | Analyze implementation details, trace data flow, explain technical workings |
679
+ | `codebase-pattern-finder` | Haiku | Find similar implementations, usage examples, and existing patterns to model after |
680
+ | `codebase-online-researcher` | Sonnet | Fetch up-to-date information from the web and repository knowledge from DeepWiki |
681
+ | `codebase-research-locator` | Haiku | Discover relevant documents in `research/` and `specs/` directories |
682
+ | `codebase-research-analyzer` | Sonnet | Extract high-value insights, decisions, and technical details from research documents |
656
683
 
657
684
  **Run parallel research sessions** to compare approaches:
658
685
 
@@ -748,20 +775,20 @@ See [Quick Start → Devcontainer](#1-install) for a working `.devcontainer.json
748
775
 
749
776
  Atomic dispatches **purpose-built sub-agents**, each with scoped context, tools, and termination conditions:
750
777
 
751
- | Sub-Agent | Purpose |
752
- | ---------------------------- | ---------------------------------------------------------------------- |
753
- | `planner` | Decompose specs into structured task lists with dependency tracking |
754
- | `worker` | Implement single focused tasks (multiple workers run in parallel) |
755
- | `reviewer` | Audit implementations against specs and best practices |
756
- | `code-simplifier` | Simplify and refine code for clarity, consistency, maintainability |
757
- | `orchestrator` | Coordinate complex multi-step workflows |
758
- | `codebase-analyzer` | Analyze implementation details of specific components |
759
- | `codebase-locator` | Locate files, directories, and components |
760
- | `codebase-pattern-finder` | Find similar implementations and usage examples |
761
- | `codebase-online-researcher` | Research using web sources and DeepWiki |
762
- | `codebase-research-analyzer` | Deep dive on research topics |
763
- | `codebase-research-locator` | Find documents in `research/` directory |
764
- | `debugger` | Debug errors, test failures, and unexpected behavior |
778
+ | Sub-Agent | Purpose |
779
+ | ---------------------------- | ------------------------------------------------------------------- |
780
+ | `planner` | Decompose specs into structured task lists with dependency tracking |
781
+ | `worker` | Implement single focused tasks (multiple workers run in parallel) |
782
+ | `reviewer` | Audit implementations against specs and best practices |
783
+ | `code-simplifier` | Simplify and refine code for clarity, consistency, maintainability |
784
+ | `orchestrator` | Coordinate complex multi-step workflows |
785
+ | `codebase-analyzer` | Analyze implementation details of specific components |
786
+ | `codebase-locator` | Locate files, directories, and components |
787
+ | `codebase-pattern-finder` | Find similar implementations and usage examples |
788
+ | `codebase-online-researcher` | Research using web sources and DeepWiki |
789
+ | `codebase-research-analyzer` | Deep dive on research topics |
790
+ | `codebase-research-locator` | Find documents in `research/` directory |
791
+ | `debugger` | Debug errors, test failures, and unexpected behavior |
765
792
 
766
793
  <details>
767
794
  <summary><i>Why specialize instead of using one general-purpose agent?</i></summary>
@@ -783,7 +810,7 @@ Use `/agents` in any chat session to see all available sub-agents.
783
810
 
784
811
  ### Built-in Skills
785
812
 
786
- Skills are structured capability modules that give agents best practices and reusable workflows. Atomic ships **55 skills** across eight categories; each lives at `.agents/skills/<name>/SKILL.md` and is auto-invoked when the agent detects a relevant trigger.
813
+ Skills are structured capability modules that give agents best practices and reusable workflows. Atomic ships **57 skills** across eight categories; each lives at `.agents/skills/<name>/SKILL.md` and is auto-invoked when the agent detects a relevant trigger.
787
814
 
788
815
  <details>
789
816
  <summary><b>Development workflows</b></summary>
@@ -872,15 +899,19 @@ Skills are structured capability modules that give agents best practices and reu
872
899
  | `pptx` | Create, read, edit, and manipulate PowerPoint (`.pptx`) slide decks |
873
900
  | `liteparse` | Parse and convert unstructured files (PDF, DOCX, PPTX, images) locally |
874
901
 
875
- **Git / Sapling / automation:**
902
+ **Git / Azure DevOps / Sapling / automation:**
876
903
 
877
- | Skill | Description |
878
- | ---------------- | -------------------------------------------------------- |
879
- | `gh-commit` | Conventional-commit Git commits |
880
- | `gh-create-pr` | Commit unstaged changes, push, and submit a pull request |
881
- | `sl-commit` | Conventional-commit Sapling commits |
882
- | `sl-submit-diff` | Submit Sapling commits as Phabricator diffs |
883
- | `playwright-cli` | Automate browser interactions, tests, screenshots |
904
+ | Skill | Description |
905
+ | ---------------- | --------------------------------------------------------------------------- |
906
+ | `gh-commit` | Conventional-commit Git commits |
907
+ | `gh-create-pr` | Commit unstaged changes, push, and submit a GitHub PR |
908
+ | `ado-commit` | Conventional-commit Git commits for Azure DevOps (adds `AB#<id>` trailers) |
909
+ | `ado-create-pr` | Commit, push, and open an Azure DevOps PR via the `azure-devops` MCP server |
910
+ | `sl-commit` | Conventional-commit Sapling commits |
911
+ | `sl-submit-diff` | Submit Sapling commits as Phabricator diffs |
912
+ | `playwright-cli` | Automate browser interactions, tests, screenshots |
913
+
914
+ > **Note on source control providers:** the GitHub and Azure DevOps MCP servers are **disabled by default** to avoid consuming tokens on projects that don't need them. Set `scm` in `.atomic/settings.json` (or run `atomic config set scm <provider>`) to `github`, `azure-devops`, or `sapling` — on every `atomic chat` / `atomic workflow` startup Atomic reconciles `.claude/settings.json` (`disabledMcpjsonServers`), `.opencode/opencode.json` (`mcp.<server>.enabled`), and appends `--disable-mcp-server <name>` to the Copilot CLI invocation (Copilot has no on-disk MCP toggle). `sapling` disables both servers everywhere.
884
915
 
885
916
  **Meta:**
886
917
 
@@ -914,16 +945,16 @@ During `atomic chat`, there is no Atomic-owned TUI — `atomic chat -a <agent>`
914
945
 
915
946
  ### CLI Commands
916
947
 
917
- | Command | Description |
918
- | ------------------------------- | --------------------------------------------------------------------- |
919
- | `atomic chat` | Spawn the native agent CLI inside a tmux session |
920
- | `atomic workflow` | Run a multi-session workflow with the Atomic orchestrator panel |
921
- | `atomic workflow list` | List available workflows, grouped by source |
922
- | `atomic session list` | List all running sessions on the atomic tmux socket |
923
- | `atomic session connect [name]` | Attach to a session (interactive picker when no name given) |
924
- | `atomic session kill [name]` | Kill a session by name, or all sessions when no name is given |
925
- | `atomic completions <shell>` | Output shell completion script (bash, zsh, fish, powershell) |
926
- | `atomic config set <k> <v>` | Set configuration values (currently supports `telemetry`) |
948
+ | Command | Description |
949
+ | ------------------------------- | --------------------------------------------------------------- |
950
+ | `atomic chat` | Spawn the native agent CLI inside a tmux session |
951
+ | `atomic workflow` | Run a multi-session workflow with the Atomic orchestrator panel |
952
+ | `atomic workflow list` | List available workflows, grouped by source |
953
+ | `atomic session list` | List all running sessions on the atomic tmux socket |
954
+ | `atomic session connect [name]` | Attach to a session (interactive picker when no name given) |
955
+ | `atomic session kill [name]` | Kill a session by name, or all sessions when no name is given |
956
+ | `atomic completions <shell>` | Output shell completion script (bash, zsh, fish, powershell) |
957
+ | `atomic config set <k> <v>` | Set configuration values (supports `telemetry` and `scm`) |
927
958
 
928
959
  #### Global Flags
929
960
 
@@ -978,13 +1009,13 @@ atomic chat -a claude --verbose # forward --verbose to claude
978
1009
 
979
1010
  #### `atomic workflow` Flags
980
1011
 
981
- | Flag | Description |
982
- | -------------------- | ------------------------------------------------------------------------------------------------- |
983
- | `-n, --name <name>` | Workflow name (matches directory under `.atomic/workflows/<name>/`) |
984
- | `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
1012
+ | Flag | Description |
1013
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
1014
+ | `-n, --name <name>` | Workflow name (matches directory under `.atomic/workflows/<name>/`) |
1015
+ | `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
985
1016
  | `-d, --detach` | Start the workflow in the background without attaching — ideal for scripted / CI runs; attach later with `atomic workflow session connect <name>` |
986
- | `--<field>=<value>` | Structured input for workflows that declare an `inputs` schema (also accepts `--<field> <value>`) |
987
- | `[prompt...]` | Positional prompt — requires the workflow to declare a `prompt` input |
1017
+ | `--<field>=<value>` | Structured input for workflows that declare an `inputs` schema (also accepts `--<field> <value>`) |
1018
+ | `[prompt...]` | Positional prompt — requires the workflow to declare a `prompt` input |
988
1019
 
989
1020
  Five invocation shapes:
990
1021
 
@@ -1057,17 +1088,19 @@ Add-Content $PROFILE "`nif (Test-Path `"$cache`") { . `"$cache`" }"
1057
1088
 
1058
1089
  Atomic ships skills — not slash commands. Skills are auto-discovered by Claude Code, OpenCode, and Copilot CLI, invoked by typing `/<skill-name>` (Claude Code) or by natural-language reference (OpenCode / Copilot CLI).
1059
1090
 
1060
- | Skill | Typical invocation | Purpose |
1061
- | ------------------- | --------------------------------- | ----------------------------------------------------------------------------- |
1062
- | `init` | `/init` | Generate `CLAUDE.md` and `AGENTS.md` by exploring the codebase |
1063
- | `research-codebase` | `/research-codebase "<question>"` | Dispatch parallel sub-agents to analyze the codebase and write a research doc |
1064
- | `create-spec` | `/create-spec "<research-path>"` | Produce a technical spec grounded in a research document |
1065
- | `explain-code` | `/explain-code "<path>"` | Deep-dive explanation of specific code using DeepWiki |
1066
- | `gh-commit` | `/gh-commit` | Create a conventional-commit Git commit |
1067
- | `gh-create-pr` | `/gh-create-pr` | Commit, push, and open a pull request |
1068
- | `sl-commit` | `/sl-commit` | Create a Sapling commit |
1069
- | `sl-submit-diff` | `/sl-submit-diff` | Submit a Sapling commit as a Phabricator diff |
1070
- | `workflow-creator` | natural language | Generate a multi-agent workflow file in `.atomic/workflows/` |
1091
+ | Skill | Typical invocation | Purpose |
1092
+ | ------------------- | --------------------------------- | ------------------------------------------------------------------------------- |
1093
+ | `init` | `/init` | Generate `CLAUDE.md` and `AGENTS.md` by exploring the codebase |
1094
+ | `research-codebase` | `/research-codebase "<question>"` | Dispatch parallel sub-agents to analyze the codebase and write a research doc |
1095
+ | `create-spec` | `/create-spec "<research-path>"` | Produce a technical spec grounded in a research document |
1096
+ | `explain-code` | `/explain-code "<path>"` | Deep-dive explanation of specific code using DeepWiki |
1097
+ | `gh-commit` | `/gh-commit` | Create a conventional-commit Git commit |
1098
+ | `gh-create-pr` | `/gh-create-pr` | Commit, push, and open a GitHub pull request |
1099
+ | `ado-commit` | `/ado-commit` | Create a conventional-commit Git commit on an Azure DevOps-hosted repo |
1100
+ | `ado-create-pr` | `/ado-create-pr` | Commit, push, and open an Azure DevOps PR through the `azure-devops` MCP server |
1101
+ | `sl-commit` | `/sl-commit` | Create a Sapling commit |
1102
+ | `sl-submit-diff` | `/sl-submit-diff` | Submit a Sapling commit as a Phabricator diff |
1103
+ | `workflow-creator` | natural language | Generate a multi-agent workflow file in `.atomic/workflows/` |
1071
1104
 
1072
1105
  Native slash commands (`/help`, `/clear`, `/compact`, `/model`, `/theme`, `/agents`, `/mcp`, `/exit`) come from the underlying agent CLI, not Atomic.
1073
1106
 
@@ -1091,12 +1124,13 @@ Resolution order:
1091
1124
  }
1092
1125
  ```
1093
1126
 
1094
- | Field | Type | Description |
1095
- | ------------- | ------ | ----------------------------------------- |
1096
- | `$schema` | string | JSON Schema URL for editor autocomplete |
1097
- | `version` | number | Config schema version (currently `1`) |
1098
- | `scm` | string | Source control: `github` or `sapling` |
1099
- | `lastUpdated` | string | ISO 8601 timestamp of the last update |
1127
+
1128
+ | Field | Type | Description |
1129
+ | ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
1130
+ | `$schema` | string | JSON Schema URL for editor autocomplete |
1131
+ | `version` | number | Config schema version (currently `1`) |
1132
+ | `scm` | string | Source control provider `github`, `azure-devops`, or `sapling`. Reconciles the GitHub / Azure DevOps MCP servers in agent configs on startup. |
1133
+ | `lastUpdated` | string | ISO 8601 timestamp of the last update |
1100
1134
 
1101
1135
  > Model selection and reasoning effort are managed by each underlying agent CLI (e.g. Claude Code's `/model`), not Atomic. Atomic's chat command spawns the agent's native TUI — use the agent's own controls.
1102
1136
 
@@ -1183,7 +1217,7 @@ Ensure the agent CLI is in your PATH. Atomic uses `Bun.which()`, which handles `
1183
1217
  | **Data Flow** | Manual — copy output between steps | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1184
1218
  | **Agent Support** | GitHub Copilot CLI | Claude Code + OpenCode + Copilot CLI — switch with a flag |
1185
1219
  | **Sub-Agents** | Single general-purpose agent | 12 specialized sub-agents with scoped tools and isolated contexts |
1186
- | **Skills** | Not available | 55 built-in skills (development, design, docs, agent architecture) |
1220
+ | **Skills** | Not available | 57 built-in skills (development, design, docs, agent architecture) |
1187
1221
  | **Autonomous Execution** | Not available | Ralph — multi-hour autonomous sessions with plan/implement/review/debug loop |
1188
1222
  | **Execution Guarantees** | Non-deterministic | Deterministic — strict step ordering, frozen definitions, controlled transcript access |
1189
1223
  | **Isolation** | Not addressed | Devcontainer features for containerized execution |
@@ -1206,7 +1240,7 @@ Ensure the agent CLI is in your PATH. Atomic uses `Bun.which()`, which handles `
1206
1240
  | **Execution Model** | DAG-based with conditional edges | Deterministic — strict step ordering, frozen definitions, controlled transcript passing |
1207
1241
  | **Parallelism** | Via LangGraph branch nodes | Native parallel sessions via `Promise.all()` with `ctx.session()` in isolated context windows |
1208
1242
  | **Sub-Agents** | Researcher, coder, reporter nodes | 12 specialized sub-agents with scoped tools (planner, worker, reviewer, debugger, etc.) |
1209
- | **Skills** | Not available | 55 built-in skills auto-invoked by context |
1243
+ | **Skills** | Not available | 57 built-in skills auto-invoked by context |
1210
1244
  | **Isolation** | Sandbox containers | Devcontainer features + git worktrees |
1211
1245
  | **Interface** | Web UI (Streamlit) | Terminal chat with tmux-based session management |
1212
1246
  | **Autonomous** | Not available | Ralph — bounded iteration with plan/implement/review/debug loop |
@@ -1231,7 +1265,7 @@ Ensure the agent CLI is in your PATH. Atomic uses `Bun.which()`, which handles `
1231
1265
  | **Data Flow** | In-context within a single conversation | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1232
1266
  | **Self-Improvement** | Closed learning loop — auto-creates skills from experience, persistent user model via Honcho | Skills authored by developers; memory via CLAUDE.md / AGENTS.md context files |
1233
1267
  | **Sub-Agents** | `delegate_task` spawns isolated subagents | 12 specialized sub-agents with scoped tools and model tiers (Opus, Sonnet, Haiku) |
1234
- | **Skills** | 40+ tools + community Skills Hub (agentskills.io) | 55 built-in skills (development, design, docs, agent architecture) |
1268
+ | **Skills** | 40+ tools + community Skills Hub (agentskills.io) | 57 built-in skills (development, design, docs, agent architecture) |
1235
1269
  | **Interface** | Terminal TUI + multi-platform messaging gateway (Telegram, Discord, Slack, WhatsApp, etc.) | Terminal chat with tmux-based session management |
1236
1270
  | **Isolation** | Six terminal backends (local, Docker, SSH, Daytona, Singularity, Modal) | Devcontainer features + git worktrees |
1237
1271
  | **Autonomous Execution** | Cron scheduler with inactivity-based timeouts | Ralph — bounded iteration with plan/implement/review/debug loop |
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "scm": {
16
16
  "type": "string",
17
- "enum": ["github", "sapling"],
18
- "description": "Selected source control management system."
17
+ "enum": ["github", "azure-devops", "sapling"],
18
+ "description": "Selected source control provider. On atomic startup, the corresponding GitHub / Azure DevOps MCP servers are enabled in `.claude/settings.json` and `.opencode/opencode.json`; the others are disabled to avoid unnecessary token consumption."
19
19
  },
20
20
  "lastUpdated": {
21
21
  "type": "string",
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/sdk/runtime/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/sdk/runtime/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * open-claude-design / claude
3
+ *
4
+ * An open-source replica of Anthropic's Claude Design product, implemented
5
+ * as an Atomic CLI workflow. Orchestrates the design skill ecosystem
6
+ * (impeccable, critique, shape, polish, audit, etc.) into a deterministic
7
+ * 5-phase pipeline:
8
+ *
9
+ * Phase 1: Design System Onboarding — extract tokens, build Design.md (HIL)
10
+ * Phase 2: Import — aggregate text/URL/file references
11
+ * Phase 3: Generation — produce first design version
12
+ * Phase 4: Refinement Loop — bounded iterate with critique + user feedback
13
+ * Phase 5: Export/Handoff — HTML export + Claude Code handoff bundle
14
+ *
15
+ * Topology:
16
+ *
17
+ * ┌─→ ds-locator (headless) ∥ ds-analyzer (headless) ∥ ds-patterns (headless)
18
+ * │ │
19
+ * │ ▼
20
+ * │ design-system-builder (visible, HIL)
21
+ * │ │
22
+ * │ ▼
23
+ * │ web-capture (headless, if URL) ∥ file-parser (headless, if file)
24
+ * │ │
25
+ * │ ▼
26
+ * │ generator (visible)
27
+ * │ │
28
+ * │ ▼
29
+ * │ ┌─→ user-feedback-i (visible, HIL)
30
+ * │ │ │
31
+ * │ │ ├─→ critique-i (headless) ∥ screenshot-i (headless)
32
+ * │ │ │
33
+ * │ │ ▼
34
+ * │ │ apply-changes-i (visible)
35
+ * │ │ │
36
+ * │ └─────────┘ (loop until approved or MAX_REFINEMENTS)
37
+ * │ │
38
+ * │ ▼
39
+ * │ exporter (visible)
40
+ * └──────────────────────────────────────
41
+ *
42
+ * Run: atomic workflow -n open-claude-design -a claude "design a dashboard"
43
+ */
44
+ declare const _default: import("../../../index.ts").WorkflowDefinition<"claude", "prompt" | "reference" | "output-type" | "design-system">;
45
+ export default _default;
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdk/workflows/builtin/open-claude-design/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;AA8CH,wBA0Za"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * open-claude-design / copilot
3
+ *
4
+ * Copilot replica of the Claude open-claude-design workflow. Orchestrates
5
+ * the design skill ecosystem (impeccable, critique, shape, polish, audit,
6
+ * etc.) into a deterministic 5-phase pipeline:
7
+ *
8
+ * Phase 1: Design System Onboarding — extract tokens, build Design.md (HIL)
9
+ * Phase 2: Import — aggregate text/URL/file references
10
+ * Phase 3: Generation — produce first design version
11
+ * Phase 4: Refinement Loop — bounded iterate with critique + user feedback
12
+ * Phase 5: Export/Handoff — HTML export + Claude Code handoff bundle
13
+ *
14
+ * Copilot-specific concerns (see references/failure-modes.md):
15
+ *
16
+ * • F5 — every `ctx.stage()` is a FRESH session. Every specialist receives
17
+ * its required context verbatim in its first prompt.
18
+ * • F1 — Copilot's last assistant turn is often empty when the agent ends
19
+ * on a tool call. Use `getAssistantText()` (concatenation of every
20
+ * top-level non-empty assistant turn, ignoring sub-agent
21
+ * `parentToolCallId` traffic) instead of `.at(-1).data.content`.
22
+ * • F9 — `s.save()` receives `SessionEvent[]` from `s.session.getMessages()`.
23
+ *
24
+ * Sub-agents are dispatched via `sessionOpts.agent` (the Copilot-native way
25
+ * to bind a session to a single named sub-agent). Permissions default to
26
+ * `approveAll` so headless stages run unattended.
27
+ *
28
+ * See claude/index.ts for the full topology diagram and design rationale.
29
+ *
30
+ * Run: atomic workflow -n open-claude-design -a copilot "design a dashboard"
31
+ */
32
+ declare const _default: import("../../../index.ts").WorkflowDefinition<"copilot", "prompt" | "reference" | "output-type" | "design-system">;
33
+ export default _default;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdk/workflows/builtin/open-claude-design/copilot/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AA2DH,wBAiaa"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Constants for the open-claude-design workflow.
3
+ *
4
+ * Design-rule constants (REFLEX_FONTS, IMPECCABLE_BANS, DESIGN_DONTS) mirror
5
+ * the canonical impeccable skill shipped at
6
+ * `~/.claude/skills/impeccable/SKILL.md`. The skill itself is only loaded
7
+ * opportunistically by the agent — so we inline the load-bearing rules here
8
+ * to guarantee every generation/refinement/critique turn sees them even if
9
+ * the skill is missing or fails to load. Re-sync when the skill updates.
10
+ */
11
+ /** Maximum refinement iterations before the loop exits unconditionally. */
12
+ export declare const MAX_REFINEMENTS = 5;
13
+ /**
14
+ * Headless stages: structured analysis, tool orchestration, rubric-following.
15
+ * Uses Sonnet for cost efficiency. Bypasses permissions for unattended operation.
16
+ */
17
+ export declare const HEADLESS_OPTS: {
18
+ readonly permissionMode: "bypassPermissions";
19
+ readonly allowDangerouslySkipPermissions: true;
20
+ readonly model: "sonnet";
21
+ };
22
+ /**
23
+ * Visible/creative stages: inherit orchestrator model (Opus).
24
+ * No model override — inherits from the parent session.
25
+ */
26
+ export declare const VISIBLE_OPTS: {
27
+ readonly permissionMode: "bypassPermissions";
28
+ readonly allowDangerouslySkipPermissions: true;
29
+ };
30
+ /** Name of the design system file written to the project root. */
31
+ export declare const DESIGN_SYSTEM_FILENAME = "Design.md";
32
+ /** Directory under project root where final design outputs are stored. */
33
+ export declare const DESIGNS_DIR = "research/designs";
34
+ /** Name of the existing impeccable brand context file. */
35
+ export declare const IMPECCABLE_FILENAME = ".impeccable.md";
36
+ /**
37
+ * Structured ban — rendered into generation/refinement/critique prompts as a
38
+ * `rule` (what is forbidden) plus `detail` (the CSS pattern + the rewrite).
39
+ */
40
+ export interface ImpeccableBan {
41
+ readonly id: string;
42
+ readonly rule: string;
43
+ readonly detail: string;
44
+ }
45
+ /**
46
+ * Absolute CSS bans from the canonical impeccable skill's `<absolute_bans>`
47
+ * section. These are the two patterns that the skill flags as "NEVER
48
+ * acceptable" regardless of color, radius, or CSS variable naming. If you
49
+ * change this list, re-sync with `~/.claude/skills/impeccable/SKILL.md`.
50
+ */
51
+ export declare const IMPECCABLE_BANS: readonly ImpeccableBan[];
52
+ /**
53
+ * Canonical reflex fonts from the impeccable skill's
54
+ * `<reflex_fonts_to_reject>` list. These are the training-data defaults that
55
+ * create monoculture across projects; every one of them is banned.
56
+ */
57
+ export declare const REFLEX_FONTS: readonly string[];
58
+ /**
59
+ * Non-ban DON'Ts distilled from the impeccable skill sections on Typography,
60
+ * Color, Layout/Space, Motion, UX Writing, and Responsive. These are not
61
+ * absolute bans, but they are the recognizable AI fingerprints from
62
+ * 2024-2025 and must be avoided in generated designs.
63
+ */
64
+ export declare const DESIGN_DONTS: readonly string[];
65
+ /**
66
+ * Command invocation for the impeccable scanner. The correct subcommand is
67
+ * `detect`; a bare `impeccable --json` just prints the top-level help.
68
+ * Exit code is always 0 — callers must parse the JSON array and check length
69
+ * to know whether findings exist.
70
+ */
71
+ export declare const IMPECCABLE_SCAN_CMD: readonly ["bunx", "impeccable", "detect", "--json"];
72
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/sdk/workflows/builtin/open-claude-design/helpers/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,0EAA0E;AAC1E,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAE9C,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAoB1C,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAwBhC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EA4BhC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,qDAKtB,CAAC"}