@bastani/atomic 0.9.19-alpha.5 → 0.9.19-alpha.7

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 (209) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +2 -2
  3. package/dist/builtin/intercom/CHANGELOG.md +6 -0
  4. package/dist/builtin/intercom/broker/client.ts +19 -1
  5. package/dist/builtin/intercom/index.bundle.mjs +8 -1
  6. package/dist/builtin/intercom/package.json +1 -1
  7. package/dist/builtin/mcp/package.json +1 -1
  8. package/dist/builtin/subagents/CHANGELOG.md +6 -0
  9. package/dist/builtin/subagents/README.md +3 -1
  10. package/dist/builtin/subagents/agents/codebase-online-researcher.md +7 -7
  11. package/dist/builtin/subagents/package.json +1 -1
  12. package/dist/builtin/subagents/skills/subagent/SKILL.md +3 -1
  13. package/dist/builtin/subagents/src/extension/index.bundle.mjs +2 -1
  14. package/dist/builtin/web-access/CHANGELOG.md +13 -0
  15. package/dist/builtin/web-access/README.md +31 -24
  16. package/dist/builtin/web-access/index.bundle.mjs +16121 -80
  17. package/dist/builtin/web-access/package.json +2 -1
  18. package/dist/builtin/workflows/CHANGELOG.md +15 -0
  19. package/dist/builtin/workflows/README.md +1 -1
  20. package/dist/builtin/workflows/builtin/adversarial-verification.js +2 -2
  21. package/dist/builtin/workflows/builtin/{chunk-vhmnzdj9.js → chunk-1jth021m.js} +1 -1
  22. package/dist/builtin/workflows/builtin/{chunk-p8jjwfg6.js → chunk-2377r57g.js} +4 -2
  23. package/dist/builtin/workflows/builtin/{chunk-hbnwv56f.js → chunk-31j2gs7h.js} +2 -2
  24. package/dist/builtin/workflows/builtin/{chunk-n8zysf1t.js → chunk-ngkqkzej.js} +1 -1
  25. package/dist/builtin/workflows/builtin/{chunk-1nbq96fh.js → chunk-nkrafh9s.js} +1 -1
  26. package/dist/builtin/workflows/builtin/{chunk-1kx4aggw.js → chunk-wf741bv3.js} +2 -2
  27. package/dist/builtin/workflows/builtin/{chunk-t6x2d78s.js → chunk-z29qbehr.js} +1 -1
  28. package/dist/builtin/workflows/builtin/generate-and-filter.js +2 -2
  29. package/dist/builtin/workflows/builtin/goal.js +3 -3
  30. package/dist/builtin/workflows/builtin/index.js +7 -7
  31. package/dist/builtin/workflows/builtin/ralph.js +3 -3
  32. package/dist/builtin/workflows/builtin/tournament.js +2 -2
  33. package/dist/builtin/workflows/package.json +1 -1
  34. package/dist/builtin/workflows/src/extension/index.bundle.mjs +339 -31
  35. package/dist/builtin/workflows/src/index.js +67 -19
  36. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +2 -0
  37. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  38. package/dist/core/agent-session-tool-registry.js +10 -0
  39. package/dist/core/agent-session-tool-registry.js.map +1 -1
  40. package/dist/core/bash-executor.js.map +1 -1
  41. package/dist/core/tools/bash.d.ts +1 -1
  42. package/dist/core/tools/bash.d.ts.map +1 -1
  43. package/dist/core/tools/bash.js +3 -2
  44. package/dist/core/tools/bash.js.map +1 -1
  45. package/dist/core/tools/edit.d.ts +3 -0
  46. package/dist/core/tools/edit.d.ts.map +1 -1
  47. package/dist/core/tools/edit.js +91 -12
  48. package/dist/core/tools/edit.js.map +1 -1
  49. package/dist/core/tools/file-mutation-coordinator.d.ts +255 -0
  50. package/dist/core/tools/file-mutation-coordinator.d.ts.map +1 -0
  51. package/dist/core/tools/file-mutation-coordinator.js +300 -0
  52. package/dist/core/tools/file-mutation-coordinator.js.map +1 -0
  53. package/dist/core/tools/file-mutation-queue.d.ts +14 -1
  54. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  55. package/dist/core/tools/file-mutation-queue.js +15 -3
  56. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  57. package/dist/core/tools/hashline.d.ts +9 -0
  58. package/dist/core/tools/hashline.d.ts.map +1 -1
  59. package/dist/core/tools/hashline.js +12 -1
  60. package/dist/core/tools/hashline.js.map +1 -1
  61. package/dist/core/tools/index.d.ts +9 -1
  62. package/dist/core/tools/index.d.ts.map +1 -1
  63. package/dist/core/tools/index.js +67 -12
  64. package/dist/core/tools/index.js.map +1 -1
  65. package/dist/core/tools/non-minting-snapshot-store.d.ts +49 -0
  66. package/dist/core/tools/non-minting-snapshot-store.d.ts.map +1 -0
  67. package/dist/core/tools/non-minting-snapshot-store.js +64 -0
  68. package/dist/core/tools/non-minting-snapshot-store.js.map +1 -0
  69. package/dist/core/tools/powershell.d.ts +2 -2
  70. package/dist/core/tools/powershell.d.ts.map +1 -1
  71. package/dist/core/tools/powershell.js +2 -5
  72. package/dist/core/tools/powershell.js.map +1 -1
  73. package/dist/core/tools/read-document-extract.js.map +1 -1
  74. package/dist/core/tools/render-utils.js.map +1 -1
  75. package/dist/core/tools/write.d.ts +30 -1
  76. package/dist/core/tools/write.d.ts.map +1 -1
  77. package/dist/core/tools/write.js +97 -8
  78. package/dist/core/tools/write.js.map +1 -1
  79. package/dist/index.d.ts +1 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  83. package/dist/modes/interactive/components/task-live-transcript.d.ts +1 -1
  84. package/dist/modes/interactive/components/task-live-transcript.d.ts.map +1 -1
  85. package/dist/modes/interactive/components/task-live-transcript.js +19 -11
  86. package/dist/modes/interactive/components/task-live-transcript.js.map +1 -1
  87. package/dist/modes/interactive/interactive-mode-base.d.ts +1 -0
  88. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  89. package/dist/modes/interactive/interactive-mode-base.js +3 -1
  90. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  91. package/dist/modes/interactive/interactive-mode-surface.d.ts +1 -1
  92. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  93. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  94. package/dist/modes/interactive/interactive-render-chat.js +28 -4
  95. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  96. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  97. package/dist/modes/interactive/interactive-startup.js +3 -0
  98. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  99. package/dist/modes/interactive-engine/activity-watchdog.d.ts +2 -2
  100. package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
  101. package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
  102. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +3 -1
  103. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -1
  104. package/dist/modes/interactive-engine/engine-diagnostic-view.js +11 -0
  105. package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -1
  106. package/dist/modes/interactive-engine/isolated-runtime.js +2 -1
  107. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  108. package/dist/modes/rpc/rpc-client-process.d.ts +2 -0
  109. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  110. package/dist/modes/rpc/rpc-client-process.js +23 -1
  111. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  112. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  113. package/dist/modes/rpc/rpc-client.js +20 -3
  114. package/dist/modes/rpc/rpc-client.js.map +1 -1
  115. package/dist/utils/markit.d.ts +2 -0
  116. package/dist/utils/markit.d.ts.map +1 -1
  117. package/dist/utils/markit.js +65 -5
  118. package/dist/utils/markit.js.map +1 -1
  119. package/docs/background-tasks.md +15 -11
  120. package/docs/build.md +51 -0
  121. package/docs/changelog.mdx +8 -8
  122. package/docs/compaction/reference.md +267 -0
  123. package/docs/compaction.md +36 -219
  124. package/docs/computer-use.md +35 -0
  125. package/docs/containerization.md +9 -5
  126. package/docs/custom-provider/api-reference.md +145 -0
  127. package/docs/custom-provider/oauth.md +131 -0
  128. package/docs/custom-provider/override.md +34 -0
  129. package/docs/custom-provider/registration.md +163 -0
  130. package/docs/custom-provider/streaming.md +214 -0
  131. package/docs/custom-provider.md +43 -607
  132. package/docs/development.md +87 -0
  133. package/docs/docs.json +199 -76
  134. package/docs/environment-variables.md +1 -1
  135. package/docs/extensions/api-reference.md +1001 -0
  136. package/docs/extensions/authoring.md +676 -0
  137. package/docs/extensions/events.md +793 -0
  138. package/docs/extensions/examples.md +94 -0
  139. package/docs/extensions/ui.md +470 -0
  140. package/docs/extensions.md +270 -2768
  141. package/docs/getting-started/authentication.md +55 -0
  142. package/docs/getting-started/first-session.md +172 -0
  143. package/docs/getting-started/installation.md +154 -0
  144. package/docs/getting-started/project-instructions.md +43 -0
  145. package/docs/guides/configuration.md +65 -0
  146. package/docs/guides/intercom.md +24 -0
  147. package/docs/guides/non-interactive.md +33 -0
  148. package/docs/guides/subagents.md +24 -0
  149. package/docs/guides/workflows.md +27 -0
  150. package/docs/guides.md +41 -0
  151. package/docs/index.md +13 -45
  152. package/docs/intercom/operations.md +178 -0
  153. package/docs/intercom/reference.md +146 -0
  154. package/docs/intercom.md +54 -259
  155. package/docs/json.md +17 -0
  156. package/docs/llama-cpp.md +5 -0
  157. package/docs/models/artificial-analysis-index.md +89 -0
  158. package/docs/models/evals.md +2 -2
  159. package/docs/models/model-selection.md +3 -3
  160. package/docs/models/pareto-efficiency.md +2 -2
  161. package/docs/models/reference.md +601 -0
  162. package/docs/models.md +45 -550
  163. package/docs/packages/authoring.md +88 -0
  164. package/docs/packages/reference.md +43 -0
  165. package/docs/packages.md +28 -107
  166. package/docs/programmatic.md +29 -0
  167. package/docs/prompt-templates.md +11 -0
  168. package/docs/providers/reference.md +23 -0
  169. package/docs/providers.md +10 -15
  170. package/docs/quickstart.md +44 -238
  171. package/docs/reference/cli.md +252 -0
  172. package/docs/reference.md +52 -0
  173. package/docs/rpc/examples.md +64 -0
  174. package/docs/rpc/extension-ui.md +198 -0
  175. package/docs/rpc/protocol.md +1341 -0
  176. package/docs/rpc.md +109 -1346
  177. package/docs/sdk/reference.md +1090 -0
  178. package/docs/sdk.md +56 -1002
  179. package/docs/session-format.md +2 -0
  180. package/docs/sessions.md +6 -10
  181. package/docs/settings.md +6 -45
  182. package/docs/skills/authoring.md +95 -0
  183. package/docs/skills/reference.md +60 -0
  184. package/docs/skills.md +20 -122
  185. package/docs/subagents/authoring.md +37 -0
  186. package/docs/subagents/reference.md +60 -0
  187. package/docs/subagents.md +42 -96
  188. package/docs/terminal-setup.md +1 -1
  189. package/docs/themes/reference.md +176 -0
  190. package/docs/themes.md +21 -135
  191. package/docs/tmux.md +5 -0
  192. package/docs/tools/edit.md +5 -0
  193. package/docs/tools.md +31 -0
  194. package/docs/tui/reference.md +343 -0
  195. package/docs/tui.md +23 -286
  196. package/docs/usage.md +26 -209
  197. package/docs/web-access.md +40 -0
  198. package/docs/windows.md +2 -1
  199. package/docs/workflows/api-reference.md +11 -4
  200. package/docs/workflows/authoring.md +4 -2
  201. package/docs/workflows/builtins.md +2 -2
  202. package/docs/workflows/operations.md +11 -7
  203. package/docs/workflows/reliable-design.md +21 -3
  204. package/docs/workflows/verification.md +8 -0
  205. package/examples/extensions/gondolin/index.ts +116 -148
  206. package/examples/extensions/gondolin/package.json +1 -1
  207. package/examples/extensions/ssh.ts +56 -34
  208. package/npm-shrinkwrap.json +33 -33
  209. package/package.json +4 -4
@@ -15,6 +15,13 @@ Use npm for installs, builds, checks, and Vitest suites. Bun compiles standalone
15
15
 
16
16
  Atomic keeps the caller's current working directory when launched from development wrappers.
17
17
 
18
+ Run package scripts from the monorepo root or a package directory, for example:
19
+
20
+ ```bash
21
+ npm run test:unit
22
+ npm run build --workspace=@bastani/atomic
23
+ ```
24
+
18
25
  ## Forking / Rebranding
19
26
 
20
27
  Configure via `package.json`:
@@ -30,6 +37,8 @@ Configure via `package.json`:
30
37
 
31
38
  Change `name`, `configDir`, and the `bin` field for your fork. These control the CLI banner, config paths, and environment variable names. Legacy `piConfig` remains a compatibility fallback.
32
39
 
40
+ The app-specific `<appName>Config` key is preferred. Atomic sets these to `atomic`, `.atomic`, and the `atomic` executable.
41
+
33
42
  ## Path Resolution
34
43
 
35
44
  Three execution modes: package-manager install, standalone binary, and source checkout.
@@ -50,6 +59,50 @@ Never use `__dirname` directly for package assets.
50
59
 
51
60
  For startup measurements, see the [Windows startup benchmark](https://github.com/bastani-inc/atomic/blob/main/scripts/perf/windows-startup/README.md). Internal timing marks do not prove terminal first paint.
52
61
 
62
+ ## PDF and engine diagnostics
63
+
64
+ PDF conversion and engine diagnostics appear as status messages in interactive sessions
65
+ and console output otherwise. Conversion failures also include diagnostic details in
66
+ their error result. Long or noisy diagnostics may be truncated. Interactive sessions keep
67
+ only recent diagnostics; older diagnostics are discarded without removing normal chat.
68
+
69
+ Diagnostics are displayed as text, not terminal commands. RPC clients receive diagnostics
70
+ separately from JSON responses. No `atomic-engine-stderr.log` file is written; include the
71
+ displayed diagnostic and conversion error when reporting a PDF problem.
72
+
73
+ ## Startup timing probes
74
+
75
+ Use the [current startup benchmark instructions](https://github.com/bastani-inc/atomic/blob/main/scripts/perf/windows-startup/README.md).
76
+
77
+ Use `scripts/perf/windows-startup/benchmark.ts` for Windows startup claims. It launches the ordinary bare `atomic` command through a real 120x40 ConPTY, feeds ordered output into `@xterm/headless`, and timestamps each receive with `process.hrtime.bigint()`. Complete first paint requires the final `Atomic v<version>` identity, the focused `❯ ` editor, and two identical settled frames at least one 80 ms animation interval apart. `dispatchMs` runs from the Enter write to the first byte observed by a raw TCP loopback provider. The headline `spawnToDispatchMs` is exactly `startupCompleteMs + dispatchMs`; `launchToProviderFirstByteMs` separately retains the contiguous launch-to-provider interval that also contains nonce typing and editor-echo wait. The provider request must contain the nonce and the normal tool schemas, and every accepted sample must pass `/workflow list` after the timed response. See [the benchmark README](https://github.com/bastani-inc/atomic/blob/main/scripts/perf/windows-startup/README.md) for artifact preparation, cache profiles, raw records, and summary commands.
78
+
79
+ Do not use `time-to-first-frame` as settled-paint evidence, and do not substitute `launchToProviderFirstByteMs` for the contract sum. The first-frame mark records the host's first requested identity frame after the header is mounted; it does not prove terminal receipt, animation settlement, engine resource readiness, or provider readiness. `ATOMIC_STARTUP_BENCHMARK=1`, `--no-extensions`, and `--no-tools` are attribution controls only. They do not run the accepted full CLI path with bundled workflows, normal extensions, tools, and provider dispatch.
80
+
81
+ The process-local lifecycle timing seams use monotonic nanoseconds and remain disabled until an internal diagnostic adapter installs a synchronous sink. With no sink, they do not read the clock, write output, or schedule work. External ConPTY and TCP marks remain authoritative. Startup now has several deliberate partial orders rather than one cross-process sequence:
82
+
83
+ ```text
84
+ interactive host: process-entry → interactive-engine-spawn → engine-ready
85
+ → tui-start → header-mounted → initialize engine-bound state
86
+ → chat-output-release → interactive-input-handler-ready
87
+
88
+ isolated child: process-entry → engine-ready → engine-bound
89
+ → engine-resources-ready
90
+
91
+ external screen: first-terminal-write → startup-coherent → startup-complete
92
+
93
+ first turn: interactive-first-submit → before-provider-request
94
+ ```
95
+
96
+ The header and editor are mounted before the host waits for `engine-bound`; the child can therefore report binding while the host is applying its theme or requesting that frame. `engine-bound` means RPC control plus the mandatory minimal session are available. `engine-resources-ready` is a separate, generation-scoped child message sent only after a staged optional snapshot containing bundled extensions, tools, providers, skills, prompts, and themes commits. User prompts, extension commands, model/resource commands, session replacement, and tool-dispatching RPC calls wait for that gate. After a readiness failure, `/reload` bypasses the rejected gate to start a fresh transactional attempt; successful retry replaces the gate before later work proceeds. Escape cancels a first submission that is still waiting, so that continuation cannot dispatch later. `session_start` messages are queued against the candidate snapshot and released only after publication. Mandatory Intercom remains in the minimal runtime. A failed transactional candidate leaves host-managed settings, providers, tools, resources, event subscriptions, and system-prompt state unchanged, restores an unadmitted prompt draft exactly, and reports the generation failure once. Extension-owned objects stored with `sessionScopedExtensionState` are deliberately shared across reloads and are not cloned or rolled back.
97
+
98
+ `engine-resources-ready` is recorded in the isolated engine process; host marks are recorded in the interactive process. The two process clocks are monotonic but must not be subtracted without an external synchronization protocol. `startup-coherent` and `startup-complete` describe internal render composition, not terminal receipt. The external VT predicates decide the reported first-paint marks.
99
+
100
+ For package-manager installs under Node 22, Atomic enables Node's persistent module compile cache in both the host and isolated child and flushes the host cache before spawning the child. Explicit `NODE_COMPILE_CACHE` and `NODE_DISABLE_COMPILE_CACHE` settings pass through unchanged. This preserves Node's coverage opt-out and avoids forcing a new cache directory or a first-run-only precompile step. SEA, V8 snapshots, and package-install precompilation were not adopted because Atomic's dynamic ESM, native modules, workers, and first-run requirements do not provide a safe portable boundary.
101
+
102
+ Set `ATOMIC_TIMING=1` only for the older human-readable phase diagnostics. Normal interactive launches print that initial timing group before `interactiveMode.run()` starts the TUI loop, so later marks are not printed during ordinary sessions.
103
+
104
+ For the current Bun version, Windows-hosted bytecode requirement, and archive-validation caveats, see [Windows interactive startup](/windows#interactive-startup).
105
+
53
106
  ## Testing
54
107
 
55
108
  ```bash
@@ -63,6 +116,12 @@ npm run test --workspace=@bastani/atomic -- test/specific.test.ts
63
116
 
64
117
  CI runs root unit and integration suites on Linux and Windows. See [CI documentation](https://github.com/bastani-inc/atomic/blob/main/docs/ci.md) for job details and release procedures.
65
118
 
119
+ To run only the typechecks:
120
+
121
+ ```bash
122
+ npm run typecheck # Type-check the monorepo
123
+ ```
124
+
66
125
  ### Installed package smoke test
67
126
 
68
127
  After building, run:
@@ -75,6 +134,22 @@ This checks Node startup and builtin extension loading outside the checkout.
75
134
 
76
135
  Atomic ships an npm shrinkwrap. After dependency changes, regenerate it with `npm run shrinkwrap:coding-agent` and validate with `npm run check`.
77
136
 
137
+ ## Deterministic installs
138
+
139
+ See [Testing](#testing) for the current shrinkwrap commands.
140
+
141
+ `@bastani/atomic` ships `packages/coding-agent/npm-shrinkwrap.json` so package-manager installs resolve the same dependency tree every time. Contributors working from a source checkout can validate that the checked-in shrinkwrap is up to date with:
142
+
143
+ ```bash
144
+ bun run scripts/generate-coding-agent-shrinkwrap.mjs --check
145
+ ```
146
+
147
+ ## Release security boundary
148
+
149
+ Follow the [current release pipeline](https://github.com/bastani-inc/atomic/blob/main/docs/ci.md#release-pipeline).
150
+
151
+ Atomic's release bases remain at the `0.0.0` placeholder. `scripts/cut-release.ts` stamps the real version only on a detached tagged release commit.
152
+
78
153
  ## Project Structure
79
154
 
80
155
  ```text
@@ -87,3 +162,15 @@ packages/
87
162
  web-access/ # Web search and content extraction
88
163
  intercom/ # Cross-session coordination
89
164
  ```
165
+
166
+ The bundled companion-package roles are:
167
+
168
+ ```
169
+ packages/
170
+ coding-agent/ # Atomic CLI, agent loop, providers, TUI, and core runtime
171
+ workflows/ # First-party workflow extension bundled into Atomic
172
+ subagents/ # Built-in subagent orchestration and reusable agents
173
+ mcp/ # Built-in MCP adapter extension
174
+ web-access/ # Built-in web search and content extraction tools
175
+ intercom/ # Built-in cross-session coordination channel
176
+ ```
package/docs/docs.json CHANGED
@@ -10,98 +10,221 @@
10
10
  "dark": "#1D4ED8"
11
11
  },
12
12
  "navigation": {
13
- "groups": [
13
+ "tabs": [
14
14
  {
15
- "group": "Start here",
16
- "pages": [
17
- "index",
18
- "quickstart",
19
- "usage",
20
- "computer-use",
21
- "providers",
22
- "environment-variables",
23
- "llama-cpp",
24
- "herdr",
25
- "containerization",
26
- "security",
27
- "settings",
28
- "keybindings",
29
- "sessions",
30
- "background-tasks",
31
- "compaction"
15
+ "tab": "Learn",
16
+ "groups": [
17
+ {
18
+ "group": "Overview",
19
+ "pages": [
20
+ "index"
21
+ ]
22
+ },
23
+ {
24
+ "group": "Quickstart",
25
+ "pages": [
26
+ "quickstart",
27
+ "getting-started/installation",
28
+ "getting-started/authentication",
29
+ "getting-started/first-session",
30
+ "getting-started/project-instructions"
31
+ ]
32
+ },
33
+ {
34
+ "group": "Start here",
35
+ "pages": [
36
+ "guides"
37
+ ]
38
+ },
39
+ {
40
+ "group": "Everyday use",
41
+ "pages": [
42
+ "usage",
43
+ "guides/non-interactive",
44
+ "sessions",
45
+ "compaction",
46
+ "guides/configuration"
47
+ ]
48
+ },
49
+ {
50
+ "group": "Running work for you",
51
+ "pages": [
52
+ "guides/workflows",
53
+ "guides/subagents",
54
+ "background-tasks",
55
+ "guides/intercom",
56
+ "computer-use"
57
+ ]
58
+ },
59
+ {
60
+ "group": "Models and providers",
61
+ "pages": [
62
+ "providers",
63
+ "llama-cpp"
64
+ ]
65
+ },
66
+ {
67
+ "group": "Safety and isolation",
68
+ "pages": [
69
+ "security",
70
+ "containerization"
71
+ ]
72
+ }
32
73
  ]
33
74
  },
34
75
  {
35
- "group": "Customization",
36
- "pages": [
37
- "extensions",
38
- "skills",
39
- "subagents",
40
- "intercom",
41
- {
42
- "group": "Workflows",
43
- "pages": [
44
- "workflows",
45
- "workflows/builtins",
46
- "workflows/authoring",
47
- "workflows/reliable-design",
48
- "workflows/verification",
49
- "workflows/operations",
50
- "workflows/api-reference"
76
+ "tab": "Build",
77
+ "groups": [
78
+ {
79
+ "group": "Build with Atomic",
80
+ "pages": [
81
+ "build"
51
82
  ]
52
83
  },
53
- "prompt-templates",
54
- "themes",
55
- "packages",
56
84
  {
57
- "group": "Models",
85
+ "group": "Extend a session",
86
+ "pages": [
87
+ {
88
+ "group": "Skills",
89
+ "pages": [
90
+ "skills",
91
+ "skills/authoring"
92
+ ]
93
+ },
94
+ "prompt-templates",
95
+ "themes",
96
+ {
97
+ "group": "Extensions",
98
+ "pages": [
99
+ "extensions",
100
+ "extensions/authoring",
101
+ "extensions/events",
102
+ "extensions/ui",
103
+ "extensions/examples"
104
+ ]
105
+ }
106
+ ]
107
+ },
108
+ {
109
+ "group": "Orchestrate work",
110
+ "pages": [
111
+ {
112
+ "group": "Workflows",
113
+ "pages": [
114
+ "workflows",
115
+ "workflows/builtins",
116
+ "workflows/authoring",
117
+ "workflows/reliable-design",
118
+ "workflows/verification",
119
+ "workflows/operations",
120
+ "workflows/api-reference"
121
+ ]
122
+ },
123
+ {
124
+ "group": "Subagents",
125
+ "pages": [
126
+ "subagents",
127
+ "subagents/authoring"
128
+ ]
129
+ },
130
+ {
131
+ "group": "Intercom",
132
+ "pages": [
133
+ "intercom",
134
+ "intercom/operations"
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "group": "Distribute",
141
+ "pages": [
142
+ "packages",
143
+ "packages/authoring"
144
+ ]
145
+ },
146
+ {
147
+ "group": "Models and providers",
58
148
  "pages": [
59
149
  "models",
60
150
  "models/model-selection",
61
151
  "models/pareto-efficiency",
62
- "models/evals"
152
+ "models/evals",
153
+ "custom-provider",
154
+ "custom-provider/override",
155
+ "custom-provider/registration",
156
+ "custom-provider/oauth",
157
+ "custom-provider/streaming"
63
158
  ]
64
159
  },
65
- "custom-provider"
66
- ]
67
- },
68
- {
69
- "group": "Reference",
70
- "pages": [
71
- "tools",
72
- "tools/edit",
73
- "session-format"
74
- ]
75
- },
76
- {
77
- "group": "Programmatic Usage",
78
- "pages": [
79
- "sdk",
80
- "rpc",
81
- "json",
82
- "tui"
83
- ]
84
- },
85
- {
86
- "group": "Platform Setup",
87
- "pages": [
88
- "windows",
89
- "termux",
90
- "tmux",
91
- "terminal-setup",
92
- "shell-aliases"
93
- ]
94
- },
95
- {
96
- "group": "Development",
97
- "pages": [
98
- "development"
160
+ {
161
+ "group": "Programmatic use",
162
+ "pages": [
163
+ "programmatic",
164
+ "sdk",
165
+ "rpc",
166
+ "rpc/extension-ui",
167
+ "rpc/examples",
168
+ "json",
169
+ "tui"
170
+ ]
171
+ }
99
172
  ]
100
173
  },
101
174
  {
102
- "group": "Changelog",
103
- "pages": [
104
- "changelog"
175
+ "tab": "Reference",
176
+ "groups": [
177
+ {
178
+ "group": "Reference",
179
+ "pages": [
180
+ "reference",
181
+ "reference/cli",
182
+ "settings",
183
+ "environment-variables",
184
+ "keybindings",
185
+ "tools",
186
+ "tools/edit",
187
+ "web-access",
188
+ "session-format"
189
+ ]
190
+ },
191
+ {
192
+ "group": "Domain reference",
193
+ "pages": [
194
+ "providers/reference",
195
+ "models/reference",
196
+ "compaction/reference",
197
+ "skills/reference",
198
+ "subagents/reference",
199
+ "intercom/reference",
200
+ "packages/reference",
201
+ "themes/reference",
202
+ "extensions/api-reference",
203
+ "custom-provider/api-reference",
204
+ "sdk/reference",
205
+ "rpc/protocol",
206
+ "tui/reference"
207
+ ]
208
+ },
209
+ {
210
+ "group": "Platform setup",
211
+ "pages": [
212
+ "windows",
213
+ "termux",
214
+ "terminal-setup",
215
+ "tmux",
216
+ "herdr",
217
+ "shell-aliases"
218
+ ]
219
+ },
220
+ {
221
+ "group": "Project",
222
+ "pages": [
223
+ "development",
224
+ "changelog",
225
+ "models/artificial-analysis-index"
226
+ ]
227
+ }
105
228
  ]
106
229
  }
107
230
  ]
@@ -43,4 +43,4 @@ Every built-in, factory-created, direct, workflow-stage, and isolated bash or Po
43
43
 
44
44
  Atomic clears these ten reserved names before overlaying the current snapshot, preventing stale metadata from another session or workflow stage. Unrelated inherited/caller variables remain intact. The snapshot is taken when execution begins, so a resumed session or later model change is reflected. SDK `createBashTool()` and `createPowerShellTool()` expose it by default; set `exposeSessionEnvironment: false` to opt out.
45
45
 
46
- See [Using Atomic](/usage#environment-variables) and [RPC direct bash](/rpc#bash) for execution and streaming behavior.
46
+ See [Using Atomic](/reference/cli#environment-variables) and [RPC direct bash](/rpc/protocol#bash) for execution and streaming behavior.