@bastani/atomic 0.5.25-0 → 0.5.26-0
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/.agents/skills/ado-commit/SKILL.md +92 -0
- package/.agents/skills/ado-create-pr/SKILL.md +209 -0
- package/.claude/settings.json +1 -0
- package/.mcp.json +5 -0
- package/.opencode/opencode.json +7 -1
- package/README.md +150 -116
- package/assets/settings.schema.json +2 -2
- package/dist/sdk/runtime/executor.d.ts.map +1 -1
- package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts +46 -0
- package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts +34 -0
- package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts +72 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts +46 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts +32 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts +33 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts +106 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts +50 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts +12 -0
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts.map +1 -0
- package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts +36 -0
- package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts.map +1 -0
- package/dist/services/config/atomic-config.d.ts +6 -0
- package/dist/services/config/atomic-config.d.ts.map +1 -1
- package/dist/services/config/scm-sync.d.ts +37 -0
- package/dist/services/config/scm-sync.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/cli.ts +2 -2
- package/src/commands/cli/chat/index.ts +8 -1
- package/src/commands/cli/config.ts +34 -10
- package/src/commands/cli/init/index.ts +9 -0
- package/src/sdk/runtime/executor.ts +13 -0
- package/src/sdk/workflows/builtin/open-claude-design/claude/index.ts +499 -0
- package/src/sdk/workflows/builtin/open-claude-design/copilot/index.ts +507 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/constants.ts +159 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/design-system.ts +88 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/export.ts +193 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/import.ts +52 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/prompts.ts +1110 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/scan.ts +117 -0
- package/src/sdk/workflows/builtin/open-claude-design/helpers/validation.ts +38 -0
- package/src/sdk/workflows/builtin/open-claude-design/opencode/index.ts +570 -0
- package/src/services/config/atomic-config.ts +12 -0
- package/src/services/config/scm-sync.ts +174 -0
- package/src/services/config/settings.ts +19 -0
package/README.md
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
[](./package.json)
|
|
10
10
|
[](./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 **
|
|
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
|
-
- [
|
|
259
|
-
- [
|
|
260
|
-
- [
|
|
261
|
-
- [
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
- [
|
|
267
|
-
|
|
268
|
-
- [
|
|
269
|
-
- [
|
|
270
|
-
- [
|
|
271
|
-
- [
|
|
272
|
-
- [
|
|
273
|
-
- [
|
|
274
|
-
- [
|
|
275
|
-
- [
|
|
276
|
-
- [
|
|
277
|
-
- [
|
|
278
|
-
- [
|
|
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 **
|
|
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
|
|
881
|
-
| `
|
|
882
|
-
| `
|
|
883
|
-
| `
|
|
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 (
|
|
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
|
-
| `
|
|
1069
|
-
| `
|
|
1070
|
-
| `
|
|
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
|
-
|
|
1095
|
-
|
|
|
1096
|
-
|
|
|
1097
|
-
| `
|
|
1098
|
-
| `
|
|
1099
|
-
| `
|
|
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 |
|
|
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 |
|
|
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) |
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EACV,kBAAkB,EAMlB,SAAS,EAET,YAAY,EAMb,MAAM,aAAa,CAAC;
|
|
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"}
|