one-code-extension 0.1.4 → 0.3.1

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 (300) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +222 -177
  3. package/agents/explore.md +9 -6
  4. package/agents/general-purpose.md +1 -1
  5. package/agents/plan.md +6 -4
  6. package/docs/guide/README.md +52 -0
  7. package/docs/guide/bring-your-claude-code-setup.md +128 -0
  8. package/docs/guide/configuration.md +173 -0
  9. package/docs/guide/differences-from-claude-code.md +152 -0
  10. package/docs/guide/doctor.md +88 -0
  11. package/docs/guide/hooks.md +111 -0
  12. package/docs/guide/installation.md +126 -0
  13. package/docs/guide/permissions-modes-and-auto-mode.md +452 -0
  14. package/docs/guide/providers-and-models.md +196 -0
  15. package/docs/guide/reference.md +226 -0
  16. package/docs/guide/sessions-and-context.md +192 -0
  17. package/docs/guide/skills-plugins-and-mcp.md +178 -0
  18. package/docs/guide/subagents-and-workflows.md +195 -0
  19. package/docs/guide/tasks-and-background-work.md +113 -0
  20. package/docs/guide/terminal-interface.md +157 -0
  21. package/docs/guide/tools.md +177 -0
  22. package/docs/guide/troubleshooting.md +177 -0
  23. package/extensions/ask-user/index.ts +65 -71
  24. package/extensions/ask-user/questions.ts +15 -28
  25. package/extensions/ask-user/widget.ts +533 -0
  26. package/extensions/auto-mode/actions.ts +9 -26
  27. package/extensions/auto-mode/classifier-prompt.ts +127 -0
  28. package/extensions/auto-mode/classifier.ts +305 -227
  29. package/extensions/auto-mode/config.ts +279 -77
  30. package/extensions/auto-mode/defaults.ts +17 -60
  31. package/extensions/auto-mode/instructions.ts +2 -1
  32. package/extensions/auto-mode/model-picker.ts +53 -31
  33. package/extensions/auto-mode/model-select.ts +153 -82
  34. package/extensions/auto-mode/paths.ts +13 -1
  35. package/extensions/auto-mode/pause.ts +8 -0
  36. package/extensions/auto-mode/prompt.ts +205 -238
  37. package/extensions/auto-mode/recoverability.ts +229 -0
  38. package/extensions/auto-mode/rules.ts +92 -75
  39. package/extensions/auto-mode/safety-floor.ts +43 -12
  40. package/extensions/auto-mode/sensitive.ts +11 -0
  41. package/extensions/auto-mode/setup-run.ts +245 -0
  42. package/extensions/auto-mode/setup.ts +235 -0
  43. package/extensions/auto-mode/shell-analysis.ts +332 -26
  44. package/extensions/auto-mode/transcript.ts +102 -0
  45. package/extensions/background/index.ts +256 -43
  46. package/extensions/background/monitor-batch.ts +58 -0
  47. package/extensions/background/registry.ts +9 -0
  48. package/extensions/background/wakeup.ts +45 -0
  49. package/extensions/bash/background.ts +47 -22
  50. package/extensions/bash/guards.ts +229 -0
  51. package/extensions/bash/index.ts +81 -19
  52. package/extensions/branding/index.ts +44 -18
  53. package/extensions/branding/startup.ts +23 -8
  54. package/extensions/claude-compat/index.ts +17 -2
  55. package/extensions/claude-context/index.ts +41 -12
  56. package/extensions/clear/index.ts +27 -0
  57. package/extensions/compaction/fit.ts +121 -0
  58. package/extensions/compaction/index.ts +176 -71
  59. package/extensions/compaction/prompt.ts +21 -1
  60. package/extensions/context-budget/budget.ts +61 -0
  61. package/extensions/context-budget/index.ts +66 -0
  62. package/extensions/context-management/index.ts +40 -16
  63. package/extensions/doctor/build.ts +226 -0
  64. package/extensions/doctor/cli.ts +99 -0
  65. package/extensions/doctor/compat.ts +532 -0
  66. package/extensions/doctor/dependencies.ts +186 -0
  67. package/extensions/doctor/fix-prompt.ts +125 -0
  68. package/extensions/doctor/index.ts +308 -0
  69. package/extensions/doctor/models.ts +231 -0
  70. package/extensions/doctor/presets.ts +208 -0
  71. package/extensions/doctor/report.ts +189 -0
  72. package/extensions/doctor/update-lookup.ts +46 -0
  73. package/extensions/doctor/viewer.ts +124 -0
  74. package/extensions/effort/index.ts +41 -4
  75. package/extensions/effort/slider.ts +33 -2
  76. package/extensions/file-tracker/index.ts +143 -20
  77. package/extensions/file-tracker/replay.ts +46 -0
  78. package/extensions/file-tracker/tracker.ts +51 -4
  79. package/extensions/footer/footer-line.ts +207 -0
  80. package/extensions/footer/index.ts +152 -0
  81. package/extensions/footer/pr.ts +53 -0
  82. package/extensions/hooks/executor.ts +57 -20
  83. package/extensions/hooks/formatter-notice.ts +76 -0
  84. package/extensions/hooks/index.ts +314 -73
  85. package/extensions/hooks/matcher.ts +35 -1
  86. package/extensions/hooks/plugin-hooks.ts +3 -3
  87. package/extensions/hooks/protocol.ts +58 -0
  88. package/extensions/hooks/subagent-bridge.ts +77 -0
  89. package/extensions/hooks/trust.ts +15 -4
  90. package/extensions/init/index.ts +26 -0
  91. package/extensions/init/prompt.ts +40 -0
  92. package/extensions/interrupted/index.ts +35 -0
  93. package/extensions/interrupted/line.ts +9 -0
  94. package/extensions/lib/abort.ts +15 -0
  95. package/extensions/lib/agent-loader.ts +183 -0
  96. package/extensions/lib/anthropic-payload.ts +15 -0
  97. package/extensions/lib/atomic-write.ts +56 -0
  98. package/extensions/lib/bridge-watch.ts +20 -0
  99. package/extensions/lib/cache-retention.ts +60 -0
  100. package/extensions/lib/capability-index.ts +466 -0
  101. package/extensions/lib/claude-context.ts +318 -27
  102. package/extensions/lib/claude-settings.ts +64 -0
  103. package/extensions/lib/consent-preview.ts +30 -0
  104. package/extensions/lib/deferred.ts +144 -13
  105. package/extensions/lib/favorites.ts +43 -0
  106. package/extensions/lib/fetch-timeout.ts +15 -0
  107. package/extensions/lib/frontmatter.ts +31 -0
  108. package/extensions/lib/git.ts +44 -2
  109. package/extensions/lib/hook-gate.ts +90 -0
  110. package/extensions/lib/interrupt.ts +94 -0
  111. package/extensions/lib/mcp-overrides.ts +61 -0
  112. package/extensions/lib/mcp-share.ts +25 -0
  113. package/extensions/lib/mcp-status.ts +34 -0
  114. package/extensions/lib/memory.ts +41 -6
  115. package/extensions/lib/model-facts.generated.json +2480 -0
  116. package/extensions/lib/model-facts.ts +162 -0
  117. package/extensions/lib/model-policy.ts +145 -189
  118. package/extensions/lib/model-tier.ts +480 -64
  119. package/extensions/lib/model-unusable.ts +37 -0
  120. package/extensions/lib/notifications.ts +320 -1
  121. package/extensions/lib/one-code-settings.ts +63 -0
  122. package/extensions/lib/original-command.ts +71 -0
  123. package/extensions/lib/package-version.ts +31 -0
  124. package/extensions/lib/paths.ts +39 -4
  125. package/extensions/lib/permission-gate.ts +192 -0
  126. package/extensions/lib/persisted-output.ts +18 -0
  127. package/extensions/lib/pi-ai-estimate.ts +160 -0
  128. package/extensions/lib/pi-version.ts +1 -1
  129. package/extensions/lib/plan-mode-channels.ts +11 -0
  130. package/extensions/lib/plugin-overrides.ts +24 -0
  131. package/extensions/lib/plugin-root.ts +44 -0
  132. package/extensions/lib/plugins.ts +233 -54
  133. package/extensions/lib/prefix-warm-gate.ts +157 -0
  134. package/extensions/lib/process-tree.ts +56 -0
  135. package/extensions/lib/reminders.ts +321 -68
  136. package/extensions/lib/scratchpad.ts +11 -8
  137. package/extensions/lib/session-lifecycle.ts +28 -0
  138. package/extensions/lib/settings-channels.ts +14 -0
  139. package/extensions/lib/shell-tasks.ts +54 -0
  140. package/extensions/lib/skill-overrides.ts +86 -0
  141. package/extensions/lib/skill-scan.ts +110 -0
  142. package/extensions/lib/text-width.ts +267 -0
  143. package/extensions/lib/tui-render.ts +281 -54
  144. package/extensions/lib/usage-bus.ts +75 -0
  145. package/extensions/lib/usage-tracker.ts +67 -0
  146. package/extensions/lib/worktree-isolation.ts +170 -0
  147. package/extensions/lsp/client.ts +69 -12
  148. package/extensions/lsp/format.ts +12 -2
  149. package/extensions/lsp/index.ts +273 -84
  150. package/extensions/lsp/install-hints.ts +43 -0
  151. package/extensions/lsp/keep-alive.ts +19 -0
  152. package/extensions/lsp/plugin-servers.ts +331 -0
  153. package/extensions/lsp/watcher.ts +157 -0
  154. package/extensions/mcp/announce.ts +99 -0
  155. package/extensions/mcp/client.ts +181 -22
  156. package/extensions/mcp/config.ts +55 -24
  157. package/extensions/mcp/index.ts +586 -86
  158. package/extensions/mcp/oauth/browser.ts +26 -0
  159. package/extensions/mcp/oauth/callback.ts +104 -0
  160. package/extensions/mcp/oauth/flow.ts +68 -0
  161. package/extensions/mcp/oauth/provider.ts +147 -0
  162. package/extensions/mcp/oauth/store.ts +86 -0
  163. package/extensions/mcp/panel/keys.ts +34 -0
  164. package/extensions/mcp/panel/model.ts +62 -0
  165. package/extensions/mcp/panel/render.ts +141 -0
  166. package/extensions/mcp/panel/state.ts +108 -0
  167. package/extensions/mcp/schema.ts +83 -6
  168. package/extensions/mcp/trust.ts +340 -0
  169. package/extensions/memory/entries.ts +163 -0
  170. package/extensions/memory/index.ts +119 -2
  171. package/extensions/memory/open-external.ts +97 -0
  172. package/extensions/memory/panel.ts +124 -0
  173. package/extensions/model-default/index.ts +74 -0
  174. package/extensions/notebook/index.ts +36 -18
  175. package/extensions/notebook/notebook.ts +110 -17
  176. package/extensions/permissions/index.ts +1012 -247
  177. package/extensions/permissions/matcher.ts +488 -57
  178. package/extensions/permissions/modes.ts +55 -7
  179. package/extensions/permissions/project-trust.ts +81 -0
  180. package/extensions/permissions/protected-paths.ts +16 -3
  181. package/extensions/permissions/rule-prose.ts +79 -0
  182. package/extensions/permissions/session-grant.ts +91 -0
  183. package/extensions/permissions/settings.ts +112 -33
  184. package/extensions/permissions/subagent-gate.ts +57 -0
  185. package/extensions/plan-mode/index.ts +143 -33
  186. package/extensions/plan-mode/reminder.ts +16 -19
  187. package/extensions/plan-mode/viewer.ts +40 -31
  188. package/extensions/plugins/counts.ts +68 -0
  189. package/extensions/plugins/index.ts +496 -32
  190. package/extensions/plugins/install/install.ts +167 -0
  191. package/extensions/plugins/install/paths.ts +23 -0
  192. package/extensions/plugins/install/registry.ts +72 -0
  193. package/extensions/plugins/marketplace/git.ts +103 -0
  194. package/extensions/plugins/marketplace/official.ts +36 -0
  195. package/extensions/plugins/marketplace/parse.ts +94 -0
  196. package/extensions/plugins/marketplace/registry.ts +60 -0
  197. package/extensions/plugins/marketplace/sync.ts +146 -0
  198. package/extensions/plugins/marketplace/types.ts +128 -0
  199. package/extensions/plugins/panel/keys.ts +52 -0
  200. package/extensions/plugins/panel/render.ts +315 -0
  201. package/extensions/plugins/panel/rows.ts +230 -0
  202. package/extensions/plugins/panel/state.ts +333 -0
  203. package/extensions/recap/index.ts +215 -0
  204. package/extensions/recap/prompt.ts +44 -0
  205. package/extensions/recap/scheduler.ts +87 -0
  206. package/extensions/search-tools/index.ts +0 -0
  207. package/extensions/search-tools/tools.ts +7 -5
  208. package/extensions/skill/index.ts +360 -34
  209. package/extensions/skill/invoke.ts +185 -0
  210. package/extensions/skill/listing.ts +21 -0
  211. package/extensions/skill/panel/keys.ts +41 -0
  212. package/extensions/skill/panel/render.ts +91 -0
  213. package/extensions/skill/panel/state.ts +115 -0
  214. package/extensions/spinner/index.ts +110 -0
  215. package/extensions/spinner/line.ts +51 -0
  216. package/extensions/spinner/verbs.ts +201 -0
  217. package/extensions/subagents/agents.ts +88 -44
  218. package/extensions/subagents/default-model.ts +62 -32
  219. package/extensions/subagents/delegation-steer.ts +23 -0
  220. package/extensions/subagents/hand-back-review.ts +67 -0
  221. package/extensions/subagents/index.ts +1545 -346
  222. package/extensions/subagents/live-runs.ts +293 -0
  223. package/extensions/subagents/model-select.ts +252 -82
  224. package/extensions/subagents/outcome.ts +90 -0
  225. package/extensions/subagents/panel-keys.ts +41 -0
  226. package/extensions/subagents/panel-render.ts +357 -0
  227. package/extensions/subagents/panel-widget.ts +330 -0
  228. package/extensions/subagents/pending-claim.ts +45 -0
  229. package/extensions/subagents/prose.ts +105 -0
  230. package/extensions/subagents/runner.ts +674 -0
  231. package/extensions/subagents/runs.ts +68 -1
  232. package/extensions/subagents/send-to-main-tool.ts +55 -0
  233. package/extensions/subagents/session-turns.ts +138 -0
  234. package/extensions/subagents/shell-panel.ts +198 -0
  235. package/extensions/subagents/usage.ts +16 -4
  236. package/extensions/subagents/worktree.ts +13 -0
  237. package/extensions/system-prompt/environment.ts +5 -3
  238. package/extensions/system-prompt/git-status.ts +93 -0
  239. package/extensions/system-prompt/index.ts +23 -1
  240. package/extensions/system-prompt/template.ts +34 -4
  241. package/extensions/system-prompt/tiers/common.ts +31 -6
  242. package/extensions/system-prompt/tiers/low.ts +13 -3
  243. package/extensions/system-prompt/tiers/mid.ts +21 -8
  244. package/extensions/system-reminder/index.ts +53 -9
  245. package/extensions/tasks/index.ts +65 -16
  246. package/extensions/tasks/store.ts +76 -3
  247. package/extensions/tool-search/announce.ts +42 -0
  248. package/extensions/tool-search/index.ts +136 -13
  249. package/extensions/turn-duration/index.ts +60 -0
  250. package/extensions/turn-duration/line.ts +22 -0
  251. package/extensions/turn-duration/span.ts +41 -0
  252. package/extensions/turn-duration/verbs.ts +24 -0
  253. package/extensions/web/backends.ts +421 -0
  254. package/extensions/web/index.ts +178 -21
  255. package/extensions/web-fetch/index.ts +74 -18
  256. package/extensions/web-fetch/summarize.ts +1 -1
  257. package/extensions/workflow/agent-session.ts +182 -112
  258. package/extensions/workflow/globals.ts +129 -106
  259. package/extensions/workflow/index.ts +343 -28
  260. package/extensions/workflow/records.ts +118 -0
  261. package/extensions/workflow/run-manager.ts +80 -31
  262. package/extensions/workflow/saved-workflows.ts +2 -1
  263. package/extensions/workflow/script-worker.mjs +110 -0
  264. package/extensions/workflow/types.ts +74 -8
  265. package/extensions/workflow/viewer.ts +562 -0
  266. package/extensions/workflow/vm-runtime.ts +118 -22
  267. package/extensions/workflow/widget.ts +126 -18
  268. package/extensions/worktree/guards.ts +240 -0
  269. package/extensions/worktree/index.ts +30 -5
  270. package/extensions/worktree/rewrite.ts +32 -16
  271. package/package.json +20 -10
  272. package/skills/code-review/SKILL.md +165 -0
  273. package/skills/fewer-permission-prompts/SKILL.md +61 -0
  274. package/skills/security-review/SKILL.md +178 -0
  275. package/skills/simplify/SKILL.md +70 -0
  276. package/themes/{one-code-light.json → onecode-light.json} +6 -1
  277. package/themes/{one-code.json → onecode.json} +6 -1
  278. package/types/app.d.ts +8 -1
  279. package/types/community-packages.d.ts +45 -2
  280. package/docs/decisions/auto-mode.md +0 -526
  281. package/docs/decisions/branding.md +0 -127
  282. package/docs/decisions/code-review-remediation.md +0 -106
  283. package/docs/decisions/compaction.md +0 -140
  284. package/docs/decisions/distribution.md +0 -168
  285. package/docs/decisions/hooks.md +0 -64
  286. package/docs/decisions/lsp.md +0 -58
  287. package/docs/decisions/mcp.md +0 -104
  288. package/docs/decisions/memory-state.md +0 -170
  289. package/docs/decisions/model-policy.md +0 -126
  290. package/docs/decisions/modes.md +0 -178
  291. package/docs/decisions/skills-plugins.md +0 -56
  292. package/docs/decisions/subagents-workflows.md +0 -225
  293. package/docs/decisions/system-prompt.md +0 -98
  294. package/docs/decisions/tools.md +0 -407
  295. package/docs/decisions/tui.md +0 -217
  296. package/docs/decisions.md +0 -148
  297. package/extensions/subagents/child.ts +0 -414
  298. package/extensions/subagents/rpc-turns.ts +0 -123
  299. package/extensions/todo/index.ts +0 -133
  300. package/extensions/workflow/permission-gate.ts +0 -71
package/LICENSE CHANGED
@@ -22,6 +22,26 @@ SOFTWARE.
22
22
 
23
23
  ---
24
24
 
25
+ ADDITIONAL NOTICE — AUTONOMOUS EXECUTION
26
+
27
+ This software runs a large language model as an autonomous agent. It reads,
28
+ writes and deletes files, runs shell commands, and calls network services on
29
+ your behalf, and in some modes it does so without asking you first.
30
+
31
+ Its permission rules, approval classifier and safety checks are best-effort
32
+ measures, not guarantees. A model can take a destructive or unintended action
33
+ that no rule matched, achieve a forbidden effect by a route the rules did not
34
+ anticipate, or be steered by content it reads. You are responsible for what you
35
+ authorize it to do, for the environment you run it in, and for keeping backups
36
+ and version control of anything you care about.
37
+
38
+ As stated in the MIT terms above, the software is provided "as is" and the
39
+ authors and copyright holders accept no liability for any damage, data loss,
40
+ cost, or other harm arising from its use, including actions taken by the model
41
+ it runs.
42
+
43
+ ---
44
+
25
45
  This package bundles or adapts work from other MIT-licensed projects:
26
46
 
27
47
  - The language-server command table in `extensions/lsp/servers.ts` follows the
package/README.md CHANGED
@@ -1,208 +1,253 @@
1
1
  # One Code
2
2
 
3
- **The Claude Code experience — on any model you want.**
3
+ **Claude Code with the model slot left open. The full workflow, open source, on any model or provider.**
4
+
5
+ Claude Code is a good harness. It just ships bolted to one model. One Code
6
+ unbolts it, and runs the whole workflow (subagents, git worktrees, auto mode,
7
+ ultracode workflows, plan mode) on the model you pick. Keep Claude Code for the
8
+ work that earns its best model. Reach for One Code whenever a cheaper or
9
+ different model fits the job.
10
+
11
+ The parts that make the harness good (the steering, the permission gate, the
12
+ context management) live in the harness, not the model. One Code brings all of
13
+ them across, because the good part was never the logo.
14
+
15
+ <p align="center">
16
+ <img src="demo/onecode.gif" alt="One Code switching models and running an agentic task" width="820">
17
+ </p>
18
+
19
+ [User guide](docs/guide/README.md) ·
20
+ [Bring your Claude Code setup](docs/guide/bring-your-claude-code-setup.md) ·
21
+ [Differences from Claude Code](docs/guide/differences-from-claude-code.md) ·
22
+ [Command reference](docs/guide/reference.md)
23
+
24
+ ## ✨ What you get
25
+
26
+ - **Any model, any provider.** Anthropic, OpenAI, Gemini, OpenRouter, or a
27
+ local model. Bring your own and switch mid-session with `/model`. Nothing
28
+ stops you.
29
+ - **Mix providers in one session.** The parent and each subagent pick their own
30
+ model and provider, so an ultracode workflow can fan out to a cheap tier while
31
+ the parent stays on a frontier model. A single-gateway setup cannot do this,
32
+ which is usually the reason people switch.
33
+ - **Your Claude Code setup runs unchanged.** `CLAUDE.md`, `.claude/commands`,
34
+ `.claude/skills`, `.claude/agents`, `.mcp.json`, plugins, and permission rules
35
+ are picked up as they are. No migration, and no second config file to keep in
36
+ sync.
37
+ - **Capability-tiered prompting.** A weaker model gets more guidance, not less.
38
+ Not out of politeness; it is how you get output you can use.
39
+ - **A package, not a fork.** One Code is a [pi](https://github.com/earendil-works/pi)
40
+ package, so you extend it with your own extensions, themes, and settings.
41
+ Forks go stale; packages do not have to.
42
+ - **Free and open source** under the MIT license.
43
+
44
+ ## 🚀 Get started
45
+
46
+ You need **Node.js 22.19+**. One Code is developed and verified on macOS and
47
+ Linux; WSL works too. Native Windows is untested.
4
48
 
5
- One Code gives you Claude Code's whole workflow: subagents, ultracode workflows,
6
- skills, MCP, plan mode, hooks, a real permission system, project memory — but
7
- runs it on **any provider**. Anthropic, OpenAI, Gemini, a local Ollama model, or
8
- a gateway like OpenRouter. The **same tool surface**, the same `.claude/` config,
9
- your choice of brain behind it.
49
+ ```bash
50
+ npm install -g @one-ai/one-code
51
+ cd your-project
52
+ onecode
53
+ ```
54
+
55
+ Inside One Code, run `/login` to connect a provider, then `/model` to pick a
56
+ model. You can also pass a provider key through an environment variable such as
57
+ `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `OPENROUTER_API_KEY`.
58
+
59
+ Open a project that already has a `CLAUDE.md` or `.claude/` setup and One Code
60
+ reuses it right away. Starting fresh? `/init` drafts a `CLAUDE.md` for you.
10
61
 
11
- Free and open source (MIT). No lock-in, no subscription, no fork of anything —
12
- One Code is a package for the [pi coding agent](https://github.com/earendil-works/pi),
13
- so upstream improvements land as a version bump.
62
+ Not sure what is wired up? Run `onecode doctor` (or `/doctor report` inside a
63
+ session). It reports which providers have credentials, which model each role
64
+ uses, what of your Claude Code configuration was picked up, and which programs
65
+ are missing. `/doctor` runs the full checkup and has the model fix what it finds.
14
66
 
15
- ## Install
67
+ One Code is free. Model access, usage charges, and rate limits are between you
68
+ and your provider. See [Providers and models](docs/guide/providers-and-models.md)
69
+ for connection options.
16
70
 
17
- One project, two npm packages — pick the one that fits you:
71
+ ### Other ways to install
18
72
 
19
- | You | Install | Package |
20
- |---|---|---|
21
- | **Most people** (new to pi included) | `npm install -g @one-ai/one-code` | [`@one-ai/one-code`](https://www.npmjs.com/package/@one-ai/one-code) — the app: its own `one-code` command, a pinned pi bundled inside, state isolated in `~/.one-code`, coexists with any existing `pi` |
22
- | Already running pi, want it on your own install | `pi install npm:one-code-extension` | [`one-code-extension`](https://www.npmjs.com/package/one-code-extension) — just the extensions; rides your pi (tested against pi 0.83–0.84, warns outside that range) |
73
+ **Homebrew** installs Node for you:
23
74
 
24
75
  ```bash
25
- npm install -g @one-ai/one-code
26
- cd your-project && one-code
76
+ brew install isurumaduranga/one-ai/onecode
27
77
  ```
28
78
 
29
- Or via Homebrew (also installs Node for you):
79
+ **Already on pi?** Add the extensions to your existing installation:
30
80
 
31
81
  ```bash
32
- brew install isurumaduranga/one-ai/one-code
33
- # or tap once, then it's just: brew tap isurumaduranga/one-ai && brew install one-code
82
+ pi install npm:one-code-extension
34
83
  ```
35
84
 
36
- > The npm route needs **Node 22.19+**.
85
+ The app package, [`@one-ai/one-code`](https://www.npmjs.com/package/@one-ai/one-code),
86
+ bundles a pinned pi and gives you the `onecode` command. The extension package,
87
+ [`one-code-extension`](https://www.npmjs.com/package/one-code-extension), runs on
88
+ your own pi and is tested against pi 0.83 to 0.85; use `pi` in place of `onecode`
89
+ for that install.
90
+
91
+ The app opens in a full-screen terminal interface by default. See the
92
+ [installation guide](docs/guide/installation.md) for display settings and more.
93
+
94
+ ## 🎛️ Put different models to work
95
+
96
+ A main conversation and a repository-wide investigation do not need the same
97
+ model. Keep your preferred model in charge and let subagents use another
98
+ provider for exploration, tests, or review.
99
+
100
+ 1. Choose the main model with `/model`.
101
+ 2. Set the default for subagents and workflow agents with
102
+ `/subagent <provider/model-id>`.
103
+ 3. Ask for delegated work, for example:
104
+
105
+ > Use subagents to investigate the authentication code and its tests.
106
+ > Have them report their findings, then make the fix in the main session.
107
+
108
+ Agent definitions in `.claude/agents/` can name their own model, tools, and
109
+ instructions. Use `/agents` to follow their progress and `/model` to change the
110
+ main model as the task changes.
111
+
112
+ This is where you decide where the money goes. Actual cost and quality depend on
113
+ the models, the task, and how much you delegate.
114
+
115
+ [Subagents and workflows →](docs/guide/subagents-and-workflows.md)
116
+
117
+ ## ♻️ Reuse the setup you already have
118
+
119
+ One Code reads Claude Code configuration directly. There is no import step.
120
+
121
+ | Your configuration | How One Code uses it |
122
+ |---|---|
123
+ | `CLAUDE.md` | Project instructions, including nested files and `@path` imports. Falls back to `AGENTS.md` when a directory has no `CLAUDE.md`. |
124
+ | `.claude/skills/` and `.claude/commands/` | Discoverable skills and slash commands. |
125
+ | `.claude/agents/` | Subagent definitions with their model, tools, and instructions. |
126
+ | `.claude/settings.json` | `allow`, `deny`, and `ask` permission rules, plus supported command hooks. |
127
+ | `.mcp.json` | MCP servers with tools loaded on demand. |
128
+ | Installed Claude Code plugins | Plugin agents, skills, commands, and MCP servers, namespaced by plugin. |
129
+
130
+ Claude Code tool names such as `Read`, `Bash`, `Edit`, and `Task` work in
131
+ permission rules and hook matchers. One Code keeps its own settings separately
132
+ and treats `~/.claude` as read-only, so nothing you already have gets rewritten.
133
+
134
+ Compatibility covers configuration and workflow surfaces. Features and skills
135
+ that need Claude Code's own hosted or desktop services are not included.
136
+
137
+ [Configuration details →](docs/guide/bring-your-claude-code-setup.md) ·
138
+ [Skills, plugins, and MCP →](docs/guide/skills-plugins-and-mcp.md)
37
139
 
38
- > Tip: the app opens in a **full-screen TUI** (alt-screen, restores your
39
- > terminal on exit) by default. On your own pi that's opt-in — set
40
- > `"tuiMode": "fullscreen"` in `~/.pi/agent/settings.json`, or launch with
41
- > `pi --tui-mode fullscreen`.
140
+ ## ⚙️ Workflows that scale with the task
42
141
 
43
- ## Two-minute quickstart — free, no card
142
+ ### Subagents and git worktrees
44
143
 
45
- You need one model-provider key. Two providers hand out **free frontier-adjacent
46
- models** today, so you can try the whole thing for nothing:
144
+ Give an investigation its own context window and bring the result back to the
145
+ main conversation. Subagents run in the background, take follow-up messages, and
146
+ can fork the current conversation when they need its context. Three agent
147
+ definitions ship with One Code: `general-purpose`, `explore`, and `plan`.
47
148
 
48
- - **OpenCode Zen** ([opencode.ai/zen](https://opencode.ai/zen)) — sign up, copy
49
- your API key. Free model: `deepseek-v4-flash-free`.
50
- - **OpenRouter** ([openrouter.ai](https://openrouter.ai)) — sign up, create a
51
- key (or just OAuth from inside One Code). Free models carry a `:free` suffix —
52
- `nvidia/nemotron-3-ultra-550b-a55b:free` is genuinely good.
149
+ For parallel edits, give agents their own git worktrees. You can also move the
150
+ whole session into a worktree with `enter_worktree` and leave it with
151
+ `exit_worktree`.
53
152
 
54
- Then:
153
+ ### Ultracode workflows
154
+
155
+ Put **`ultracode`** in a request for a broad audit, migration, or review. The
156
+ model writes a JavaScript workflow that coordinates agents in parallel, with
157
+ progress visible in `/workflows`. Use `/effort ultracode` to keep this behavior
158
+ on across turns.
159
+
160
+ Resume an interrupted run to reuse completed agent calls whose inputs still
161
+ match. Save reusable scripts in `.claude/workflows/` to call them by name.
162
+ Optional output-token targets stop new and queued agents once reached;
163
+ agents already running can finish above the target.
164
+
165
+ ### Permissions and planning
166
+
167
+ **Auto mode is the default.** A classifier judges actions that need review,
168
+ while permission rules and deterministic checks enforce the rest. `deny` rules
169
+ beat `allow` rules. Trust approval covers project-provided hooks, MCP servers,
170
+ and allow rules.
171
+
172
+ Press **ctrl+q** to cycle through manual, accept-edits, plan, and auto modes.
173
+ Plan mode lets the agent investigate and write a plan file before you approve
174
+ implementation. Use `/permissions` to inspect rules and `/auto-mode` to
175
+ configure the classifier.
176
+
177
+ The permission system is an application-level control. For OS-level isolation,
178
+ run One Code inside a container. The guide spells out the guarantees and the
179
+ known gaps.
180
+
181
+ [Permissions and modes →](docs/guide/permissions-modes-and-auto-mode.md) ·
182
+ [Hooks →](docs/guide/hooks.md)
183
+
184
+ ## 🧰 Everyday tools
185
+
186
+ | Capability | What you get |
187
+ |---|---|
188
+ | Code and files | Read, write, edit, shell commands, background processes, repository search, and notebook editing. |
189
+ | Web | Search and fetch, with provider search or Brave, Tavily, and Exa fallbacks. |
190
+ | Diagnostics | Language-server diagnostics after edits; install the relevant server on your `PATH`. |
191
+ | Long sessions | Per-repository memory, a session scratchpad, and context compaction. |
192
+ | Task tracking | A pinned progress widget, background monitors, and scheduled wake-ups. |
193
+ | Tool discovery | Deferred tools loaded when needed to keep prompt overhead down. |
194
+ | Reasoning and appearance | `/effort` or **shift+tab** for reasoning effort; `onecode` and `onecode-light` themes. |
195
+ | Customization | Extend One Code with pi extensions, themes, and settings. |
196
+
197
+ The bundled skills include `simplify`, `code-review`, `security-review`, and
198
+ `fewer-permission-prompts`. A project skill with the same name wins.
199
+
200
+ For scripting and session management:
55
201
 
56
202
  ```bash
57
- cd your-project
58
- one-code # first run asks for a provider — pick one, paste the key
203
+ onecode -p "Explain how authentication works in this repository"
204
+ onecode -c # continue the previous session
205
+ onecode --mode json # JSON event output
206
+ onecode --permission-mode plan # start in plan mode
59
207
  ```
60
208
 
61
- Inside the session: `/login` connects more providers (OpenRouter supports
62
- "Sign in with OpenRouter", no key-copying needed), `/model` switches models.
63
- Env vars work too: `OPENCODE_API_KEY`, `OPENROUTER_API_KEY`, `ANTHROPIC_API_KEY`,
64
- `OPENAI_API_KEY`, and friends are picked up automatically.
65
-
66
- *(On the pi-package install, the same applies with `pi` as the command.)*
67
-
68
- ---
69
-
70
- ## Why One Code
71
-
72
- - **Bring your own model.** Not tied to one vendor. Switch mid-session with
73
- `/model`, or drive a cheap local model for routine work and a frontier model
74
- for the hard parts.
75
- - **Your Claude Code setup already works.** `CLAUDE.md`, `.claude/commands`,
76
- `.claude/skills`, `.claude/agents`, `.mcp.json`, installed plugins, and
77
- `settings.json` permission rules are all picked up unchanged. Nothing to port.
78
- - **The features that make Claude Code good live in the harness, not the model** —
79
- and One Code brings all of them across.
80
-
81
- ---
82
-
83
- ## What you get
84
-
85
- ### 🤖 Subagents
86
- Delegate work to child agents that each get their own context window, so only
87
- the answer comes back — not the noise. Define them as markdown in
88
- `.claude/agents/`, pick their model per agent, or `fork` one that inherits your
89
- conversation. Run them in the background and message them while they work, or
90
- isolate each in its own git worktree (below). Three ship in the box:
91
- `general-purpose`, `explore`, and `plan`.
92
-
93
- ### ⚡ Ultracode workflows
94
- For big jobs — a broad audit, a migration, a review worth double-checking — say
95
- **`ultracode`** and the model writes a short JavaScript script that fans work out
96
- across many agents in parallel. Runs go to the background with a live progress
97
- panel; every run is journaled, so re-running replays the unchanged parts for
98
- free. Save scripts in `.claude/workflows/` to invoke by name.
99
-
100
- ### 🔒 Permissions & auto mode
101
- A real permission gate reads your existing `allow`/`deny`/`ask` rules from
102
- `.claude/settings.json` (`deny` always wins). Cycle modes with **ctrl+q** —
103
- manual → accept-edits → plan → **auto**. Auto mode removes routine prompts
104
- *without* removing the boundary: a classifier screens each action, reads pass
105
- freely, and risky operations (writes outside your project, credential paths,
106
- force pushes, `curl | bash`) get stopped unless *you* named them. A deterministic
107
- safety floor protects the agent's own config no matter what the model decides.
108
-
109
- ### 📋 Plan mode
110
- Enter a read-only planning mode where the model can only write to a dedicated
111
- plan file. Review the finished plan in an approval dialog before a single line of
112
- code changes. The plan survives context compaction, and you can edit the file
113
- yourself while it works.
114
-
115
- ### 🌿 Git worktrees
116
- Send the whole session into an isolated git worktree with `enter_worktree` —
117
- branched from your current HEAD under `.claude/worktrees/`, so every command and
118
- relative path runs there and your working tree stays untouched until you
119
- `exit_worktree`. Subagents can each take their own worktree too, so a fan-out
120
- that edits files runs in parallel without ever colliding.
121
-
122
- ### 🧩 Skills, plugins & MCP
123
- Standard [Agent Skills](https://agentskills.io) from `.claude/skills/`, whole
124
- Claude Code **plugins** (their agents, skills, commands, and MCP servers, all
125
- namespaced), and any **MCP server** from `.mcp.json` — every MCP tool is loaded
126
- on demand so it never bloats the prompt.
127
-
128
- ### 🪝 Hooks
129
- Claude Code command hooks run unchanged — `PreToolUse`, `PostToolUse`,
130
- `UserPromptSubmit`, `SessionStart`, `Stop`, and more — with the same stdin JSON,
131
- exit-code semantics, and output envelope. Project hooks run only after a one-time
132
- consent prompt.
133
-
134
- ### 🧠 Memory & long sessions
135
- Per-repo auto-memory that persists facts across sessions, a session scratchpad,
136
- and Claude Code's own compaction prompt so long conversations shrink cleanly
137
- instead of falling off a cliff. On Anthropic, old thinking is trimmed
138
- automatically to keep sessions cheap.
139
-
140
- ### 🛠️ The same tool surface as Claude Code
141
- `read`, `write`, `edit`, `bash` (with background runs), `grep`, `find`, `ls`,
142
- `todo_write`, `notebook_edit`, `web_search`, `web_fetch`, `lsp_diagnostics`
143
- (live language-server diagnostics after edits), `ask_user_question`, task
144
- tracking, background monitors, scheduled wake-ups — and `tool_search`, which
145
- keeps rarely-used schemas out of the prompt until they're needed. On Anthropic
146
- and recent OpenAI models this uses the provider's native deferred-tool
147
- mechanism, so loading a tool never invalidates your cached prompt.
148
-
149
- Every Claude Code tool has a counterpart here, so muscle memory and rules carry
150
- over: Claude Code's own PascalCase names — `Read`, `Bash`, `Edit`, `Task`,
151
- `WebFetch`, `TodoWrite`, `EnterWorktree`, and the rest — are accepted verbatim in
152
- your `.claude/settings.json` permission rules and hook matchers, mapped to the
153
- matching tool automatically.
154
-
155
- ### 🎚️ Reasoning effort & 🎨 themes
156
- An `/effort` slider from `minimal` to `max` (and `ultracode` past the end), on
157
- the same dial shift+tab cycles. Two themes ship — `one-code` (dark) and
158
- `one-code-light` — a warm clay accent in the spirit of Claude Code's terminal.
159
-
160
- ---
161
-
162
- ## Everything else, briefly
163
-
164
- | | |
165
- |---|---|
166
- | **Slash commands** | `/permissions`, `/auto-mode`, `/agents`, `/skills`, `/todos`, `/subagent`, `/effort`, `/workflows`, `/plugins`, `/mcp`, `/lsp`, and every plugin command (namespaced). |
167
- | **Ported system prompt** | Claude Code's system prompt, adapted and tiered by model capability so smaller models get more guidance. |
168
- | **Steering** | `<system-reminder>` nudges, read-before-write and stale-edit guards, and denial feedback that the model actually learns from. |
169
- | **Other modes** | `pi -p "…"` one-shot · `pi -c` continue · `pi --mode json` for scripts · `pi --permission-mode plan` · `pi --model <provider/id>`. |
209
+ See [Tools](docs/guide/tools.md) for every tool the model can call and the
210
+ [command reference](docs/guide/reference.md) for every command, shortcut, flag,
211
+ and environment variable.
212
+
213
+ ## 📚 Documentation
214
+
215
+ The [user guide](docs/guide/README.md) covers everything: installation,
216
+ providers and models, the terminal interface, configuration, permissions and
217
+ auto mode, hooks, subagents and workflows, skills, plugins, and MCP, tools,
218
+ sessions and context, background work, the doctor, differences from Claude Code,
219
+ troubleshooting, and a full reference.
170
220
 
171
- ---
221
+ ## 💡 Good to know
172
222
 
173
- ## Install from source
223
+ - **Providers:** end-to-end testing has focused on Anthropic, OpenAI, and
224
+ OpenRouter. Other providers are less exercised, so expect the occasional rough
225
+ edge.
226
+ - **Web search:** set `BRAVE_SEARCH_API_KEY` or `TAVILY_API_KEY` on a provider
227
+ without native search. With neither key, the fallback is Exa's rate-limited
228
+ keyless endpoint, and One Code labels those results.
229
+ - **Native Windows:** hooks and background shells assume `/bin/sh` for now. Use
230
+ WSL until native Windows is verified.
231
+
232
+ ## 🔧 Install from source
233
+
234
+ This installs the local extensions into an existing pi installation:
174
235
 
175
236
  ```bash
176
237
  git clone https://github.com/IsuruMaduranga/one-code
177
- cd one-code && npm install && cd ..
178
- pi install ./one-code # a path install still needs `npm install` first for deps
179
- pi list # confirm it registered
238
+ cd one-code
239
+ npm install
240
+ cd ..
241
+ pi install ./one-code
242
+ pi list
180
243
  ```
181
244
 
182
- ## A real boundary, not a leap of faith
183
-
184
- Like Claude Code, One Code's security model is the **permission system plus auto
185
- mode**, not a promise that the model will behave. Every action is gated: `deny`
186
- rules always win, risky operations get stopped, and auto mode's classifier keeps
187
- you in flow without dropping the boundary. Want an OS-level hard wall on top? Run
188
- pi inside a container — the permission gate and the container compose.
189
-
190
- ## Good to know
191
-
192
- - **Web search** uses your provider's own search API (OpenAI, Anthropic,
193
- Gemini), so it needs a provider that offers one.
194
- - **LSP diagnostics** need the language server on your `PATH` (e.g.
195
- `npm i -g typescript-language-server typescript`).
196
- - Verified end-to-end on Anthropic and OpenAI models, and through **OpenRouter**
197
- (which brokers many open models — DeepSeek, Llama, Qwen, and more); other
198
- providers work but are less exercised.
199
- - **Platforms:** developed and verified on **macOS and Linux**; **WSL** works
200
- the same way (it *is* Linux). Native Windows is **untested best-effort** for
201
- now: pi itself requires a bash there (Git Bash — see pi's Windows docs), and
202
- One Code has known gaps on native Windows (hooks and background shells assume
203
- `/bin/sh`). Don't rely on it until a Windows smoke test lands in a future
204
- release.
205
-
206
- ## License
207
-
208
- MIT — see [LICENSE](LICENSE). Contributions welcome.
245
+ ## 🧠 Learn the ideas behind it
246
+
247
+ One Code is the practical companion to the Harness Engineering 101 series, which
248
+ builds these ideas up from first principles: what a coding harness actually does,
249
+ and why the good parts are model-independent.
250
+
251
+ ## 📄 License
252
+
253
+ [MIT](LICENSE). Contributions welcome.
package/agents/explore.md CHANGED
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  name: explore
3
- description: Read-only search agent for broad fan-out searches — when answering means sweeping many files, directories, or naming conventions and you only need the conclusion, not the file dumps. It locates code; it does not review or audit it.
4
- tools: read, grep, find, ls
3
+ description: Fast read-only search agent for locating code. Use it to find files by pattern (eg. "src/components/**/*.tsx"), grep for symbols or keywords (eg. "API endpoints"), or answer "where is X defined / which files reference Y". Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: "quick" for a single targeted lookup, "medium" for moderate exploration, or "very thorough" to search across multiple locations and naming conventions.
4
+ disallowedTools: Edit, Write, NotebookEdit, Agent
5
5
  ---
6
6
 
7
- You are a codebase reconnaissance agent. You can read and search; you cannot
8
- modify anything or run commands.
7
+ You are a codebase reconnaissance agent. You can read and search — including
8
+ read-only shell commands (git log, ls, wc) — but you must never modify
9
+ anything: no edits, no writes, no state-changing commands.
9
10
 
10
11
  Your job is to find things and report *where they are*, compressed. The agent that
11
12
  delegated to you is spending its context on other work, so do not return file
@@ -16,8 +17,10 @@ Method:
16
17
  - Search broadly first (multiple patterns, several naming conventions, plausible
17
18
  synonyms), then read only the excerpts that decide the question.
18
19
  - Follow the conventions you observe rather than assuming a layout.
19
- - If the caller asked "very thorough", check alternative locations and spellings
20
- before concluding something does not exist.
20
+ - Calibrate to the requested search breadth: "quick" means one targeted lookup,
21
+ "medium" moderate exploration, "very thorough" means checking alternative
22
+ locations, spellings, and naming conventions before concluding something does
23
+ not exist. With no breadth given, default to medium.
21
24
 
22
25
  Report as a short list of findings, each with `path:line` and one line of what is
23
26
  there. State explicitly if something does not appear to exist — a confident
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: general-purpose
3
- description: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. Use when a task needs several steps and you don't need to watch the intermediate work.
3
+ description: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries, use this agent to perform the search for you.
4
4
  ---
5
5
 
6
6
  You are a general-purpose engineering agent working on a delegated task.
package/agents/plan.md CHANGED
@@ -1,11 +1,13 @@
1
1
  ---
2
2
  name: plan
3
- description: Software architect agent for designing implementation plans. Use when you need an implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. Read-only.
4
- tools: read, grep, find, ls
3
+ description: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. Read-only.
4
+ disallowedTools: Edit, Write, NotebookEdit, Agent
5
5
  ---
6
6
 
7
- You are a software architect. You can read and search the codebase; you cannot
8
- modify it or run commands. You produce a plan, not an implementation.
7
+ You are a software architect. You can read and search the codebase — including
8
+ read-only shell commands (git log, ls, wc) — but you must never modify it: no
9
+ edits, no writes, no state-changing commands. You produce a plan, not an
10
+ implementation.
9
11
 
10
12
  Ground the plan in what the code actually does:
11
13
 
@@ -0,0 +1,52 @@
1
+ # One Code user guide
2
+
3
+ How to use One Code day to day: installing it, connecting model providers,
4
+ reusing your Claude Code configuration, and driving every feature. For what
5
+ One Code is and why it exists, see the [project README](../../README.md).
6
+
7
+ ## Start here
8
+
9
+ If you've never run One Code, read these in order:
10
+
11
+ 1. [Install One Code](installation.md). Install it and open your first
12
+ session.
13
+ 2. [Providers and models](providers-and-models.md). Connect a provider, add
14
+ an API key, and switch models.
15
+ 3. [Bring your Claude Code setup](bring-your-claude-code-setup.md). Reuse
16
+ your `CLAUDE.md`, skills, agents, commands, plugins, hooks, and
17
+ permission rules unchanged.
18
+ 4. [The terminal interface](terminal-interface.md). What is on screen and
19
+ how to move around it.
20
+
21
+ ## All guides
22
+
23
+ | Guide | What it covers |
24
+ |---|---|
25
+ | [Install One Code](installation.md) | The npm app, the pi extension, Homebrew, source installs, updating, and uninstalling. |
26
+ | [Providers and models](providers-and-models.md) | Connecting providers, storing keys, switching models, automatic model selection for side roles, prompt tiers, and web search. |
27
+ | [Bring your Claude Code setup](bring-your-claude-code-setup.md) | Which Claude Code files are read, which settings keys are honored, and what stays separate. |
28
+ | [The terminal interface](terminal-interface.md) | The banner, status line, working indicator, panels, dialogs, and themes. |
29
+ | [Configure One Code](configuration.md) | Settings-file locations, the `~/.onecode` layout, every One Code settings key, full-screen mode, and language servers. |
30
+ | [Permissions, modes, and auto mode](permissions-modes-and-auto-mode.md) | How decisions are made, rules, modes, the approval prompt, protected paths, project trust, plan mode, auto mode, and the security model. |
31
+ | [Hooks](hooks.md) | Supported events, the input and output contract, approval, and debugging. |
32
+ | [Subagents and workflows](subagents-and-workflows.md) | Delegating to subagents, forks, worktrees, the live panel, `ultracode` workflows, and reasoning effort. |
33
+ | [Skills, plugins, and MCP](skills-plugins-and-mcp.md) | Skills and their states, custom commands, plugins and marketplaces, and MCP servers. |
34
+ | [Tools](tools.md) | Every tool the model can call, what you see when it runs, and Claude Code's names for them. |
35
+ | [Sessions and context](sessions-and-context.md) | What the model sees, memory, compaction, the cache, recaps, and resuming sessions. |
36
+ | [Tasks and background work](tasks-and-background-work.md) | The task list, background shells, monitors, loops, and how results reach the model. |
37
+ | [Check your setup with doctor](doctor.md) | The report, the checkup, model presets, and the `onecode doctor` command. |
38
+ | [Differences from Claude Code](differences-from-claude-code.md) | What is different by design, what isn't provided, and known issues. |
39
+ | [Troubleshooting](troubleshooting.md) | Symptoms, causes, and fixes. |
40
+ | [Command and keyboard reference](reference.md) | Every command, shortcut, flag, environment variable, and file location. |
41
+
42
+ ## Find a setting
43
+
44
+ - [Settings files and the `~/.onecode` layout](configuration.md#where-settings-live)
45
+ - [Every One Code settings key](configuration.md#settings-reference)
46
+ - [Provider API keys](providers-and-models.md#store-keys-as-environment-variables)
47
+ - [Web-search providers and fallback order](providers-and-models.md#web-search-on-providers-without-a-search-api)
48
+ - [Subagent and classifier models](subagents-and-workflows.md#choose-the-subagent-model)
49
+ - [Default permission mode](permissions-modes-and-auto-mode.md#choose-the-starting-mode)
50
+ - [Auto-mode configuration keys](permissions-modes-and-auto-mode.md#configure-auto-mode)
51
+ - [Language-server setup](configuration.md#language-server-diagnostics)
52
+ - [Environment variables](reference.md#environment-variables)