@bastani/atomic 0.8.13-0 → 0.8.14-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/CHANGELOG.md +24 -0
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/host-html-template.ts +1 -1
- package/dist/builtin/mcp/init.ts +15 -2
- package/dist/builtin/mcp/mcp-callback-server.ts +10 -9
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/mcp/ui-session.ts +9 -6
- package/dist/builtin/subagents/CHANGELOG.md +8 -1
- package/dist/builtin/subagents/README.md +39 -32
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/subagents/skills/subagent/SKILL.md +11 -11
- package/dist/builtin/subagents/src/agents/agent-management.ts +6 -1
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +2 -0
- package/dist/builtin/subagents/src/agents/agents.ts +44 -19
- package/dist/builtin/subagents/src/extension/config.ts +16 -0
- package/dist/builtin/subagents/src/extension/fanout-child.ts +246 -0
- package/dist/builtin/subagents/src/extension/index.ts +466 -603
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +6 -4
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +109 -1
- package/dist/builtin/subagents/src/runs/background/async-execution.ts +124 -19
- package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +41 -6
- package/dist/builtin/subagents/src/runs/background/async-resume.ts +28 -15
- package/dist/builtin/subagents/src/runs/background/async-status.ts +60 -30
- package/dist/builtin/subagents/src/runs/background/result-watcher.ts +111 -54
- package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +83 -0
- package/dist/builtin/subagents/src/runs/background/run-status.ts +79 -3
- package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +46 -1
- package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +66 -14
- package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +10 -3
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +14 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +320 -23
- package/dist/builtin/subagents/src/runs/shared/completion-guard.ts +23 -1
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +369 -0
- package/dist/builtin/subagents/src/runs/shared/nested-events.ts +935 -0
- package/dist/builtin/subagents/src/runs/shared/nested-path.ts +52 -0
- package/dist/builtin/subagents/src/runs/shared/nested-render.ts +115 -0
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -0
- package/dist/builtin/subagents/src/runs/shared/pi-args.ts +82 -9
- package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +12 -2
- package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +32 -10
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +3 -2
- package/dist/builtin/subagents/src/shared/artifacts.ts +0 -1
- package/dist/builtin/subagents/src/shared/types.ts +96 -1
- package/dist/builtin/subagents/src/shared/utils.ts +10 -2
- package/dist/builtin/subagents/src/slash/slash-commands.ts +468 -625
- package/dist/builtin/subagents/src/tui/render.ts +1227 -2093
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +24 -0
- package/dist/builtin/workflows/README.md +28 -11
- package/dist/builtin/workflows/builtin/deep-research-codebase.ts +323 -40
- package/dist/builtin/workflows/builtin/ralph.ts +362 -176
- package/dist/builtin/workflows/package.json +2 -5
- package/dist/builtin/workflows/skills/research-codebase/SKILL.md +1 -1
- package/dist/builtin/workflows/skills/skill-creator/LICENSE.txt +202 -0
- package/dist/builtin/workflows/skills/skill-creator/SKILL.md +489 -0
- package/dist/builtin/workflows/skills/skill-creator/agents/analyzer.md +274 -0
- package/dist/builtin/workflows/skills/skill-creator/agents/comparator.md +202 -0
- package/dist/builtin/workflows/skills/skill-creator/agents/grader.md +223 -0
- package/dist/builtin/workflows/skills/skill-creator/assets/eval_review.html +146 -0
- package/dist/builtin/workflows/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/dist/builtin/workflows/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/dist/builtin/workflows/skills/skill-creator/references/schemas.md +430 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/__init__.py +0 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/generate_report.py +326 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/improve_description.py +247 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/package_skill.py +136 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/run_eval.py +310 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/run_loop.py +328 -0
- package/dist/builtin/workflows/skills/skill-creator/scripts/utils.py +47 -0
- package/dist/builtin/workflows/src/extension/index.ts +869 -93
- package/dist/builtin/workflows/src/extension/render-call.ts +34 -1
- package/dist/builtin/workflows/src/extension/render-result.ts +126 -21
- package/dist/builtin/workflows/src/extension/runtime.ts +91 -3
- package/dist/builtin/workflows/src/extension/wiring.ts +38 -12
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +62 -5
- package/dist/builtin/workflows/src/runs/background/runner.ts +3 -3
- package/dist/builtin/workflows/src/runs/background/status.ts +42 -8
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +410 -95
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +5 -2
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +8 -0
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +6 -4
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +3 -2
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +138 -5
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +30 -0
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +78 -120
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +193 -0
- package/dist/builtin/workflows/src/shared/store-types.ts +26 -1
- package/dist/builtin/workflows/src/shared/store.ts +145 -17
- package/dist/builtin/workflows/src/shared/timing.ts +6 -2
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +375 -0
- package/dist/builtin/workflows/src/tui/chat-surface.ts +68 -17
- package/dist/builtin/workflows/src/tui/connectors.ts +2 -2
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +24 -26
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +4 -8
- package/dist/builtin/workflows/src/tui/graph-view.ts +17 -14
- package/dist/builtin/workflows/src/tui/header.ts +38 -0
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +161 -238
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +68 -73
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -3
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +2 -1
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +1 -3
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +286 -399
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +11 -0
- package/dist/builtin/workflows/src/tui/node-card.ts +2 -1
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +9 -1
- package/dist/builtin/workflows/src/tui/prompt-card.ts +46 -19
- package/dist/builtin/workflows/src/tui/run-detail.ts +63 -80
- package/dist/builtin/workflows/src/tui/session-confirm.ts +9 -3
- package/dist/builtin/workflows/src/tui/session-picker.ts +19 -16
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +88 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +368 -879
- package/dist/builtin/workflows/src/tui/status-helpers.ts +4 -0
- package/dist/builtin/workflows/src/tui/status-list.ts +67 -75
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +50 -12
- package/dist/builtin/workflows/src/tui/submit-pane.ts +164 -0
- package/dist/builtin/workflows/src/tui/switcher.ts +27 -4
- package/dist/builtin/workflows/src/tui/text-helpers.ts +98 -4
- package/dist/builtin/workflows/src/tui/widget.ts +90 -68
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +23 -2
- package/dist/builtin/workflows/src/tui/workflow-list.ts +44 -68
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -3
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -10
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +2 -1
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +3 -2
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +6 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +16 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +8 -9
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -2
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +2 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +8 -6
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.js +6 -3
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +12 -29
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +5 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/package-manager.d.ts +8 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +145 -58
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +6 -20
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +38 -31
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +9 -4
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +32 -24
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +8 -15
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +8 -22
- package/dist/core/skills.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +5 -4
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js +34 -11
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/selectors/contract.d.ts +1 -0
- package/dist/core/tools/ask-user-question/state/selectors/contract.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/selectors/contract.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/selectors/projections.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/selectors/projections.js +1 -0
- package/dist/core/tools/ask-user-question/state/selectors/projections.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/state-reducer.d.ts +1 -2
- package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/state-reducer.js +26 -9
- package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/state.d.ts +4 -0
- package/dist/core/tools/ask-user-question/state/state.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/state.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/option-list-view.d.ts +1 -0
- package/dist/core/tools/ask-user-question/view/components/option-list-view.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/option-list-view.js +1 -0
- package/dist/core/tools/ask-user-question/view/components/option-list-view.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts +9 -6
- package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/wrapping-select.js +28 -7
- package/dist/core/tools/ask-user-question/view/components/wrapping-select.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/props-adapter.js +4 -1
- package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +56 -53
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +3 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +8 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +44 -81
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js +27 -12
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +2 -3
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +3 -3
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +5 -5
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +2 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +11 -4
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts +2 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js +39 -21
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +9 -8
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js +12 -2
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +20 -35
- package/dist/core/tools/write.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +5 -6
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts +24 -0
- package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -0
- package/dist/modes/interactive/chat-input-actions.js +179 -0
- package/dist/modes/interactive/chat-input-actions.js.map +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +14 -3
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +157 -0
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -0
- package/dist/modes/interactive/components/chat-session-host.js +1007 -0
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +1 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +14 -5
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +9 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +29 -4
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +18 -67
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/utils/child-process.d.ts +1 -0
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js +8 -0
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +3 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js +14 -8
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +7 -27
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +75 -115
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/paths.d.ts +16 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +49 -7
- package/dist/utils/paths.js.map +1 -1
- package/docs/changelog.mdx +29 -0
- package/docs/compaction.md +1 -1
- package/docs/custom-provider.md +2 -2
- package/docs/development.md +1 -1
- package/docs/docs.json +98 -143
- package/docs/extensions.md +29 -16
- package/docs/favicon.svg +29 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/images/workflow-command.png +0 -0
- package/docs/images/workflow-graph.png +0 -0
- package/docs/images/workflow-input-picker.png +0 -0
- package/docs/images/workflow-list.png +0 -0
- package/docs/index.md +10 -1
- package/docs/logo.svg +59 -0
- package/docs/packages.md +3 -3
- package/docs/providers.md +1 -1
- package/docs/quickstart.md +98 -2
- package/docs/rpc.md +8 -8
- package/docs/sdk.md +23 -12
- package/docs/sessions.md +1 -1
- package/docs/skills.md +15 -1
- package/docs/termux.md +11 -1
- package/docs/themes.md +6 -6
- package/docs/tui.md +18 -18
- package/docs/usage.md +1 -1
- package/docs/workflows.md +172 -2
- package/examples/extensions/subagent/index.ts +2 -1
- package/package.json +6 -6
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/SKILL.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/element-attributes.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/playwright-tests.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/request-mocking.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/running-code.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/session-management.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/spec-driven-testing.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/storage-state.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/test-generation.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/tracing.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/video-recording.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/SKILL.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/deep-modules.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/interface-design.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/mocking.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/refactoring.md +0 -0
- /package/dist/builtin/{workflows → subagents}/skills/tdd/tests.md +0 -0
package/docs/docs.json
CHANGED
|
@@ -1,152 +1,107 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"path": "rpc.md"
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"title": "JSON Event Stream Mode",
|
|
99
|
-
"path": "json.md"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"title": "TUI Components",
|
|
103
|
-
"path": "tui.md"
|
|
104
|
-
}
|
|
105
|
-
]
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"title": "Platform Setup",
|
|
109
|
-
"items": [
|
|
110
|
-
{
|
|
111
|
-
"title": "Windows",
|
|
112
|
-
"path": "windows.md"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"title": "Termux on Android",
|
|
116
|
-
"path": "termux.md"
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"title": "tmux",
|
|
120
|
-
"path": "tmux.md"
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"title": "Terminal Setup",
|
|
124
|
-
"path": "terminal-setup.md"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"title": "Shell Aliases",
|
|
128
|
-
"path": "shell-aliases.md"
|
|
129
|
-
}
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"title": "Development",
|
|
134
|
-
"items": [
|
|
135
|
-
{
|
|
136
|
-
"title": "Development",
|
|
137
|
-
"path": "development.md"
|
|
138
|
-
}
|
|
139
|
-
]
|
|
2
|
+
"$schema": "https://mintlify.com/docs.json",
|
|
3
|
+
"theme": "mint",
|
|
4
|
+
"name": "Atomic",
|
|
5
|
+
"logo": "/logo.svg",
|
|
6
|
+
"favicon": "/favicon.svg",
|
|
7
|
+
"colors": {
|
|
8
|
+
"primary": "#2563EB",
|
|
9
|
+
"light": "#60A5FA",
|
|
10
|
+
"dark": "#1D4ED8"
|
|
11
|
+
},
|
|
12
|
+
"navigation": {
|
|
13
|
+
"groups": [
|
|
14
|
+
{
|
|
15
|
+
"group": "Start here",
|
|
16
|
+
"pages": [
|
|
17
|
+
"index",
|
|
18
|
+
"quickstart",
|
|
19
|
+
"usage",
|
|
20
|
+
"providers",
|
|
21
|
+
"settings",
|
|
22
|
+
"keybindings",
|
|
23
|
+
"sessions",
|
|
24
|
+
"compaction"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"group": "Customization",
|
|
29
|
+
"pages": [
|
|
30
|
+
"extensions",
|
|
31
|
+
"skills",
|
|
32
|
+
"workflows",
|
|
33
|
+
"prompt-templates",
|
|
34
|
+
"themes",
|
|
35
|
+
"packages",
|
|
36
|
+
"models",
|
|
37
|
+
"custom-provider"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"group": "Reference",
|
|
42
|
+
"pages": [
|
|
43
|
+
"session-format"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"group": "Programmatic Usage",
|
|
48
|
+
"pages": [
|
|
49
|
+
"sdk",
|
|
50
|
+
"rpc",
|
|
51
|
+
"json",
|
|
52
|
+
"tui"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"group": "Platform Setup",
|
|
57
|
+
"pages": [
|
|
58
|
+
"windows",
|
|
59
|
+
"termux",
|
|
60
|
+
"tmux",
|
|
61
|
+
"terminal-setup",
|
|
62
|
+
"shell-aliases"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"group": "Development",
|
|
67
|
+
"pages": [
|
|
68
|
+
"development"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"group": "Changelog",
|
|
73
|
+
"pages": [
|
|
74
|
+
"changelog"
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"navbar": {
|
|
80
|
+
"links": [
|
|
81
|
+
{
|
|
82
|
+
"label": "GitHub",
|
|
83
|
+
"href": "https://github.com/flora131/atomic"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"primary": {
|
|
87
|
+
"type": "button",
|
|
88
|
+
"label": "Get started",
|
|
89
|
+
"href": "/quickstart"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"footer": {
|
|
93
|
+
"socials": {
|
|
94
|
+
"github": "https://github.com/flora131/atomic"
|
|
140
95
|
}
|
|
141
|
-
|
|
96
|
+
},
|
|
142
97
|
"redirects": [
|
|
143
98
|
{
|
|
144
|
-
"
|
|
145
|
-
"
|
|
99
|
+
"source": "/session",
|
|
100
|
+
"destination": "/session-format"
|
|
146
101
|
},
|
|
147
102
|
{
|
|
148
|
-
"
|
|
149
|
-
"
|
|
103
|
+
"source": "/tree",
|
|
104
|
+
"destination": "/sessions"
|
|
150
105
|
}
|
|
151
106
|
]
|
|
152
107
|
}
|
package/docs/extensions.md
CHANGED
|
@@ -26,7 +26,7 @@ Extensions are TypeScript modules that extend Atomic's behavior. They can subscr
|
|
|
26
26
|
- External integrations (file watchers, webhooks, CI triggers)
|
|
27
27
|
- Games while you wait (see `snake.ts` example)
|
|
28
28
|
|
|
29
|
-
See [examples/extensions/](
|
|
29
|
+
See [examples/extensions/](https://github.com/flora131/atomic/tree/main/packages/coding-agent/examples/extensions) for working implementations.
|
|
30
30
|
|
|
31
31
|
## Table of Contents
|
|
32
32
|
|
|
@@ -144,9 +144,22 @@ To share extensions via npm or git as Atomic packages, see [packages.md](package
|
|
|
144
144
|
| `@earendil-works/pi-ai` | AI utilities (`StringEnum` for Google-compatible enums) |
|
|
145
145
|
| `@earendil-works/pi-tui` | TUI components for custom rendering |
|
|
146
146
|
|
|
147
|
-
npm dependencies work too. Add a `package.json` next to your extension (or in a parent directory),
|
|
147
|
+
npm dependencies work too. Add a `package.json` next to your extension (or in a parent directory), then install dependencies with npm, Bun, or pnpm:
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
```bash
|
|
150
|
+
# npm
|
|
151
|
+
npm install
|
|
152
|
+
|
|
153
|
+
# Bun
|
|
154
|
+
bun install
|
|
155
|
+
|
|
156
|
+
# pnpm
|
|
157
|
+
pnpm install
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Imports from `node_modules/` are resolved automatically.
|
|
161
|
+
|
|
162
|
+
For distributed Atomic packages installed with `atomic install` (npm or git), runtime deps must be in `dependencies`. Package installation uses production dependency installs by default, so `devDependencies` are not available at runtime; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers.
|
|
150
163
|
|
|
151
164
|
Node.js built-ins (`node:fs`, `node:path`, etc.) are also available.
|
|
152
165
|
|
|
@@ -242,7 +255,7 @@ This pattern makes the fetched models available during normal startup and to `at
|
|
|
242
255
|
└── my-extension/
|
|
243
256
|
├── package.json # Declares dependencies and entry points
|
|
244
257
|
├── package-lock.json
|
|
245
|
-
├── node_modules/ # After
|
|
258
|
+
├── node_modules/ # After dependency install
|
|
246
259
|
└── src/
|
|
247
260
|
└── index.ts
|
|
248
261
|
```
|
|
@@ -261,7 +274,7 @@ This pattern makes the fetched models available during normal startup and to `at
|
|
|
261
274
|
}
|
|
262
275
|
```
|
|
263
276
|
|
|
264
|
-
The manifest key is the app name from `package.json` (`atomic` here); the legacy `pi` key is still accepted as a compatibility shim. Run `npm install` in the extension directory, then imports from `node_modules/` work automatically.
|
|
277
|
+
The manifest key is the app name from `package.json` (`atomic` here); the legacy `pi` key is still accepted as a compatibility shim. Run `npm install`, `bun install`, or `pnpm install` in the extension directory, then imports from `node_modules/` work automatically.
|
|
265
278
|
|
|
266
279
|
## Events
|
|
267
280
|
|
|
@@ -847,7 +860,7 @@ pi.on("input", async (event, ctx) => {
|
|
|
847
860
|
- `transform` - modify text/images, then continue to expansion
|
|
848
861
|
- `handled` - skip agent entirely (first handler to return this wins)
|
|
849
862
|
|
|
850
|
-
Transforms chain across handlers. See [input-transform.ts](
|
|
863
|
+
Transforms chain across handlers. See [input-transform.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/input-transform.ts).
|
|
851
864
|
|
|
852
865
|
## ExtensionContext
|
|
853
866
|
|
|
@@ -1226,7 +1239,7 @@ Use `promptSnippet` to opt a custom tool into a one-line entry in `Available too
|
|
|
1226
1239
|
|
|
1227
1240
|
**Important:** `promptGuidelines` bullets are appended flat to the `Guidelines` section with no tool name prefix. Each guideline must name the tool it refers to — avoid "Use this tool when..." because the LLM cannot tell which tool "this" means. Write "Use my_tool when..." instead.
|
|
1228
1241
|
|
|
1229
|
-
See [dynamic-tools.ts](
|
|
1242
|
+
See [dynamic-tools.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/dynamic-tools.ts) for a full example.
|
|
1230
1243
|
|
|
1231
1244
|
```typescript
|
|
1232
1245
|
import { Type } from "typebox";
|
|
@@ -1314,7 +1327,7 @@ pi.sendUserMessage("And then summarize", { deliverAs: "followUp" });
|
|
|
1314
1327
|
|
|
1315
1328
|
When not streaming, the message is sent immediately and triggers a new turn. When streaming without `deliverAs`, throws an error.
|
|
1316
1329
|
|
|
1317
|
-
See [send-user-message.ts](
|
|
1330
|
+
See [send-user-message.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/send-user-message.ts) for a complete example.
|
|
1318
1331
|
|
|
1319
1332
|
### pi.appendEntry(customType, data?)
|
|
1320
1333
|
|
|
@@ -1760,7 +1773,7 @@ pi.registerTool({
|
|
|
1760
1773
|
|
|
1761
1774
|
**Signaling errors:** To mark a tool execution as failed (sets `isError: true` on the result and reports it to the LLM), throw an error from `execute`. Returning a value never sets the error flag regardless of what properties you include in the return object.
|
|
1762
1775
|
|
|
1763
|
-
**Early termination:** Return `terminate: true` from `execute()` to hint that the automatic follow-up LLM call should be skipped after the current tool batch. This only takes effect when every finalized tool result in that batch is terminating. See [examples/extensions/structured-output.ts](
|
|
1776
|
+
**Early termination:** Return `terminate: true` from `execute()` to hint that the automatic follow-up LLM call should be skipped after the current tool batch. This only takes effect when every finalized tool result in that batch is terminating. See [examples/extensions/structured-output.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/structured-output.ts) for a minimal example where the agent ends on a final structured-output tool call.
|
|
1764
1777
|
|
|
1765
1778
|
```typescript
|
|
1766
1779
|
// Correct: throw to signal an error
|
|
@@ -1836,7 +1849,7 @@ Alternatively, use `--no-builtin-tools` to start without any built-in tools whil
|
|
|
1836
1849
|
atomic --no-builtin-tools -e ./my-extension.ts
|
|
1837
1850
|
```
|
|
1838
1851
|
|
|
1839
|
-
See [examples/extensions/tool-override.ts](
|
|
1852
|
+
See [examples/extensions/tool-override.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/tool-override.ts) for a complete example that overrides `read` with logging and access control.
|
|
1840
1853
|
|
|
1841
1854
|
**Rendering:** Built-in renderer inheritance is resolved per slot. Execution override and rendering override are independent. If your override omits `renderCall`, the built-in `renderCall` is used. If your override omits `renderResult`, the built-in `renderResult` is used. If your override omits both, the built-in renderer is used automatically (syntax highlighting, diffs, etc.). This lets you wrap built-in tools for logging or access control without reimplementing the UI.
|
|
1842
1855
|
|
|
@@ -1900,7 +1913,7 @@ const bashTool = createBashTool(cwd, {
|
|
|
1900
1913
|
});
|
|
1901
1914
|
```
|
|
1902
1915
|
|
|
1903
|
-
See [examples/extensions/ssh.ts](
|
|
1916
|
+
See [examples/extensions/ssh.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/ssh.ts) for a complete SSH example with `--ssh` flag.
|
|
1904
1917
|
|
|
1905
1918
|
### Output Truncation
|
|
1906
1919
|
|
|
@@ -1952,7 +1965,7 @@ async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
|
1952
1965
|
- Always inform the LLM when output is truncated and where to find the full version
|
|
1953
1966
|
- Document the truncation limits in your tool's description
|
|
1954
1967
|
|
|
1955
|
-
See [examples/extensions/truncated-tool.ts](
|
|
1968
|
+
See [examples/extensions/truncated-tool.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/truncated-tool.ts) for a complete example wrapping `rg` (ripgrep) with proper truncation.
|
|
1956
1969
|
|
|
1957
1970
|
### Multiple Tools
|
|
1958
1971
|
|
|
@@ -2179,7 +2192,7 @@ if (confirmed) {
|
|
|
2179
2192
|
}
|
|
2180
2193
|
```
|
|
2181
2194
|
|
|
2182
|
-
See [examples/extensions/timed-confirm.ts](
|
|
2195
|
+
See [examples/extensions/timed-confirm.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/timed-confirm.ts) for complete examples.
|
|
2183
2196
|
|
|
2184
2197
|
### Widgets, Status, and Footer
|
|
2185
2198
|
|
|
@@ -2322,7 +2335,7 @@ pi.on("session_start", (_event, ctx) => {
|
|
|
2322
2335
|
});
|
|
2323
2336
|
```
|
|
2324
2337
|
|
|
2325
|
-
See [github-issue-autocomplete.ts](
|
|
2338
|
+
See [github-issue-autocomplete.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/github-issue-autocomplete.ts) for a complete example that preloads the latest open GitHub issues with `gh issue list` and filters them locally for fast `#...` completion. It requires GitHub CLI (`gh`) and a GitHub repository checkout.
|
|
2326
2339
|
|
|
2327
2340
|
### Custom Components
|
|
2328
2341
|
|
|
@@ -2380,7 +2393,7 @@ const result = await ctx.ui.custom<string | null>(
|
|
|
2380
2393
|
);
|
|
2381
2394
|
```
|
|
2382
2395
|
|
|
2383
|
-
See [tui.md](tui.md) for the full `OverlayOptions` API and [overlay-qa-tests.ts](
|
|
2396
|
+
See [tui.md](tui.md) for the full `OverlayOptions` API and [overlay-qa-tests.ts](https://github.com/flora131/atomic/blob/main/packages/coding-agent/examples/extensions/overlay-qa-tests.ts) for examples.
|
|
2384
2397
|
|
|
2385
2398
|
### Custom Editor
|
|
2386
2399
|
|
|
@@ -2516,7 +2529,7 @@ In non-interactive modes, check `ctx.hasUI` before using UI methods.
|
|
|
2516
2529
|
|
|
2517
2530
|
## Examples Reference
|
|
2518
2531
|
|
|
2519
|
-
All examples in [examples/extensions/](
|
|
2532
|
+
All examples in [examples/extensions/](https://github.com/flora131/atomic/tree/main/packages/coding-agent/examples/extensions).
|
|
2520
2533
|
|
|
2521
2534
|
| Example | Description | Key APIs |
|
|
2522
2535
|
|---------|-------------|----------|
|
package/docs/favicon.svg
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Atomic favicon</title>
|
|
3
|
+
<desc id="desc">An upside-down block A in Atomic's Catppuccin Mocha terminal style.</desc>
|
|
4
|
+
<rect width="32" height="32" rx="7" fill="#1e1e2e" />
|
|
5
|
+
<path d="M1 8.5A7.5 7.5 0 0 1 8.5 1H23.5A7.5 7.5 0 0 1 31 8.5V23.5A7.5 7.5 0 0 1 23.5 31H8.5A7.5 7.5 0 0 1 1 23.5Z" fill="none" stroke="#313244" stroke-width="2" />
|
|
6
|
+
|
|
7
|
+
<!-- TUI-style drop shadow, matching the banner's dim offset cells. -->
|
|
8
|
+
<g fill="#45475a" opacity="0.72" shape-rendering="crispEdges">
|
|
9
|
+
<path d="M6 7H12L18 26H13Z" />
|
|
10
|
+
<path d="M22 7H28L21 26H16Z" />
|
|
11
|
+
<path d="M9 15H25L24 19H10Z" />
|
|
12
|
+
<path d="M13 24H21L19 28H15Z" />
|
|
13
|
+
</g>
|
|
14
|
+
|
|
15
|
+
<!-- Upside-down Atomic A / forall mark, adapted from the terminal banner. -->
|
|
16
|
+
<g fill="#89b4fa" shape-rendering="crispEdges">
|
|
17
|
+
<path d="M5 6H11L17 25H12Z" />
|
|
18
|
+
<path d="M21 6H27L20 25H15Z" />
|
|
19
|
+
<path d="M8 14H24L23 18H9Z" />
|
|
20
|
+
<path d="M12 23H20L18 27H14Z" />
|
|
21
|
+
</g>
|
|
22
|
+
|
|
23
|
+
<!-- Subtle block highlight for the same solid-cell texture as the TUI logo. -->
|
|
24
|
+
<g fill="#cdd6f4" opacity="0.18" shape-rendering="crispEdges">
|
|
25
|
+
<rect x="7" y="7" width="4" height="2" />
|
|
26
|
+
<rect x="21" y="7" width="4" height="2" />
|
|
27
|
+
<rect x="9" y="14" width="6" height="1" />
|
|
28
|
+
</g>
|
|
29
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/docs/index.md
CHANGED
|
@@ -4,12 +4,21 @@ Atomic is a minimal terminal coding harness. It is designed to stay small at the
|
|
|
4
4
|
|
|
5
5
|
## Quick start
|
|
6
6
|
|
|
7
|
-
Install Atomic
|
|
7
|
+
Install Atomic with npm, Bun, or pnpm:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
+
# npm
|
|
10
11
|
npm install -g @bastani/atomic
|
|
12
|
+
|
|
13
|
+
# Bun
|
|
14
|
+
bun install -g @bastani/atomic
|
|
15
|
+
|
|
16
|
+
# pnpm
|
|
17
|
+
pnpm add -g @bastani/atomic
|
|
11
18
|
```
|
|
12
19
|
|
|
20
|
+
Atomic does not require package install scripts. If you want to disable dependency lifecycle scripts during the Atomic install, you can add `--ignore-scripts` to the install command.
|
|
21
|
+
|
|
13
22
|
Or download an `atomic-*` archive from the Atomic GitHub Release for your platform.
|
|
14
23
|
|
|
15
24
|
Then run it in a project directory:
|
package/docs/logo.svg
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="648" height="160" viewBox="0 0 648 160" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Atomic</title>
|
|
3
|
+
<desc id="desc">Atomic wordmark with the blocky terminal favicon mark shown to the left of the title.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
.tile-bg { fill: #ffffff; }
|
|
7
|
+
.tile-border { stroke: #e5e7eb; }
|
|
8
|
+
.cell-shadow { fill: #cbd5e1; opacity: 0.42; }
|
|
9
|
+
.atomic-mark { fill: #2563eb; }
|
|
10
|
+
.cell-highlight { fill: #111827; opacity: 0.1; }
|
|
11
|
+
.wordmark { fill: #111827; }
|
|
12
|
+
|
|
13
|
+
@media (prefers-color-scheme: dark) {
|
|
14
|
+
.tile-bg { fill: #1e1e2e; }
|
|
15
|
+
.tile-border { stroke: #313244; }
|
|
16
|
+
.cell-shadow { fill: #45475a; opacity: 0.72; }
|
|
17
|
+
.atomic-mark { fill: #89b4fa; }
|
|
18
|
+
.cell-highlight { fill: #cdd6f4; opacity: 0.18; }
|
|
19
|
+
.wordmark { fill: #cdd6f4; }
|
|
20
|
+
}
|
|
21
|
+
</style>
|
|
22
|
+
<clipPath id="tile-clip">
|
|
23
|
+
<rect x="0" y="0" width="160" height="160" rx="35" />
|
|
24
|
+
</clipPath>
|
|
25
|
+
</defs>
|
|
26
|
+
|
|
27
|
+
<g clip-path="url(#tile-clip)">
|
|
28
|
+
<g transform="scale(5)">
|
|
29
|
+
<rect class="tile-bg" width="32" height="32" />
|
|
30
|
+
<path class="tile-border" d="M1 8.5A7.5 7.5 0 0 1 8.5 1H23.5A7.5 7.5 0 0 1 31 8.5V23.5A7.5 7.5 0 0 1 23.5 31H8.5A7.5 7.5 0 0 1 1 23.5Z" fill="none" stroke-width="2" />
|
|
31
|
+
|
|
32
|
+
<!-- TUI-style dim cell shadow, offset one block down and right. -->
|
|
33
|
+
<g class="cell-shadow" shape-rendering="crispEdges">
|
|
34
|
+
<path d="M6 7H12L18 26H13Z" />
|
|
35
|
+
<path d="M22 7H28L21 26H16Z" />
|
|
36
|
+
<path d="M9 15H25L24 19H10Z" />
|
|
37
|
+
<path d="M13 24H21L19 28H15Z" />
|
|
38
|
+
<rect x="14" y="22" width="7" height="2" />
|
|
39
|
+
</g>
|
|
40
|
+
|
|
41
|
+
<!-- Upside-down Atomic A / forall mark, matched to the favicon's Catppuccin blue. -->
|
|
42
|
+
<g class="atomic-mark" shape-rendering="crispEdges">
|
|
43
|
+
<path d="M5 6H11L17 25H12Z" />
|
|
44
|
+
<path d="M21 6H27L20 25H15Z" />
|
|
45
|
+
<path d="M8 14H24L23 18H9Z" />
|
|
46
|
+
<path d="M12 23H20L18 27H14Z" />
|
|
47
|
+
</g>
|
|
48
|
+
|
|
49
|
+
<!-- Solid-cell highlight to preserve the low-resolution terminal texture. -->
|
|
50
|
+
<g class="cell-highlight" shape-rendering="crispEdges">
|
|
51
|
+
<rect x="7" y="7" width="4" height="2" />
|
|
52
|
+
<rect x="21" y="7" width="4" height="2" />
|
|
53
|
+
<rect x="9" y="14" width="6" height="1" />
|
|
54
|
+
</g>
|
|
55
|
+
</g>
|
|
56
|
+
</g>
|
|
57
|
+
|
|
58
|
+
<text class="wordmark" x="208" y="110" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="96" font-weight="700" letter-spacing="-0.01em">Atomic</text>
|
|
59
|
+
</svg>
|
package/docs/packages.md
CHANGED
|
@@ -64,7 +64,7 @@ npm:pkg
|
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
- Versioned specs are pinned and skipped by package updates (`atomic update`, `atomic update --extensions`).
|
|
67
|
-
- Global installs use
|
|
67
|
+
- Global installs use the configured npm-compatible package-manager command (npm by default).
|
|
68
68
|
- Project installs go under `.atomic/npm/`.
|
|
69
69
|
- Set `npmCommand` in `settings.json` to pin npm package lookup and install operations to a specific wrapper command such as `mise` or `asdf`.
|
|
70
70
|
|
|
@@ -92,7 +92,7 @@ ssh://git@github.com/user/repo@v1
|
|
|
92
92
|
- For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
|
|
93
93
|
- Refs pin the package and skip package updates (`atomic update`, `atomic update --extensions`).
|
|
94
94
|
- Cloned to `~/.atomic/agent/git/<host>/<path>` (global) or `.atomic/git/<host>/<path>` (project).
|
|
95
|
-
- Runs
|
|
95
|
+
- Runs the configured npm-compatible install command after clone or pull if `package.json` exists.
|
|
96
96
|
|
|
97
97
|
**SSH examples:**
|
|
98
98
|
```bash
|
|
@@ -170,7 +170,7 @@ If no app manifest (`atomic`, or legacy `pi`) is present, Atomic auto-discovers
|
|
|
170
170
|
|
|
171
171
|
## Dependencies
|
|
172
172
|
|
|
173
|
-
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When Atomic installs a package from npm or git, it runs
|
|
173
|
+
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When Atomic installs a package from npm or git, it runs the configured npm-compatible install command, so those dependencies are installed automatically.
|
|
174
174
|
|
|
175
175
|
Atomic bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@earendil-works/pi-ai`, `@earendil-works/pi-agent-core`, `@bastani/atomic`, `@earendil-works/pi-tui`, `typebox`.
|
|
176
176
|
|
package/docs/providers.md
CHANGED
|
@@ -231,7 +231,7 @@ Or set `GOOGLE_APPLICATION_CREDENTIALS` to a service account key file.
|
|
|
231
231
|
|
|
232
232
|
**Via models.json:** Add Ollama, LM Studio, vLLM, or any provider that speaks a supported API (OpenAI Completions, OpenAI Responses, Anthropic Messages, Google Generative AI). See [models.md](models.md).
|
|
233
233
|
|
|
234
|
-
**Via extensions:** For providers that need custom API implementations or OAuth flows, create an extension. See [custom-provider.md](custom-provider.md) and [examples/extensions/custom-provider-gitlab-duo](
|
|
234
|
+
**Via extensions:** For providers that need custom API implementations or OAuth flows, create an extension. See [custom-provider.md](custom-provider.md) and [examples/extensions/custom-provider-gitlab-duo](https://github.com/flora131/atomic/tree/main/packages/coding-agent/examples/extensions/custom-provider-gitlab-duo).
|
|
235
235
|
|
|
236
236
|
## Resolution Order
|
|
237
237
|
|