@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.
Files changed (355) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/builtin/intercom/package.json +1 -1
  3. package/dist/builtin/mcp/host-html-template.ts +1 -1
  4. package/dist/builtin/mcp/init.ts +15 -2
  5. package/dist/builtin/mcp/mcp-callback-server.ts +10 -9
  6. package/dist/builtin/mcp/package.json +1 -1
  7. package/dist/builtin/mcp/ui-session.ts +9 -6
  8. package/dist/builtin/subagents/CHANGELOG.md +8 -1
  9. package/dist/builtin/subagents/README.md +39 -32
  10. package/dist/builtin/subagents/package.json +1 -1
  11. package/dist/builtin/subagents/skills/subagent/SKILL.md +11 -11
  12. package/dist/builtin/subagents/src/agents/agent-management.ts +6 -1
  13. package/dist/builtin/subagents/src/agents/agent-serializer.ts +2 -0
  14. package/dist/builtin/subagents/src/agents/agents.ts +44 -19
  15. package/dist/builtin/subagents/src/extension/config.ts +16 -0
  16. package/dist/builtin/subagents/src/extension/fanout-child.ts +246 -0
  17. package/dist/builtin/subagents/src/extension/index.ts +466 -603
  18. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +6 -4
  19. package/dist/builtin/subagents/src/intercom/result-intercom.ts +109 -1
  20. package/dist/builtin/subagents/src/runs/background/async-execution.ts +124 -19
  21. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +41 -6
  22. package/dist/builtin/subagents/src/runs/background/async-resume.ts +28 -15
  23. package/dist/builtin/subagents/src/runs/background/async-status.ts +60 -30
  24. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +111 -54
  25. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +83 -0
  26. package/dist/builtin/subagents/src/runs/background/run-status.ts +79 -3
  27. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +46 -1
  28. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +66 -14
  29. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +10 -3
  30. package/dist/builtin/subagents/src/runs/foreground/execution.ts +14 -2
  31. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +320 -23
  32. package/dist/builtin/subagents/src/runs/shared/completion-guard.ts +23 -1
  33. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +369 -0
  34. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +935 -0
  35. package/dist/builtin/subagents/src/runs/shared/nested-path.ts +52 -0
  36. package/dist/builtin/subagents/src/runs/shared/nested-render.ts +115 -0
  37. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -0
  38. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +82 -9
  39. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +1 -1
  40. package/dist/builtin/subagents/src/runs/shared/single-output.ts +12 -2
  41. package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +32 -10
  42. package/dist/builtin/subagents/src/runs/shared/worktree.ts +3 -2
  43. package/dist/builtin/subagents/src/shared/artifacts.ts +0 -1
  44. package/dist/builtin/subagents/src/shared/types.ts +96 -1
  45. package/dist/builtin/subagents/src/shared/utils.ts +10 -2
  46. package/dist/builtin/subagents/src/slash/slash-commands.ts +468 -625
  47. package/dist/builtin/subagents/src/tui/render.ts +1227 -2093
  48. package/dist/builtin/web-access/package.json +1 -1
  49. package/dist/builtin/workflows/CHANGELOG.md +24 -0
  50. package/dist/builtin/workflows/README.md +28 -11
  51. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +323 -40
  52. package/dist/builtin/workflows/builtin/ralph.ts +362 -176
  53. package/dist/builtin/workflows/package.json +2 -5
  54. package/dist/builtin/workflows/skills/research-codebase/SKILL.md +1 -1
  55. package/dist/builtin/workflows/skills/skill-creator/LICENSE.txt +202 -0
  56. package/dist/builtin/workflows/skills/skill-creator/SKILL.md +489 -0
  57. package/dist/builtin/workflows/skills/skill-creator/agents/analyzer.md +274 -0
  58. package/dist/builtin/workflows/skills/skill-creator/agents/comparator.md +202 -0
  59. package/dist/builtin/workflows/skills/skill-creator/agents/grader.md +223 -0
  60. package/dist/builtin/workflows/skills/skill-creator/assets/eval_review.html +146 -0
  61. package/dist/builtin/workflows/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  62. package/dist/builtin/workflows/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  63. package/dist/builtin/workflows/skills/skill-creator/references/schemas.md +430 -0
  64. package/dist/builtin/workflows/skills/skill-creator/scripts/__init__.py +0 -0
  65. package/dist/builtin/workflows/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  66. package/dist/builtin/workflows/skills/skill-creator/scripts/generate_report.py +326 -0
  67. package/dist/builtin/workflows/skills/skill-creator/scripts/improve_description.py +247 -0
  68. package/dist/builtin/workflows/skills/skill-creator/scripts/package_skill.py +136 -0
  69. package/dist/builtin/workflows/skills/skill-creator/scripts/quick_validate.py +103 -0
  70. package/dist/builtin/workflows/skills/skill-creator/scripts/run_eval.py +310 -0
  71. package/dist/builtin/workflows/skills/skill-creator/scripts/run_loop.py +328 -0
  72. package/dist/builtin/workflows/skills/skill-creator/scripts/utils.py +47 -0
  73. package/dist/builtin/workflows/src/extension/index.ts +869 -93
  74. package/dist/builtin/workflows/src/extension/render-call.ts +34 -1
  75. package/dist/builtin/workflows/src/extension/render-result.ts +126 -21
  76. package/dist/builtin/workflows/src/extension/runtime.ts +91 -3
  77. package/dist/builtin/workflows/src/extension/wiring.ts +38 -12
  78. package/dist/builtin/workflows/src/extension/workflow-schema.ts +62 -5
  79. package/dist/builtin/workflows/src/runs/background/runner.ts +3 -3
  80. package/dist/builtin/workflows/src/runs/background/status.ts +42 -8
  81. package/dist/builtin/workflows/src/runs/foreground/executor.ts +410 -95
  82. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +5 -2
  83. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +8 -0
  84. package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +6 -4
  85. package/dist/builtin/workflows/src/runs/shared/worktree.ts +3 -2
  86. package/dist/builtin/workflows/src/shared/persistence-restore.ts +138 -5
  87. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +30 -0
  88. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +78 -120
  89. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +193 -0
  90. package/dist/builtin/workflows/src/shared/store-types.ts +26 -1
  91. package/dist/builtin/workflows/src/shared/store.ts +145 -17
  92. package/dist/builtin/workflows/src/shared/timing.ts +6 -2
  93. package/dist/builtin/workflows/src/shared/workflow-failures.ts +375 -0
  94. package/dist/builtin/workflows/src/tui/chat-surface.ts +68 -17
  95. package/dist/builtin/workflows/src/tui/connectors.ts +2 -2
  96. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +24 -26
  97. package/dist/builtin/workflows/src/tui/graph-canvas.ts +4 -8
  98. package/dist/builtin/workflows/src/tui/graph-view.ts +17 -14
  99. package/dist/builtin/workflows/src/tui/header.ts +38 -0
  100. package/dist/builtin/workflows/src/tui/inline-form-card.ts +161 -238
  101. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +68 -73
  102. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -3
  103. package/dist/builtin/workflows/src/tui/inline-form-store.ts +2 -1
  104. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +1 -3
  105. package/dist/builtin/workflows/src/tui/inputs-picker.ts +286 -399
  106. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +11 -0
  107. package/dist/builtin/workflows/src/tui/node-card.ts +2 -1
  108. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +9 -1
  109. package/dist/builtin/workflows/src/tui/prompt-card.ts +46 -19
  110. package/dist/builtin/workflows/src/tui/run-detail.ts +63 -80
  111. package/dist/builtin/workflows/src/tui/session-confirm.ts +9 -3
  112. package/dist/builtin/workflows/src/tui/session-picker.ts +19 -16
  113. package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +88 -0
  114. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +368 -879
  115. package/dist/builtin/workflows/src/tui/status-helpers.ts +4 -0
  116. package/dist/builtin/workflows/src/tui/status-list.ts +67 -75
  117. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +50 -12
  118. package/dist/builtin/workflows/src/tui/submit-pane.ts +164 -0
  119. package/dist/builtin/workflows/src/tui/switcher.ts +27 -4
  120. package/dist/builtin/workflows/src/tui/text-helpers.ts +98 -4
  121. package/dist/builtin/workflows/src/tui/widget.ts +90 -68
  122. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +23 -2
  123. package/dist/builtin/workflows/src/tui/workflow-list.ts +44 -68
  124. package/dist/cli/file-processor.d.ts.map +1 -1
  125. package/dist/cli/file-processor.js +2 -3
  126. package/dist/cli/file-processor.js.map +1 -1
  127. package/dist/config.d.ts.map +1 -1
  128. package/dist/config.js +3 -10
  129. package/dist/config.js.map +1 -1
  130. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  131. package/dist/core/agent-session-runtime.js +2 -1
  132. package/dist/core/agent-session-runtime.js.map +1 -1
  133. package/dist/core/agent-session-services.d.ts.map +1 -1
  134. package/dist/core/agent-session-services.js +3 -2
  135. package/dist/core/agent-session-services.js.map +1 -1
  136. package/dist/core/agent-session.d.ts +6 -0
  137. package/dist/core/agent-session.d.ts.map +1 -1
  138. package/dist/core/agent-session.js +16 -2
  139. package/dist/core/agent-session.js.map +1 -1
  140. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  141. package/dist/core/atomic-guide-command.js +8 -9
  142. package/dist/core/atomic-guide-command.js.map +1 -1
  143. package/dist/core/auth-storage.d.ts.map +1 -1
  144. package/dist/core/auth-storage.js +3 -2
  145. package/dist/core/auth-storage.js.map +1 -1
  146. package/dist/core/bash-executor.d.ts.map +1 -1
  147. package/dist/core/bash-executor.js +2 -1
  148. package/dist/core/bash-executor.js.map +1 -1
  149. package/dist/core/export-html/index.d.ts.map +1 -1
  150. package/dist/core/export-html/index.js +8 -6
  151. package/dist/core/export-html/index.js.map +1 -1
  152. package/dist/core/export-html/template.js +6 -3
  153. package/dist/core/extensions/loader.d.ts.map +1 -1
  154. package/dist/core/extensions/loader.js +12 -29
  155. package/dist/core/extensions/loader.js.map +1 -1
  156. package/dist/core/model-registry.d.ts.map +1 -1
  157. package/dist/core/model-registry.js +5 -1
  158. package/dist/core/model-registry.js.map +1 -1
  159. package/dist/core/package-manager.d.ts +8 -0
  160. package/dist/core/package-manager.d.ts.map +1 -1
  161. package/dist/core/package-manager.js +145 -58
  162. package/dist/core/package-manager.js.map +1 -1
  163. package/dist/core/prompt-templates.d.ts.map +1 -1
  164. package/dist/core/prompt-templates.js +6 -20
  165. package/dist/core/prompt-templates.js.map +1 -1
  166. package/dist/core/resource-loader.d.ts.map +1 -1
  167. package/dist/core/resource-loader.js +38 -31
  168. package/dist/core/resource-loader.js.map +1 -1
  169. package/dist/core/sdk.d.ts.map +1 -1
  170. package/dist/core/sdk.js +9 -4
  171. package/dist/core/sdk.js.map +1 -1
  172. package/dist/core/session-manager.d.ts.map +1 -1
  173. package/dist/core/session-manager.js +32 -24
  174. package/dist/core/session-manager.js.map +1 -1
  175. package/dist/core/settings-manager.d.ts.map +1 -1
  176. package/dist/core/settings-manager.js +8 -15
  177. package/dist/core/settings-manager.js.map +1 -1
  178. package/dist/core/skills.d.ts.map +1 -1
  179. package/dist/core/skills.js +8 -22
  180. package/dist/core/skills.js.map +1 -1
  181. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +5 -4
  182. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  183. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +34 -11
  184. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  185. package/dist/core/tools/ask-user-question/state/selectors/contract.d.ts +1 -0
  186. package/dist/core/tools/ask-user-question/state/selectors/contract.d.ts.map +1 -1
  187. package/dist/core/tools/ask-user-question/state/selectors/contract.js.map +1 -1
  188. package/dist/core/tools/ask-user-question/state/selectors/projections.d.ts.map +1 -1
  189. package/dist/core/tools/ask-user-question/state/selectors/projections.js +1 -0
  190. package/dist/core/tools/ask-user-question/state/selectors/projections.js.map +1 -1
  191. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts +1 -2
  192. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  193. package/dist/core/tools/ask-user-question/state/state-reducer.js +26 -9
  194. package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
  195. package/dist/core/tools/ask-user-question/state/state.d.ts +4 -0
  196. package/dist/core/tools/ask-user-question/state/state.d.ts.map +1 -1
  197. package/dist/core/tools/ask-user-question/state/state.js.map +1 -1
  198. package/dist/core/tools/ask-user-question/view/components/option-list-view.d.ts +1 -0
  199. package/dist/core/tools/ask-user-question/view/components/option-list-view.d.ts.map +1 -1
  200. package/dist/core/tools/ask-user-question/view/components/option-list-view.js +1 -0
  201. package/dist/core/tools/ask-user-question/view/components/option-list-view.js.map +1 -1
  202. package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts +9 -6
  203. package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts.map +1 -1
  204. package/dist/core/tools/ask-user-question/view/components/wrapping-select.js +28 -7
  205. package/dist/core/tools/ask-user-question/view/components/wrapping-select.js.map +1 -1
  206. package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
  207. package/dist/core/tools/ask-user-question/view/props-adapter.js +4 -1
  208. package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
  209. package/dist/core/tools/bash.d.ts.map +1 -1
  210. package/dist/core/tools/bash.js +56 -53
  211. package/dist/core/tools/bash.js.map +1 -1
  212. package/dist/core/tools/edit-diff.d.ts +3 -1
  213. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  214. package/dist/core/tools/edit-diff.js +8 -1
  215. package/dist/core/tools/edit-diff.js.map +1 -1
  216. package/dist/core/tools/edit.d.ts +3 -1
  217. package/dist/core/tools/edit.d.ts.map +1 -1
  218. package/dist/core/tools/edit.js +44 -81
  219. package/dist/core/tools/edit.js.map +1 -1
  220. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  221. package/dist/core/tools/file-mutation-queue.js +27 -12
  222. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  223. package/dist/core/tools/find.d.ts.map +1 -1
  224. package/dist/core/tools/find.js +2 -3
  225. package/dist/core/tools/find.js.map +1 -1
  226. package/dist/core/tools/grep.d.ts.map +1 -1
  227. package/dist/core/tools/grep.js +3 -3
  228. package/dist/core/tools/grep.js.map +1 -1
  229. package/dist/core/tools/ls.d.ts.map +1 -1
  230. package/dist/core/tools/ls.js +5 -5
  231. package/dist/core/tools/ls.js.map +1 -1
  232. package/dist/core/tools/output-accumulator.d.ts +2 -0
  233. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  234. package/dist/core/tools/output-accumulator.js +11 -4
  235. package/dist/core/tools/output-accumulator.js.map +1 -1
  236. package/dist/core/tools/path-utils.d.ts +2 -0
  237. package/dist/core/tools/path-utils.d.ts.map +1 -1
  238. package/dist/core/tools/path-utils.js +39 -21
  239. package/dist/core/tools/path-utils.js.map +1 -1
  240. package/dist/core/tools/read.d.ts.map +1 -1
  241. package/dist/core/tools/read.js +9 -8
  242. package/dist/core/tools/read.js.map +1 -1
  243. package/dist/core/tools/truncate.d.ts.map +1 -1
  244. package/dist/core/tools/truncate.js +12 -2
  245. package/dist/core/tools/truncate.js.map +1 -1
  246. package/dist/core/tools/write.d.ts.map +1 -1
  247. package/dist/core/tools/write.js +20 -35
  248. package/dist/core/tools/write.js.map +1 -1
  249. package/dist/index.d.ts +2 -1
  250. package/dist/index.d.ts.map +1 -1
  251. package/dist/index.js +4 -1
  252. package/dist/index.js.map +1 -1
  253. package/dist/main.d.ts.map +1 -1
  254. package/dist/main.js +5 -6
  255. package/dist/main.js.map +1 -1
  256. package/dist/modes/interactive/chat-input-actions.d.ts +24 -0
  257. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -0
  258. package/dist/modes/interactive/chat-input-actions.js +179 -0
  259. package/dist/modes/interactive/chat-input-actions.js.map +1 -0
  260. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -0
  261. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  262. package/dist/modes/interactive/components/chat-message-renderer.js +14 -3
  263. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  264. package/dist/modes/interactive/components/chat-session-host.d.ts +157 -0
  265. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -0
  266. package/dist/modes/interactive/components/chat-session-host.js +1007 -0
  267. package/dist/modes/interactive/components/chat-session-host.js.map +1 -0
  268. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  269. package/dist/modes/interactive/components/config-selector.js +1 -1
  270. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  271. package/dist/modes/interactive/components/footer.d.ts +1 -0
  272. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  273. package/dist/modes/interactive/components/footer.js +14 -5
  274. package/dist/modes/interactive/components/footer.js.map +1 -1
  275. package/dist/modes/interactive/components/index.d.ts +1 -0
  276. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  277. package/dist/modes/interactive/components/index.js +1 -0
  278. package/dist/modes/interactive/components/index.js.map +1 -1
  279. package/dist/modes/interactive/components/login-dialog.d.ts +9 -1
  280. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  281. package/dist/modes/interactive/components/login-dialog.js +29 -4
  282. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  283. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  284. package/dist/modes/interactive/interactive-mode.js +18 -67
  285. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  286. package/dist/utils/child-process.d.ts +1 -0
  287. package/dist/utils/child-process.d.ts.map +1 -1
  288. package/dist/utils/child-process.js +8 -0
  289. package/dist/utils/child-process.js.map +1 -1
  290. package/dist/utils/clipboard-native.d.ts +3 -1
  291. package/dist/utils/clipboard-native.d.ts.map +1 -1
  292. package/dist/utils/clipboard-native.js +14 -8
  293. package/dist/utils/clipboard-native.js.map +1 -1
  294. package/dist/utils/image-resize-core.d.ts +30 -0
  295. package/dist/utils/image-resize-core.d.ts.map +1 -0
  296. package/dist/utils/image-resize-core.js +124 -0
  297. package/dist/utils/image-resize-core.js.map +1 -0
  298. package/dist/utils/image-resize-worker.d.ts +2 -0
  299. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  300. package/dist/utils/image-resize-worker.js +31 -0
  301. package/dist/utils/image-resize-worker.js.map +1 -0
  302. package/dist/utils/image-resize.d.ts +7 -27
  303. package/dist/utils/image-resize.d.ts.map +1 -1
  304. package/dist/utils/image-resize.js +75 -115
  305. package/dist/utils/image-resize.js.map +1 -1
  306. package/dist/utils/paths.d.ts +16 -1
  307. package/dist/utils/paths.d.ts.map +1 -1
  308. package/dist/utils/paths.js +49 -7
  309. package/dist/utils/paths.js.map +1 -1
  310. package/docs/changelog.mdx +29 -0
  311. package/docs/compaction.md +1 -1
  312. package/docs/custom-provider.md +2 -2
  313. package/docs/development.md +1 -1
  314. package/docs/docs.json +98 -143
  315. package/docs/extensions.md +29 -16
  316. package/docs/favicon.svg +29 -0
  317. package/docs/images/interactive-mode.png +0 -0
  318. package/docs/images/tree-view.png +0 -0
  319. package/docs/images/workflow-command.png +0 -0
  320. package/docs/images/workflow-graph.png +0 -0
  321. package/docs/images/workflow-input-picker.png +0 -0
  322. package/docs/images/workflow-list.png +0 -0
  323. package/docs/index.md +10 -1
  324. package/docs/logo.svg +59 -0
  325. package/docs/packages.md +3 -3
  326. package/docs/providers.md +1 -1
  327. package/docs/quickstart.md +98 -2
  328. package/docs/rpc.md +8 -8
  329. package/docs/sdk.md +23 -12
  330. package/docs/sessions.md +1 -1
  331. package/docs/skills.md +15 -1
  332. package/docs/termux.md +11 -1
  333. package/docs/themes.md +6 -6
  334. package/docs/tui.md +18 -18
  335. package/docs/usage.md +1 -1
  336. package/docs/workflows.md +172 -2
  337. package/examples/extensions/subagent/index.ts +2 -1
  338. package/package.json +6 -6
  339. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/SKILL.md +0 -0
  340. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/element-attributes.md +0 -0
  341. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/playwright-tests.md +0 -0
  342. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/request-mocking.md +0 -0
  343. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/running-code.md +0 -0
  344. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/session-management.md +0 -0
  345. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/spec-driven-testing.md +0 -0
  346. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/storage-state.md +0 -0
  347. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/test-generation.md +0 -0
  348. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/tracing.md +0 -0
  349. /package/dist/builtin/{workflows → subagents}/skills/playwright-cli/references/video-recording.md +0 -0
  350. /package/dist/builtin/{workflows → subagents}/skills/tdd/SKILL.md +0 -0
  351. /package/dist/builtin/{workflows → subagents}/skills/tdd/deep-modules.md +0 -0
  352. /package/dist/builtin/{workflows → subagents}/skills/tdd/interface-design.md +0 -0
  353. /package/dist/builtin/{workflows → subagents}/skills/tdd/mocking.md +0 -0
  354. /package/dist/builtin/{workflows → subagents}/skills/tdd/refactoring.md +0 -0
  355. /package/dist/builtin/{workflows → subagents}/skills/tdd/tests.md +0 -0
package/docs/docs.json CHANGED
@@ -1,152 +1,107 @@
1
1
  {
2
- "navigation": [
3
- {
4
- "title": "Start here",
5
- "items": [
6
- {
7
- "title": "Overview",
8
- "path": "index.md"
9
- },
10
- {
11
- "title": "Quickstart",
12
- "path": "quickstart.md"
13
- },
14
- {
15
- "title": "Using Atomic",
16
- "path": "usage.md"
17
- },
18
- {
19
- "title": "Providers",
20
- "path": "providers.md"
21
- },
22
- {
23
- "title": "Settings",
24
- "path": "settings.md"
25
- },
26
- {
27
- "title": "Keybindings",
28
- "path": "keybindings.md"
29
- },
30
- {
31
- "title": "Sessions",
32
- "path": "sessions.md"
33
- },
34
- {
35
- "title": "Compaction",
36
- "path": "compaction.md"
37
- }
38
- ]
39
- },
40
- {
41
- "title": "Customization",
42
- "items": [
43
- {
44
- "title": "Extensions",
45
- "path": "extensions.md"
46
- },
47
- {
48
- "title": "Skills",
49
- "path": "skills.md"
50
- },
51
- {
52
- "title": "Atomic Workflows",
53
- "path": "workflows.md"
54
- },
55
- {
56
- "title": "Prompt Templates",
57
- "path": "prompt-templates.md"
58
- },
59
- {
60
- "title": "Themes",
61
- "path": "themes.md"
62
- },
63
- {
64
- "title": "Atomic Packages",
65
- "path": "packages.md"
66
- },
67
- {
68
- "title": "Custom Models",
69
- "path": "models.md"
70
- },
71
- {
72
- "title": "Custom Providers",
73
- "path": "custom-provider.md"
74
- }
75
- ]
76
- },
77
- {
78
- "title": "Reference",
79
- "items": [
80
- {
81
- "title": "Session Format",
82
- "path": "session-format.md"
83
- }
84
- ]
85
- },
86
- {
87
- "title": "Programmatic Usage",
88
- "items": [
89
- {
90
- "title": "SDK",
91
- "path": "sdk.md"
92
- },
93
- {
94
- "title": "RPC Mode",
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
- "from": "session.md",
145
- "to": "session-format.md"
99
+ "source": "/session",
100
+ "destination": "/session-format"
146
101
  },
147
102
  {
148
- "from": "tree.md",
149
- "to": "sessions.md"
103
+ "source": "/tree",
104
+ "destination": "/sessions"
150
105
  }
151
106
  ]
152
107
  }
@@ -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/](../examples/extensions/) for working implementations.
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), run `npm install`, and imports from `node_modules/` are resolved automatically.
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
- For distributed Atomic packages installed with `atomic install` (npm or git), runtime deps must be in `dependencies`. Package installation uses production installs (`npm install --omit=dev`) by default, so `devDependencies` are not available at runtime; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers.
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 npm install
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](../examples/extensions/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](../examples/extensions/dynamic-tools.ts) for a full example.
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](../examples/extensions/send-user-message.ts) for a complete example.
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](../examples/extensions/structured-output.ts) for a minimal example where the agent ends on a final structured-output tool call.
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](../examples/extensions/tool-override.ts) for a complete example that overrides `read` with logging and access control.
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](../examples/extensions/ssh.ts) for a complete SSH example with `--ssh` flag.
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](../examples/extensions/truncated-tool.ts) for a complete example wrapping `rg` (ripgrep) with proper truncation.
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](../examples/extensions/timed-confirm.ts) for complete examples.
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](../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.
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](../examples/extensions/overlay-qa-tests.ts) for examples.
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/](../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
  |---------|-------------|----------|
@@ -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
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 from npm:
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 `npm install -g`.
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 `npm install` after clone or pull if `package.json` exists.
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 `npm install`, so those dependencies are installed automatically.
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](../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