one-code-extension 0.3.0 → 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.
package/README.md CHANGED
@@ -1,23 +1,16 @@
1
1
  # One Code
2
2
 
3
- **A familiar Claude Code experience, with your choice of model for every agent.**
3
+ **Claude Code with the model slot left open. The full workflow, open source, on any model or provider.**
4
4
 
5
- One Code brings familiar Claude Code workflows to a terminal coding agent that
6
- lets you choose the models. It includes subagents, plan mode, permissions,
7
- skills, and git worktrees. Reuse your existing Claude Code setup, keep a capable model
8
- in the main conversation, delegate routine work to a cheaper one, and switch
9
- providers during a session.
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
10
 
11
- - **Bring your setup.** Reuse `CLAUDE.md`, skills, commands, subagents, hooks,
12
- permission rules, and MCP configuration.
13
- - **Choose models per task.** The main session and its subagents can use
14
- different models and providers: Anthropic, OpenAI, Gemini, OpenRouter, or
15
- local models supported by [pi](https://github.com/earendil-works/pi).
16
- - **Keep control as work grows.** Plan before editing, isolate changes in git
17
- worktrees, and follow parallel agents from a live progress panel.
18
-
19
- Built on pi. Free and open source under the MIT license. Works alongside
20
- Claude Code, with the bundled app's state kept in `~/.onecode`.
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.
21
14
 
22
15
  <p align="center">
23
16
  <img src="demo/onecode.gif" alt="One Code switching models and running an agentic task" width="820">
@@ -28,10 +21,30 @@ Claude Code, with the bundled app's state kept in `~/.onecode`.
28
21
  [Differences from Claude Code](docs/guide/differences-from-claude-code.md) ·
29
22
  [Command reference](docs/guide/reference.md)
30
23
 
31
- ## Get started
32
-
33
- Requires **Node.js 22.19+**. Developed and verified on **macOS and Linux**;
34
- WSL is also supported. Native Windows is currently untested.
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.
35
48
 
36
49
  ```bash
37
50
  npm install -g @one-ai/one-code
@@ -39,51 +52,50 @@ cd your-project
39
52
  onecode
40
53
  ```
41
54
 
42
- Inside One Code, run `/login` to connect a provider, then `/model` to choose a
43
- model. You can also supply a provider key through an environment variable such
44
- as `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `OPENROUTER_API_KEY`.
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`.
45
58
 
46
- Open a project with an existing `CLAUDE.md` or `.claude/` setup to reuse it
47
- immediately. For a new project, `/init` drafts a `CLAUDE.md`.
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.
48
61
 
49
- Not sure what is ready? `onecode doctor` (or `/doctor report` inside a session)
50
- reports which providers have credentials, which model each role will use, what
51
- of your Claude Code configuration was picked up, and which programs are missing;
52
- `/doctor` runs the full checkup, where the model repairs the findings.
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.
53
66
 
54
- One Code is free; model access, usage charges, and rate limits depend on your
55
- provider. See [Providers and models](docs/guide/providers-and-models.md) for
56
- connection options.
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.
57
70
 
58
71
  ### Other ways to install
59
72
 
60
73
  **Homebrew** installs Node for you:
61
74
 
62
75
  ```bash
63
- brew install isurumaduranga/one-ai/one-code
76
+ brew install isurumaduranga/one-ai/onecode
64
77
  ```
65
78
 
66
- **Already using pi?** Add the extensions to your existing installation:
79
+ **Already on pi?** Add the extensions to your existing installation:
67
80
 
68
81
  ```bash
69
82
  pi install npm:one-code-extension
70
83
  ```
71
84
 
72
85
  The app package, [`@one-ai/one-code`](https://www.npmjs.com/package/@one-ai/one-code),
73
- bundles a pinned pi version and provides the `onecode` command. The extension
74
- package, [`one-code-extension`](https://www.npmjs.com/package/one-code-extension),
75
- runs on your own pi and is tested against pi 0.83–0.85. Use `pi` in place of
76
- `onecode` for that installation.
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.
77
90
 
78
91
  The app opens in a full-screen terminal interface by default. See the
79
- [installation guide](docs/guide/installation.md) for display settings and more
80
- details.
92
+ [installation guide](docs/guide/installation.md) for display settings and more.
81
93
 
82
- ## Put different models to work
94
+ ## 🎛️ Put different models to work
83
95
 
84
96
  A main conversation and a repository-wide investigation do not need the same
85
- model. With One Code, you can keep your preferred model in charge while
86
- subagents use another provider for exploration, tests, or review.
97
+ model. Keep your preferred model in charge and let subagents use another
98
+ provider for exploration, tests, or review.
87
99
 
88
100
  1. Choose the main model with `/model`.
89
101
  2. Set the default for subagents and workflow agents with
@@ -93,22 +105,22 @@ subagents use another provider for exploration, tests, or review.
93
105
  > Use subagents to investigate the authentication code and its tests.
94
106
  > Have them report their findings, then make the fix in the main session.
95
107
 
96
- Agent definitions in `.claude/agents/` can specify their own models, tools,
97
- and instructions. Use `/agents` to follow their progress and `/model` to
98
- change the main model as the task changes.
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.
99
111
 
100
- This gives you control over where you spend model capacity. Actual cost and
101
- quality depend on the models, task, and amount of delegated work.
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.
102
114
 
103
115
  [Subagents and workflows →](docs/guide/subagents-and-workflows.md)
104
116
 
105
- ## Reuse the setup you already have
117
+ ## ♻️ Reuse the setup you already have
106
118
 
107
- One Code reads Claude Code configuration directly, without an import step.
119
+ One Code reads Claude Code configuration directly. There is no import step.
108
120
 
109
121
  | Your configuration | How One Code uses it |
110
122
  |---|---|
111
- | `CLAUDE.md` | Project instructions, including nested files and `@path` imports. Falls back to `AGENTS.md` when no `CLAUDE.md` exists in a directory. |
123
+ | `CLAUDE.md` | Project instructions, including nested files and `@path` imports. Falls back to `AGENTS.md` when a directory has no `CLAUDE.md`. |
112
124
  | `.claude/skills/` and `.claude/commands/` | Discoverable skills and slash commands. |
113
125
  | `.claude/agents/` | Subagent definitions with their model, tools, and instructions. |
114
126
  | `.claude/settings.json` | `allow`, `deny`, and `ask` permission rules, plus supported command hooks. |
@@ -116,62 +128,60 @@ One Code reads Claude Code configuration directly, without an import step.
116
128
  | Installed Claude Code plugins | Plugin agents, skills, commands, and MCP servers, namespaced by plugin. |
117
129
 
118
130
  Claude Code tool names such as `Read`, `Bash`, `Edit`, and `Task` work in
119
- permission rules and hook matchers. One Code stores its own settings separately
120
- and treats `~/.claude` as read-only.
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.
121
133
 
122
- Compatibility covers these configuration and workflow surfaces. Features and
123
- skills that require Claude Code's own hosted or desktop services are not
124
- included.
134
+ Compatibility covers configuration and workflow surfaces. Features and skills
135
+ that need Claude Code's own hosted or desktop services are not included.
125
136
 
126
137
  [Configuration details →](docs/guide/bring-your-claude-code-setup.md) ·
127
138
  [Skills, plugins, and MCP →](docs/guide/skills-plugins-and-mcp.md)
128
139
 
129
- ## Workflows that scale with the task
140
+ ## ⚙️ Workflows that scale with the task
130
141
 
131
142
  ### Subagents and git worktrees
132
143
 
133
144
  Give an investigation its own context window and bring the result back to the
134
- main conversation. Subagents run in the background, can receive follow-up
135
- messages, and can fork the current conversation when they need its context.
136
- Three agent definitions ship with One Code: `general-purpose`, `explore`, and
137
- `plan`.
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`.
138
148
 
139
- For parallel edits, give agents separate git worktrees. You can also move the
149
+ For parallel edits, give agents their own git worktrees. You can also move the
140
150
  whole session into a worktree with `enter_worktree` and leave it with
141
151
  `exit_worktree`.
142
152
 
143
153
  ### Ultracode workflows
144
154
 
145
- Include **`ultracode`** in a request for a broad audit, migration, or review.
146
- The model writes a JavaScript workflow to coordinate agents in parallel, with
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
147
157
  progress visible in `/workflows`. Use `/effort ultracode` to keep this behavior
148
- active across turns.
158
+ on across turns.
149
159
 
150
160
  Resume an interrupted run to reuse completed agent calls whose inputs still
151
- match. Save reusable scripts in `.claude/workflows/` to invoke them by name.
161
+ match. Save reusable scripts in `.claude/workflows/` to call them by name.
152
162
  Optional output-token targets stop new and queued agents once reached;
153
- already-running agents can finish above the target.
163
+ agents already running can finish above the target.
154
164
 
155
165
  ### Permissions and planning
156
166
 
157
- **Auto mode is the default.** A classifier evaluates actions that need review,
158
- while permission rules and deterministic checks enforce additional restrictions.
159
- `deny` rules take precedence over `allow` rules. Trust approval covers
160
- project-provided hooks, MCP servers, and allow rules.
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.
161
171
 
162
172
  Press **ctrl+q** to cycle through manual, accept-edits, plan, and auto modes.
163
- Plan mode lets the agent investigate and write a dedicated plan file before
164
- you approve implementation. Use `/permissions` to inspect rules and `/auto-mode`
165
- to configure the classifier.
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.
166
176
 
167
177
  The permission system is an application-level control. For OS-level isolation,
168
- run One Code inside a container. The guarantees and the known gaps are spelled
169
- out in the guide.
178
+ run One Code inside a container. The guide spells out the guarantees and the
179
+ known gaps.
170
180
 
171
181
  [Permissions and modes →](docs/guide/permissions-modes-and-auto-mode.md) ·
172
182
  [Hooks →](docs/guide/hooks.md)
173
183
 
174
- ## Everyday tools
184
+ ## 🧰 Everyday tools
175
185
 
176
186
  | Capability | What you get |
177
187
  |---|---|
@@ -180,12 +190,12 @@ out in the guide.
180
190
  | Diagnostics | Language-server diagnostics after edits; install the relevant server on your `PATH`. |
181
191
  | Long sessions | Per-repository memory, a session scratchpad, and context compaction. |
182
192
  | Task tracking | A pinned progress widget, background monitors, and scheduled wake-ups. |
183
- | Tool discovery | Deferred tools loaded when needed to reduce prompt overhead. |
193
+ | Tool discovery | Deferred tools loaded when needed to keep prompt overhead down. |
184
194
  | Reasoning and appearance | `/effort` or **shift+tab** for reasoning effort; `onecode` and `onecode-light` themes. |
185
195
  | Customization | Extend One Code with pi extensions, themes, and settings. |
186
196
 
187
197
  The bundled skills include `simplify`, `code-review`, `security-review`, and
188
- `fewer-permission-prompts`. A project skill with the same name takes precedence.
198
+ `fewer-permission-prompts`. A project skill with the same name wins.
189
199
 
190
200
  For scripting and session management:
191
201
 
@@ -197,28 +207,29 @@ onecode --permission-mode plan # start in plan mode
197
207
  ```
198
208
 
199
209
  See [Tools](docs/guide/tools.md) for every tool the model can call and the
200
- [command reference](docs/guide/reference.md) for every command, shortcut,
201
- flag, and environment variable.
210
+ [command reference](docs/guide/reference.md) for every command, shortcut, flag,
211
+ and environment variable.
202
212
 
203
- ## Documentation
213
+ ## 📚 Documentation
204
214
 
205
215
  The [user guide](docs/guide/README.md) covers everything: installation,
206
216
  providers and models, the terminal interface, configuration, permissions and
207
217
  auto mode, hooks, subagents and workflows, skills, plugins, and MCP, tools,
208
- sessions and context, background work, the doctor, differences from Claude
209
- Code, troubleshooting, and a full reference.
218
+ sessions and context, background work, the doctor, differences from Claude Code,
219
+ troubleshooting, and a full reference.
210
220
 
211
- ## Compatibility notes
221
+ ## 💡 Good to know
212
222
 
213
- - **Providers:** end-to-end verification has focused on Anthropic, OpenAI,
214
- and OpenRouter. Other providers are less exercised.
215
- - **Web search:** set `BRAVE_SEARCH_API_KEY` or `TAVILY_API_KEY` when using a
216
- provider without native search. With neither key, the fallback is Exa's
217
- rate-limited keyless endpoint; One Code labels its results.
218
- - **Native Windows:** hooks and background shells currently assume `/bin/sh`.
219
- Use WSL until native Windows support is verified.
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.
220
231
 
221
- ## Install from source
232
+ ## 🔧 Install from source
222
233
 
223
234
  This installs the local extensions into an existing pi installation:
224
235
 
@@ -231,6 +242,12 @@ pi install ./one-code
231
242
  pi list
232
243
  ```
233
244
 
234
- ## License
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
235
252
 
236
253
  [MIT](LICENSE). Contributions welcome.
@@ -6,7 +6,7 @@ One Code is and why it exists, see the [project README](../../README.md).
6
6
 
7
7
  ## Start here
8
8
 
9
- If you have never run One Code, read these in order:
9
+ If you've never run One Code, read these in order:
10
10
 
11
11
  1. [Install One Code](installation.md). Install it and open your first
12
12
  session.
@@ -35,7 +35,7 @@ If you have never run One Code, read these in order:
35
35
  | [Sessions and context](sessions-and-context.md) | What the model sees, memory, compaction, the cache, recaps, and resuming sessions. |
36
36
  | [Tasks and background work](tasks-and-background-work.md) | The task list, background shells, monitors, loops, and how results reach the model. |
37
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 is not provided, and known issues. |
38
+ | [Differences from Claude Code](differences-from-claude-code.md) | What is different by design, what isn't provided, and known issues. |
39
39
  | [Troubleshooting](troubleshooting.md) | Symptoms, causes, and fixes. |
40
40
  | [Command and keyboard reference](reference.md) | Every command, shortcut, flag, environment variable, and file location. |
41
41
 
@@ -1,7 +1,9 @@
1
1
  # Bring your Claude Code setup
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code reads the same configuration files as Claude Code, so your
4
- existing setup works without changes. There is no import step and nothing
6
+ existing setup works without changes. There's no import step and nothing
5
7
  to convert. Open a project that already has a `.claude/` directory, and One
6
8
  Code picks up each of the following as it is.
7
9
 
@@ -17,12 +19,12 @@ If a directory has no `CLAUDE.md`, One Code uses its `AGENTS.md` instead, so
17
19
  a repository that standardized on `AGENTS.md` works too. A `CLAUDE.md` takes
18
20
  precedence over an `AGENTS.md` in the same directory.
19
21
 
20
- To give One Code instructions that Claude Code should not read, add an
22
+ To give One Code instructions that Claude Code shouldn't read, add an
21
23
  `ONECODE.md`. See [ONECODE.md](sessions-and-context.md#onecodemd).
22
24
 
23
25
  To generate a `CLAUDE.md` for a project that lacks one, run `/init`. It has
24
26
  the model survey the project (build, test, and lint commands, layout,
25
- existing AI-tool configuration), ask you about what the code cannot answer,
27
+ existing AI-tool configuration), ask you about what the code can't answer,
26
28
  and write the file. It never overwrites an existing `CLAUDE.md` silently.
27
29
 
28
30
  ## Skills, commands, and agents
@@ -74,7 +76,7 @@ The keys One Code honors:
74
76
  | Key | Scopes | Notes |
75
77
  |---|---|---|
76
78
  | `permissions.allow`, `permissions.deny`, `permissions.ask` | All | Project allow rules need one-time approval. See [Permissions](permissions-modes-and-auto-mode.md#permission-rules). |
77
- | `permissions.defaultMode` | All | A project file cannot select `auto` or `bypassPermissions`. |
79
+ | `permissions.defaultMode` | All | A project file can't select `auto` or `bypassPermissions`. |
78
80
  | `permissions.disableBypassPermissionsMode` | All | `"disable"` refuses bypass mode from any source. |
79
81
  | `autoMode.*` | User, managed | Never read from project files. See [Configure auto mode](permissions-modes-and-auto-mode.md#configure-auto-mode). |
80
82
  | `hooks` | All | Project hooks need one-time approval. See [Hooks](hooks.md). |
@@ -120,7 +122,7 @@ See [Where settings live](configuration.md#where-settings-live).
120
122
 
121
123
  ## What does not carry over
122
124
 
123
- Features that need Claude Code's own hosted or desktop services are not
125
+ Features that need Claude Code's own hosted or desktop services aren't
124
126
  available. For the full list of tools, commands, and skills that are
125
127
  missing or different, see
126
128
  [Differences from Claude Code](differences-from-claude-code.md).
@@ -1,5 +1,7 @@
1
1
  # Configure One Code
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  Use this page to find the right settings file, learn what One Code stores
4
6
  and where, change the terminal appearance, and set up language-server
5
7
  diagnostics. Provider keys are covered in
@@ -36,7 +38,7 @@ atomically; a malformed file is reported rather than overwritten.
36
38
  | `PI_CODING_AGENT_DIR` | pi's agent directory. The bundled app sets it to `~/.onecode/agent`. |
37
39
  | `CLAUDE_CONFIG_DIR` | Where Claude Code's user configuration is read from (default `~/.claude`). |
38
40
 
39
- Setting one does not move the others.
41
+ Setting one doesn't move the others.
40
42
 
41
43
  ## What is stored under ~/.onecode
42
44
 
@@ -154,7 +156,7 @@ its files, from the nearest directory that has a project marker such as
154
156
  server that crashes is restarted twice, then disabled for the session.
155
157
 
156
158
  If the project's TypeScript installation lacks `lib/tsserver.js`
157
- (TypeScript 7's native compiler), the server cannot start; One Code
159
+ (TypeScript 7's native compiler), the server can't start; One Code
158
160
  reports this. Install a TypeScript 5.x development dependency in that
159
161
  project.
160
162
 
@@ -163,7 +165,7 @@ precedence over the built-in table for the file extensions it claims.
163
165
 
164
166
  Run `/lsp` to see each server's status and diagnostic count, start
165
167
  failures, and plugin configuration problems. `/doctor report` lists the
166
- servers your project needs and whether they are installed.
168
+ servers your project needs and whether they're installed.
167
169
 
168
170
  ## Environment variables
169
171
 
@@ -1,8 +1,10 @@
1
1
  # Differences from Claude Code
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code recreates Claude Code's workflow on the pi agent harness with your
4
6
  choice of model. Most of what you know carries over. This page lists what
5
- is deliberately different, what is not provided, and the known limitations,
7
+ is deliberately different, what isn't provided, and the known limitations,
6
8
  so nothing surprises you.
7
9
 
8
10
  ## What is the same
@@ -46,9 +48,9 @@ have no equivalent here: `Artifact`, `ReportFindings`,
46
48
  `ShareOnboardingGuide`, `PushNotification`, `RemoteTrigger`, `DesignSync`,
47
49
  `CronCreate`, `CronList`, `CronDelete`, `EndConversation`, and
48
50
  `SendFeedback`. Scheduling within a session is available through `/loop`
49
- and `schedule_wakeup`; scheduled cloud sessions are not.
51
+ and `schedule_wakeup`; scheduled cloud sessions aren't.
50
52
 
51
- The `Agent` tool's remote isolation option is not implemented.
53
+ The `Agent` tool's remote isolation option isn't implemented.
52
54
 
53
55
  ## Commands that are not provided
54
56
 
@@ -81,17 +83,17 @@ action but never pre-approve one. See [Hooks](hooks.md).
81
83
 
82
84
  ## Settings keys that are ignored
83
85
 
84
- `permissions.additionalDirectories` is not honored. The `env` block is read
86
+ `permissions.additionalDirectories` isn't honored. The `env` block is read
85
87
  only for `CLAUDE_CODE_SUBAGENT_MODEL`, and only from user and managed
86
88
  scope. `includeCoAuthoredBy`, `apiKeyHelper`, `forceLoginMethod`,
87
- `cleanupPeriodDays`, and `spinnerTipsEnabled` are not read. Run
89
+ `cleanupPeriodDays`, and `spinnerTipsEnabled` aren't read. Run
88
90
  `/doctor report` to see, per file, which keys were used, ignored, or
89
91
  refused.
90
92
 
91
93
  ## Prompt layout on Anthropic models
92
94
 
93
95
  Claude Code delivers part of its reminder stack to Opus and Sonnet as a
94
- system-role message after the first user message. pi's message model cannot
96
+ system-role message after the first user message. pi's message model can't
95
97
  express that, so One Code uses the layout Claude Code uses for Haiku on
96
98
  every model. The content is the same; only the placement differs.
97
99
 
@@ -110,7 +112,7 @@ every model. The content is the same; only the placement differs.
110
112
  - Some models reject options that others accept. One Code sends minimal
111
113
  options to its side calls (classifier, recap, reader) for this reason. A
112
114
  provider incompatibility in a side call fails closed: a classifier that
113
- cannot answer blocks the action.
115
+ can't answer blocks the action.
114
116
  - Prompt-cache lifetime and pricing are the provider's. The extended
115
117
  one-hour cache applies to Anthropic; other providers use their own
116
118
  values.
@@ -119,7 +121,7 @@ every model. The content is the same; only the placement differs.
119
121
 
120
122
  - A write or edit tool can reach a file that only a `Bash` deny rule
121
123
  protects, because in-project writes take the deterministic fast path in
122
- auto mode and are not classified. Write `deny` rules for the write tools
124
+ auto mode and aren't classified. Write `deny` rules for the write tools
123
125
  as well. This is documented and accepted rather than fixed.
124
126
  - GLM-5.3 and GLM-5.3 Flash, used as the classifier, approve a request to
125
127
  back up the project to an unnamed outside location that the ruleset says
@@ -127,7 +129,7 @@ every model. The content is the same; only the placement differs.
127
129
  - Running a skill in a one-shot run (`-p '/simplify'`) delivers the skill
128
130
  but starts no model turn, so the process exits without doing anything.
129
131
  Interactive sessions are unaffected.
130
- - The reasoning effort set with `/effort` does not persist across
132
+ - The reasoning effort set with `/effort` doesn't persist across
131
133
  restarts; the model chosen with `/model` does. To save a level, open
132
134
  pi's `/thinking` picker and press **ctrl+s**, or pass `--thinking`.
133
135
  - A subagent spawn that is blocked before it starts can leave its requested
@@ -145,6 +147,6 @@ every model. The content is the same; only the placement differs.
145
147
  has had limited live testing.
146
148
  - Plugin marketplaces support git and local sources only; npm and pip
147
149
  sources, version pinning, dependency resolution, and enterprise
148
- blocklists are not implemented.
150
+ blocklists aren't implemented.
149
151
 
150
152
  Open work is tracked in the project's issue tracker on GitHub.
@@ -1,5 +1,7 @@
1
1
  # Check your setup with doctor
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  `/doctor` is One Code's health check, modelled on Claude Code's. It measures
4
6
  your setup, reports what a session will use, and can have the model repair
5
7
  the findings.
@@ -18,7 +20,7 @@ the findings.
18
20
  ## What the report contains
19
21
 
20
22
  1. **Installation.** Whether you run the bundled app or the extension on
21
- your own pi, the pi version and whether it is in the tested range, the
23
+ your own pi, the pi version and whether it's in the tested range, the
22
24
  Node version and platform, pi's agent directory, One Code's state
23
25
  directory, where Claude Code configuration is read from, and whether a
24
26
  newer One Code is available.
@@ -47,12 +49,12 @@ Findings are listed first, errors before warnings, each with a suggested
47
49
  fix. The report is "ready" when at least one provider works, a model is
48
50
  selected, and there are no errors.
49
51
 
50
- In the panel, press **f** to run the checkup on the report you are reading.
52
+ In the panel, press **f** to run the checkup on the report you're reading.
51
53
 
52
54
  ## Model presets
53
55
 
54
56
  A preset sets the main model, the subagent model, and the classifier model
55
- together, from the provider you are connected to. Only current-generation,
57
+ together, from the provider you're connected to. Only current-generation,
56
58
  priced models that support tool calls are considered.
57
59
 
58
60
  | Preset | Main model | Subagents | Classifier |
@@ -1,5 +1,7 @@
1
1
  # Hooks
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  Hooks are shell commands that run at fixed points in a session. One Code
4
6
  runs Claude Code's command hooks from your existing settings files, with
5
7
  the same input, output, and exit-code contract, so hooks you wrote for
@@ -39,8 +41,8 @@ Only command hooks are supported. Hook entries of type `http`, `prompt`, or
39
41
  | `PostCompact` | After context compaction, with the summary. |
40
42
 
41
43
  Claude Code's `Notification`, `SubagentStop`, and `PermissionRequest`
42
- events are not supported. pi has no event that carries the notification
43
- concept, and the other two are not implemented.
44
+ events aren't supported. pi has no event that carries the notification
45
+ concept, and the other two aren't implemented.
44
46
 
45
47
  Hooks also run inside subagents: a `PreToolUse` hook that blocks a command
46
48
  blocks it in a subagent too.
@@ -55,7 +57,7 @@ The hook's standard input is a JSON object with these fields:
55
57
  | Field | Present | Meaning |
56
58
  |---|---|---|
57
59
  | `session_id` | Always | The session id. |
58
- | `transcript_path` | Always | The session file, or an empty string when there is none. |
60
+ | `transcript_path` | Always | The session file, or an empty string when there's none. |
59
61
  | `cwd` | Always | The working directory. |
60
62
  | `hook_event_name` | Always | The event name from the table. |
61
63
  | `tool_name`, `tool_input` | Tool events | The tool and its arguments. Tool names are One Code's names; see [Claude Code tool names](tools.md#claude-code-tool-names). |
@@ -90,7 +92,7 @@ Envelope fields honored in a JSON result:
90
92
  |---|---|
91
93
  | `continue: false` | Blocks, with `stopReason` as the reason. |
92
94
  | `decision: "block"` | Blocks, with `reason` as the reason. |
93
- | `hookSpecificOutput.permissionDecision` | `"deny"` and `"ask"` both block, with `permissionDecisionReason`. `"allow"` is read but never honored; a hook cannot pre-approve an action, and the permission gate still runs. |
95
+ | `hookSpecificOutput.permissionDecision` | `"deny"` and `"ask"` both block, with `permissionDecisionReason`. `"allow"` is read but never honored; a hook can't pre-approve an action, and the permission gate still runs. |
94
96
  | `hookSpecificOutput.updatedInput` | Replaces the tool's input (`PreToolUse`). |
95
97
  | `hookSpecificOutput.updatedToolResult` | Replaces the tool's result (`PostToolUse`). |
96
98
  | `hookSpecificOutput.additionalContext` | Adds text to the model's context. |
@@ -105,5 +107,5 @@ Set `CC_HOOKS_DEBUG=1` before launching to print each hook dispatch and its
105
107
  outcome to stderr. Decisions are also appended to
106
108
  `~/.onecode/hooks/hooks-decisions.jsonl` while the variable is set.
107
109
 
108
- Hooks run through `/bin/sh`. On native Windows this path does not exist,
110
+ Hooks run through `/bin/sh`. On native Windows this path doesn't exist,
109
111
  which is one reason native Windows is unsupported; use WSL.
@@ -1,5 +1,7 @@
1
1
  # Install One Code
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code ships as two npm packages from one repository. Choose the one that
4
6
  fits how you already work.
5
7
 
@@ -27,7 +29,7 @@ cd your-project
27
29
  onecode
28
30
  ```
29
31
 
30
- On the first run there is no provider yet: the banner shows `model none`.
32
+ On the first run there's no provider yet: the banner shows `model none`.
31
33
  Run `/login` inside One Code to connect a provider, or set a provider key
32
34
  in your environment before launching. For a free option, see
33
35
  [Providers and models](providers-and-models.md).
@@ -41,10 +43,10 @@ value you change later.
41
43
  Homebrew installs Node for you, so this route has no separate Node step:
42
44
 
43
45
  ```bash
44
- brew install isurumaduranga/one-ai/one-code
46
+ brew install isurumaduranga/one-ai/onecode
45
47
  ```
46
48
 
47
- The formula is named `one-code`; the command it installs is `onecode`.
49
+ The formula and the command it installs are both named `onecode`.
48
50
  Homebrew refuses npm packages published less than a day ago, so a release
49
51
  becomes installable this way about a day after it appears on npm.
50
52
 
@@ -62,7 +64,7 @@ your pi is outside that range. Full-screen mode is opt-in on your own pi;
62
64
  see [Full-screen mode and themes](configuration.md#full-screen-mode-and-themes).
63
65
 
64
66
  A few interface refinements are applied only by the bundled app, because
65
- they patch pi internals the extension API cannot reach: a clean exit that
67
+ they patch pi internals the extension API can't reach: a clean exit that
66
68
  erases the screen in regular mode, and suppression of pi's "Operation
67
69
  aborted" line when you interrupt a reply. Everything else is identical.
68
70
 
@@ -97,7 +99,7 @@ notice with the matching upgrade command when a newer version exists:
97
99
 
98
100
  ```bash
99
101
  npm install -g @one-ai/one-code # npm installs
100
- brew upgrade one-code # Homebrew installs
102
+ brew upgrade onecode # Homebrew installs
101
103
  ```
102
104
 
103
105
  Set `ONECODE_NO_UPDATE_CHECK=1` to skip the check; `--offline` skips it too.
@@ -108,7 +110,7 @@ Both packages are released together with the same version number.
108
110
  ## Uninstall
109
111
 
110
112
  ```bash
111
- npm uninstall -g @one-ai/one-code # or: brew uninstall one-code
113
+ npm uninstall -g @one-ai/one-code # or: brew uninstall onecode
112
114
  rm -rf ~/.onecode # One Code's state, including pi's under the app
113
115
  ```
114
116