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.
@@ -1,5 +1,7 @@
1
1
  # Permissions, modes, and auto mode
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  Every tool call the model makes passes through One Code's permission gate
4
6
  before it runs. This page explains the permission modes, how to switch
5
7
  between them, how to write rules, what the approval prompt offers, and how
@@ -16,7 +18,7 @@ For each tool call, the gate checks the following in order:
16
18
  1. **Protected paths.** A write to a protected file or directory (see
17
19
  [Protected paths](#protected-paths)) is never approved automatically. In
18
20
  auto mode it goes to the classifier; in other modes it prompts you.
19
- Allow rules do not cover protected paths.
21
+ Allow rules don't cover protected paths.
20
22
  2. **`deny` rules.** A matching `deny` rule blocks the call. `deny` always
21
23
  wins.
22
24
  3. **`ask` rules.** A matching `ask` rule prompts you, even in a mode that
@@ -96,7 +98,7 @@ Add `global` at the end to save it for every repository instead:
96
98
  ```
97
99
 
98
100
  To review the current mode and every loaded rule, including which project
99
- rules are trusted and which rules could not be parsed, run `/permissions`.
101
+ rules are trusted and which rules couldn't be parsed, run `/permissions`.
100
102
 
101
103
  Rules One Code adds are saved under `~/.onecode`, never under `~/.claude`.
102
104
 
@@ -104,7 +106,7 @@ Rules One Code adds are saved under `~/.onecode`, never under `~/.claude`.
104
106
 
105
107
  A mode sets the default answer for actions no rule covers. **Auto is the
106
108
  default**, matching Claude Code: a classifier approves routine actions and
107
- stops risky ones, so you are not prompted for every step.
109
+ stops risky ones, so you're not prompted for every step.
108
110
 
109
111
  | Mode | Badge | What it does |
110
112
  |---|---|---|
@@ -121,7 +123,7 @@ changes.
121
123
  ### Cycle modes with ctrl+q
122
124
 
123
125
  Press **ctrl+q** to cycle through manual, accept edits, plan, and auto.
124
- Two modes join the cycle only under conditions:
126
+ Two modes join the cycle only under certain conditions:
125
127
 
126
128
  - **Auto** appears only when a model that can run the classifier is
127
129
  available. With no provider connected, the cycle skips it.
@@ -130,7 +132,7 @@ Two modes join the cycle only under conditions:
130
132
  **Don't ask** is never in the cycle; reach it with the `--permission-mode`
131
133
  flag or a settings file.
132
134
 
133
- Claude Code cycles modes with shift+tab. One Code cannot use that key
135
+ Claude Code cycles modes with shift+tab. One Code can't use that key
134
136
  because pi reserves it for the reasoning-effort dial. On Windows and WSL,
135
137
  pi's own default keybindings also use ctrl+q to queue a follow-up message.
136
138
  If the two conflict there, change pi's binding in its keybindings file.
@@ -160,12 +162,12 @@ Claude Code settings files. Merge this into the existing object:
160
162
  }
161
163
  ```
162
164
 
163
- The scopes are not equal:
165
+ The scopes aren't equal:
164
166
 
165
167
  - **User scope** (`~/.claude/settings.json`) and **managed settings** can
166
168
  set any mode.
167
169
  - **Project scope** (`.claude/settings.json` and `.claude/settings.local.json`)
168
- can set `default`, `acceptEdits`, `plan`, or `dontAsk`. It cannot set
170
+ can set `default`, `acceptEdits`, `plan`, or `dontAsk`. It can't set
169
171
  `auto` or `bypassPermissions`; a checked-in file must not be able to turn
170
172
  off approvals for whoever clones it.
171
173
  - A `defaultMode` in `~/.onecode/settings.json` has no effect.
@@ -198,7 +200,7 @@ and these choices:
198
200
  - **No, tell the agent what to do differently.** Deny it, with an optional
199
201
  note that is passed to the model as the reason.
200
202
 
201
- The "don't ask again" option is not offered for protected paths, for writes
203
+ The "don't ask again" option isn't offered for protected paths, for writes
202
204
  that the auto-mode safety floor caught, or in auto mode. Session grants never
203
205
  apply in auto mode and are cleared when the session ends.
204
206
 
@@ -226,7 +228,7 @@ check and always goes to the classifier.
226
228
  ## Protected paths
227
229
 
228
230
  Writes to these paths are never approved automatically in any mode other
229
- than bypass, and allow rules do not cover them.
231
+ than bypass, and allow rules don't cover them.
230
232
 
231
233
  Protected directories, including everything inside them:
232
234
 
@@ -300,11 +302,11 @@ shows the plan. Nothing runs until you choose. The choices are:
300
302
  5. **Keep planning.** No mode change; the model refines the plan file.
301
303
 
302
304
  The initial highlight is the option that restores your previous mode, or
303
- manual mode when that is not offered. It never lands on a more permissive
305
+ manual mode when that isn't offered. It never lands on a more permissive
304
306
  option by default. Press the number of a choice to pick it directly, or
305
307
  **Esc** to keep planning.
306
308
 
307
- In a non-interactive run there is no one to approve, so `exit_plan_mode`
309
+ In a non-interactive run there's no one to approve, so `exit_plan_mode`
308
310
  refuses and the session stays in plan mode with the plan on disk.
309
311
 
310
312
  ## Auto mode
@@ -317,20 +319,20 @@ classifier.
317
319
 
318
320
  - Actions a deterministic analysis proves safe. Read-only shell commands
319
321
  inside the working directory are the common case. This analysis can only
320
- ever conclude "safe"; anything it cannot parse or recognize goes to the
322
+ ever conclude "safe"; anything it can't parse or recognize goes to the
321
323
  classifier rather than through.
322
324
  - Edits and writes to files inside the project that are not credential
323
325
  files, not protected paths, and not files that run code on their own
324
326
  (build wrappers, CI workflows, editor auto-run configuration).
325
327
  - Deleting or resetting files inside the project **when git can recover
326
328
  them**. A tracked, committed file can be restored, so removing it is
327
- approved. An untracked or modified file cannot, so removing it goes to
329
+ approved. An untracked or modified file can't, so removing it goes to
328
330
  the classifier. Claude Code trusts the whole project directory here; One
329
331
  Code checks recoverability first.
330
332
 
331
333
  ### What goes to the classifier
332
334
 
333
- Everything else: destructive commands git cannot undo, anything that
335
+ Everything else: destructive commands git can't undo, anything that
334
336
  reaches outside the project, network-affecting commands, writes to
335
337
  protected paths, and reads outside the working directory.
336
338
 
@@ -342,21 +344,21 @@ The classifier is Claude Code's two-stage ruleset, embedded verbatim:
342
344
  stated intent and the allow list, and either approves or blocks with a
343
345
  named rule.
344
346
 
345
- Verdicts are checked before they are acted on. A block must cite a real
347
+ Verdicts are checked before they're acted on. A block must cite a real
346
348
  rule from the ruleset. An approval based on intent must quote your own
347
- words from the conversation. A classifier that cannot be reached, times
348
- out, or returns something unparseable blocks the action; a gate that cannot
349
+ words from the conversation. A classifier that can't be reached, times
350
+ out, or returns something unparseable blocks the action; a gate that can't
349
351
  consult its classifier approves nothing.
350
352
 
351
353
  A blocked action is reported to the model with the reason so it can choose
352
- a safer route. You are not prompted per action while auto mode runs. After
354
+ a safer route. You're not prompted per action while auto mode runs. After
353
355
  repeated blocks in a row, auto mode pauses and the next action prompts you;
354
356
  approving it resumes auto mode.
355
357
 
356
358
  Allow rules that are broad enough to pre-approve arbitrary execution, such
357
359
  as `Bash(*)`, a wildcarded interpreter, or a rule that allows delegation to
358
- subagents, are suspended in auto mode so they cannot bypass the classifier.
359
- Session grants from the approval prompt do not apply in auto mode either.
360
+ subagents, are suspended in auto mode so they can't bypass the classifier.
361
+ Session grants from the approval prompt don't apply in auto mode either.
360
362
 
361
363
  ### The classifier model
362
364
 
@@ -427,13 +429,13 @@ One Code's security model is the permission gate plus auto mode, not an
427
429
  assumption that the model behaves. Read these facts before you leave a
428
430
  session unattended:
429
431
 
430
- - **There is no operating-system sandbox.** The gate decides whether a
432
+ - **There's no operating-system sandbox.** The gate decides whether a
431
433
  command runs; nothing constrains what an approved command can touch. For
432
434
  an OS-level wall, run One Code inside a container. The gate and the
433
435
  container work together.
434
436
  - **Bypass mode bypasses everything**, including protected paths. Claude
435
437
  Code keeps its protected-path checks active even under
436
- `--dangerously-skip-permissions`; One Code does not.
438
+ `--dangerously-skip-permissions`; One Code doesn't.
437
439
  - **Auto mode is the default without a first-run consent step**, and
438
440
  without the OS sandbox Claude Code pairs its own auto default with.
439
441
  - **A weak classifier is a weaker boundary.** Automatic selection applies a
@@ -1,5 +1,7 @@
1
1
  # Providers and models
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code talks to each model provider natively, so you choose the provider
4
6
  and the model, and you can change either one during a session. This page
5
7
  covers connecting a provider, storing a key, switching models, how One Code
@@ -31,8 +33,8 @@ Two providers hand out free models you can try at no cost:
31
33
  a key, or sign in from inside One Code with no key copying. Free models
32
34
  carry a `:free` suffix, such as `nvidia/nemotron-3-ultra-550b-a55b:free`.
33
35
 
34
- Credentials are stored by pi in its agent directory (`~/.onecode/agent/`
35
- under the bundled app). `/logout` removes them.
36
+ pi stores credentials in its agent directory (`~/.onecode/agent/` under
37
+ the bundled app). `/logout` removes them.
36
38
 
37
39
  ## Store keys as environment variables
38
40
 
@@ -100,10 +102,10 @@ otherwise to the matching class within your provider (`haiku` the cheapest
100
102
  capable model, `sonnet` the cheapest Sonnet-class model, `opus` and `fable`
101
103
  your main model). They never switch providers.
102
104
 
103
- Capability is judged by tier (see the next section). Models are excluded
104
- when they cannot call tools, have no price, or are a generation behind: a
105
- model released more than a year after its vendor's newest is demoted one
106
- tier, and one more than two years behind is never picked automatically.
105
+ Capability is judged by tier (see the next section). One Code excludes
106
+ models that can't call tools, have no price, or are a generation behind: a
107
+ model released more than a year after its vendor's newest drops one tier,
108
+ and one more than two years behind never gets picked automatically.
107
109
  Provider aliases such as `:free` or `:online` variants are skipped.
108
110
 
109
111
  ### Measured selection with Artificial Analysis
@@ -148,8 +150,8 @@ the system prompt to match:
148
150
  | Cheap | Haiku-class models and comparable "flash", "mini", or "small" models. | The verbose prompt Claude Code gives Haiku. |
149
151
  | Tiny | Sub-Haiku models. | The verbose prompt plus extra scaffolding and the `grep`, `find`, and `ls` tools. |
150
152
 
151
- The tier is derived from the model's name, release date, and price. You do
152
- not configure it; set `CC_PROMPT_TIER` to force one when you want to
153
+ The tier is derived from the model's name, release date, and price. You
154
+ don't configure it; set `CC_PROMPT_TIER` to force one when you want to
153
155
  experiment. `/doctor report` shows the tier in use.
154
156
 
155
157
  ## Web search on providers without a search API
@@ -161,7 +163,7 @@ API, in this order:
161
163
 
162
164
  1. **Brave Search**, when `BRAVE_SEARCH_API_KEY` is set.
163
165
  2. **Tavily**, when `TAVILY_API_KEY` is set.
164
- 3. **Exa's free keyless endpoint**, when neither key is set. It is
166
+ 3. **Exa's free keyless endpoint**, when neither key is set. It's
165
167
  rate-limited and best-effort, so One Code warns you the first time a
166
168
  session uses it and labels every result that came from it.
167
169
 
@@ -187,7 +189,7 @@ so. Web fetch works on every provider; it never depends on a search API.
187
189
  - Some models reject request options others accept (a temperature, a
188
190
  reasoning setting). One Code sends minimal options to its side calls for
189
191
  this reason, and a side call that still fails does so loudly: a
190
- classifier that cannot answer blocks the action; a reader that fails
192
+ classifier that can't answer blocks the action; a reader that fails
191
193
  returns the raw page.
192
194
  - Interactive sessions request the provider's extended prompt cache (one
193
195
  hour on Anthropic). Subagents and one-shot runs use the short default.
@@ -1,5 +1,7 @@
1
1
  # Command and keyboard reference
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  A lookup for every slash command, keyboard shortcut, command-line flag,
4
6
  environment variable, and file location. Each entry points to the page
5
7
  that explains it.
@@ -122,7 +124,7 @@ Rebind keys in pi's keybindings file; see pi's documentation.
122
124
  ## Command-line flags
123
125
 
124
126
  `onecode` forwards every flag to pi except `--version` and `doctor`. On the
125
- extension installation, use `pi` in place of `onecode`.
127
+ extension install, use `pi` in place of `onecode`.
126
128
 
127
129
  | Flag | What it does |
128
130
  |---|---|
@@ -157,7 +159,7 @@ Set these before launching.
157
159
  |---|---|
158
160
  | `ONECODE_STATE_DIR` | Where One Code keeps its state (default `~/.onecode`). Independent of pi's agent directory. |
159
161
  | `ONECODE_NO_UPDATE_CHECK=1` | Skip the daily update check. |
160
- | `ONECODE_DEBUG=1` | Report when a pi-internal patch in the bundled app did not apply. |
162
+ | `ONECODE_DEBUG=1` | Report when a pi-internal patch in the bundled app didn't apply. |
161
163
  | `AA_API_KEY` | Artificial Analysis key for measured model selection. |
162
164
  | `BRAVE_SEARCH_API_KEY`, `TAVILY_API_KEY` | Web-search fallback keys. |
163
165
 
@@ -1,5 +1,7 @@
1
1
  # Sessions and context
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  This page covers what One Code puts into the model's context, how it keeps
4
6
  long sessions within the context window, what it remembers between
5
7
  sessions, and how to continue or branch a session.
@@ -82,7 +84,7 @@ full transcript if it needs a detail.
82
84
  Run `/compact` to compact at any time; you can pass instructions about what
83
85
  the summary should focus on. Compaction that happens because the context is
84
86
  full is more expensive than a manual or threshold compaction, because it
85
- cannot reuse the cached prefix of the conversation.
87
+ can't reuse the cached prefix of the conversation.
86
88
 
87
89
  Set `CC_COMPACTION=0` to use pi's own summary instead.
88
90
 
@@ -107,7 +109,7 @@ turn it off.
107
109
 
108
110
  Interactive sessions ask the provider for an extended cache lifetime (one
109
111
  hour on Anthropic; provider-dependent elsewhere), so a pause between turns
110
- does not re-send the whole conversation. Subagents, workflow agents, and
112
+ doesn't re-send the whole conversation. Subagents, workflow agents, and
111
113
  `-p` or `--mode json` runs use the provider's short default. Set
112
114
  `PI_CACHE_RETENTION` yourself to take over the choice. The footer shows the
113
115
  cache-hit rate of the latest turn.
@@ -121,7 +123,7 @@ Each session gets a scratchpad directory under the system temp directory,
121
123
  named by project and session. The model is told to use it for temporary
122
124
  files instead of `/tmp`; writes there need no approval.
123
125
 
124
- Tool output larger than 50 KB is not truncated. It is written to a file
126
+ Tool output larger than 50 KB isn't truncated. It's written to a file
125
127
  under the session directory, and the model receives the path, the size,
126
128
  and a 2 KB preview in a `<persisted-output>` block, so it can read the part
127
129
  it needs.
@@ -1,5 +1,7 @@
1
1
  # Skills, plugins, and MCP
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code runs Agent Skills, Claude Code plugins, and MCP servers from your
4
6
  existing configuration. This page covers using each and the panels that
5
7
  manage them.
@@ -23,7 +25,7 @@ command, as in Claude Code: `/simplify`, `/code-review`, or any skill from
23
25
  arguments. Plugin skills keep their plugin prefix and are run as
24
26
  `/skill:<plugin>:<name>`. pi's `/skill:<name>` form works for every skill.
25
27
 
26
- A skill's slash command is not created when the name is already taken by a
28
+ A skill's slash command isn't created when the name is already taken by a
27
29
  built-in command, a `.claude/commands/` template, or another skill.
28
30
 
29
31
  ### Manage skills
@@ -57,7 +59,7 @@ A skill of the same name in your own `.claude/skills/` takes precedence.
57
59
  ### Skills not bundled
58
60
 
59
61
  The bundle omits the Claude Code skills that depend on services One Code
60
- does not have:
62
+ doesn't have:
61
63
 
62
64
  | Group | Skills omitted |
63
65
  |---|---|
@@ -113,7 +115,7 @@ servers, agents, and hooks load on the next session, and the panel says so
113
115
  when you close it.
114
116
 
115
117
  Marketplace sources are git repositories and local paths. Version pinning,
116
- npm or pip sources, and dependency resolution are not implemented.
118
+ npm or pip sources, and dependency resolution aren't implemented.
117
119
 
118
120
  ## MCP servers
119
121
 
@@ -144,7 +146,7 @@ appears as disabled in `/mcp`; choosing Enable there approves it.
144
146
  Claude Code's `enabledMcpjsonServers`, `disabledMcpjsonServers`, and
145
147
  `enableAllProjectMcpServers` settings are honored from
146
148
  `~/.claude/settings.json`, and from `.claude/settings.local.json` when that
147
- file is not tracked by git. They are never honored from a checked-in
149
+ file isn't tracked by git. They are never honored from a checked-in
148
150
  `.claude/settings.json`, which would let a repository approve its own
149
151
  servers.
150
152
 
@@ -154,7 +156,7 @@ stderr.
154
156
  ### Use MCP tools
155
157
 
156
158
  Each server's tools appear to the model as `mcp__<server>__<tool>` and load
157
- on demand, so a server with many tools does not bloat the prompt. Servers
159
+ on demand, so a server with many tools doesn't bloat the prompt. Servers
158
160
  also expose resources, which the model can list and read.
159
161
 
160
162
  A permission rule naming `mcp__<server>` covers every tool of that server.
@@ -1,5 +1,7 @@
1
1
  # Subagents and workflows
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code delegates work in two ways: subagents for tasks that deserve their
4
6
  own context window, and `ultracode` workflows for fanning a large job out
5
7
  across many agents at once.
@@ -33,7 +35,7 @@ the `explore` agent". What happens next:
33
35
  - **The run starts in the background.** The model receives a task id at
34
36
  once and keeps working. The subagent's report arrives as a notification
35
37
  when it finishes, mid-turn if the model is still busy, or as a new turn
36
- if it is idle. In a `-p` or `--mode json` run, the subagent runs to
38
+ if it's idle. In a `-p` or `--mode json` run, the subagent runs to
37
39
  completion instead and the report is returned inline.
38
40
  - **You can keep talking to the model** while agents run.
39
41
  - **Subagents go through your permission gate.** A subagent's tool calls
@@ -47,14 +49,14 @@ the `explore` agent". What happens next:
47
49
  Two options change how a subagent runs:
48
50
 
49
51
  - **Fork.** A forked subagent inherits the whole conversation so far, for a
50
- task that needs everything you have built up. Forks run on the main
52
+ task that needs everything you've built up. Forks run on the main
51
53
  model and can only be started from the main conversation. Depth is
52
54
  limited: the main conversation can start a subagent, and that subagent
53
55
  one more, but no further.
54
56
  - **Worktree isolation.** The subagent gets its own git worktree, branched
55
57
  from `HEAD`, so it can edit files without colliding with your working
56
58
  tree or other agents. A worktree the agent left unchanged is removed;
57
- otherwise it is kept and its path reported.
59
+ otherwise it's kept and its path reported.
58
60
 
59
61
  ### Choose the subagent model
60
62
 
@@ -90,7 +92,7 @@ agent.
90
92
  ### Follow agents live
91
93
 
92
94
  While agents run, the panel below the editor shows a tree: `main` first,
93
- then each agent with its type, what it is doing right now ("Reading
95
+ then each agent with its type, what it's doing right now ("Reading
94
96
  src/index.ts", "Running a command"), its elapsed time, and its token count.
95
97
  Nested agents appear under their parent. A finished agent stays for a few
96
98
  seconds.
@@ -125,23 +127,23 @@ JavaScript script that fans the work out across many agents in parallel,
125
127
  then runs it with the `workflow` tool.
126
128
 
127
129
  The keyword arms the turn it appears in. A message you queue while the
128
- model is still working does not arm the next turn. For a longer stretch of
130
+ model is still working doesn't arm the next turn. For a longer stretch of
129
131
  this kind of work, turn the mode on with `/effort ultracode`: it sets the
130
132
  reasoning effort to `xhigh` and keeps workflow orchestration armed until
131
- you change the effort again. The footer shows `✦ ultracode` while it is
133
+ you change the effort again. The footer shows `✦ ultracode` while it's
132
134
  armed.
133
135
 
134
136
  ### How a workflow runs
135
137
 
136
- - The script runs in a separate thread, so a runaway script cannot freeze
138
+ - The script runs in a separate thread, so a runaway script can't freeze
137
139
  the interface. A script that stops making progress is stopped after a
138
140
  few seconds; a run is capped at 30 minutes.
139
141
  - The run goes to the background and the model gets a run id. Progress
140
142
  shows in a strip below the editor (**↓** to focus it, **Enter** to open,
141
143
  **x** to stop) and in `/workflows`.
142
144
  - Every completed agent call is journaled. Re-running a workflow with
143
- `resumeFromRunId` replays the calls whose inputs did not change at no
144
- cost and runs only what differs. A background run does not survive the
145
+ `resumeFromRunId` replays the calls whose inputs didn't change at no
146
+ cost and runs only what differs. A background run doesn't survive the
145
147
  end of a session, but its journal does.
146
148
  - A script can carry an output-token target. Once the target is reached,
147
149
  new and queued agent calls stop; agents already running finish and can
@@ -183,11 +185,11 @@ the current run's script there.
183
185
  `/effort` sets how much reasoning the model spends: `off`, `minimal`,
184
186
  `low`, `medium`, `high`, `xhigh`, `max`, or `ultracode`. A bare `/effort`
185
187
  opens a slider (**←** and **→** or **h** and **l** move, **Enter** confirms).
186
- Levels the current model does not support are skipped. **shift+tab** cycles
188
+ Levels the current model doesn't support are skipped. **shift+tab** cycles
187
189
  the plain levels; cycling away from `xhigh` while ultracode is armed turns
188
190
  ultracode off.
189
191
 
190
192
  Changing the effort re-caches the conversation, so the next request costs
191
- more than usual. `/effort` does not save the level across restarts; to
193
+ more than usual. `/effort` doesn't save the level across restarts; to
192
194
  save one, open pi's `/thinking` picker and press **ctrl+s**, or pass
193
195
  `--thinking <level>` at launch.
@@ -1,5 +1,7 @@
1
1
  # Tasks and background work
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  One Code keeps long-running work out of the model's way. This page covers
4
6
  the structured task list, background shells, monitors, scheduled
5
7
  wake-ups, and how the results of background work reach the model.
@@ -22,8 +24,8 @@ summary line and up to 12 tasks: `✔` for completed, `◼` for in progress,
22
24
  | `/tasks show` | Shows it again. |
23
25
 
24
26
  The list is stored inside the session, so it survives a resume and follows
25
- the branch you are on in `/tree`. If the model has not touched the list for
26
- a while during a long task, it is reminded that the list exists.
27
+ the branch you're on in `/tree`. If the model hasn't touched the list for
28
+ a while during a long task, it's reminded that the list exists.
27
29
 
28
30
  ## Background shells
29
31
 
@@ -55,14 +57,14 @@ session is told which ones.
55
57
  The `monitor` tool watches a long-running command, or a WebSocket URL, and
56
58
  turns each line of output (or each message) into an event. Events are
57
59
  batched and delivered to the model as notifications: at most once a second
58
- while the model is idle, once every ten seconds while it is working, so a
59
- noisy process does not flood the conversation.
60
+ while the model is idle, once every ten seconds while it's working, so a
61
+ noisy process doesn't flood the conversation.
60
62
 
61
63
  A monitor runs until its command exits or its timeout passes (five minutes
62
64
  by default, one hour at most), or for the whole session when started as
63
65
  persistent. The model can stop it with `task_stop`.
64
66
 
65
- A monitor is not auto-approved, because it runs a shell command; the
67
+ A monitor isn't auto-approved, because it runs a shell command; the
66
68
  permission gate treats it like `bash`.
67
69
 
68
70
  ## Scheduled wake-ups and loops
@@ -77,7 +79,7 @@ permission gate treats it like `bash`.
77
79
  - **Self-paced.** `/loop watch the CI run` with no interval lets the model
78
80
  choose when to check next. It uses the `schedule_wakeup` tool, which
79
81
  schedules one wake-up at a time between one minute and one hour ahead.
80
- The model is told to pick a delay that matches what it is waiting for,
82
+ The model is told to pick a delay that matches what it's waiting for,
81
83
  and to stop the loop when the task is done.
82
84
 
83
85
  `/loop status` (or a bare `/loop`) reports the current loop. `/loop stop`
@@ -100,7 +102,7 @@ Background work reports back through notifications:
100
102
  merged into one message.
101
103
  - After you interrupt a turn, notifications are held and attached to your
102
104
  next prompt instead of starting a turn on their own.
103
- - Each notification is framed as an automated event, so the model does not
105
+ - Each notification is framed as an automated event, so the model doesn't
104
106
  mistake it for something you said or approved.
105
107
 
106
108
  ## Non-interactive runs
@@ -108,4 +110,4 @@ Background work reports back through notifications:
108
110
  In `-p` and `--mode json` runs nothing can run in the background, because
109
111
  the process exits when the turn settles. Background shells, monitors,
110
112
  subagents, and workflows run to completion and return their output
111
- directly. `/loop` and `schedule_wakeup` do not fire.
113
+ directly. `/loop` and `schedule_wakeup` don't fire.
@@ -1,5 +1,7 @@
1
1
  # The terminal interface
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  This page describes what you see on screen and how to move around it: the
4
6
  banner, the status line, the working indicator, the panels below the
5
7
  editor, the dialogs, and the themes.
@@ -70,8 +72,8 @@ Set `CC_FOOTER=0` to keep pi's footer.
70
72
  ## The panel below the editor
71
73
 
72
74
  One panel below the editor holds the background-shell manager and the
73
- live subagent tree. It appears when there is something to show and hides
74
- when there is not.
75
+ live subagent tree. It appears when there's something to show and hides
76
+ when there isn't.
75
77
 
76
78
  - Press **↓** from an empty editor to focus it. If background shells exist,
77
79
  the first **↓** lands on the shells chip; a second **↓** moves to the
@@ -85,7 +87,7 @@ when there is not.
85
87
  **Enter** closes the view.
86
88
 
87
89
  The panel's own footer names the keys that apply at each stage. Mouse-wheel
88
- scrolling is deliberately not enabled in the transcript view, because
90
+ scrolling deliberately isn't enabled in the transcript view, because
89
91
  turning on mouse reporting would take over the terminal's native scrolling
90
92
  and text selection for the whole session.
91
93
 
@@ -132,7 +134,7 @@ and [Plan mode](permissions-modes-and-auto-mode.md#plan-mode).
132
134
 
133
135
  **ctrl+c** closes any panel.
134
136
 
135
- PgUp and PgDn do not reach these panels in full-screen mode, because pi uses
137
+ PgUp and PgDn don't reach these panels in full-screen mode, because pi uses
136
138
  them for its own scrollback; use the keys the panel's footer names.
137
139
 
138
140
  ## Full-screen mode
@@ -1,6 +1,8 @@
1
1
  # Tools
2
2
 
3
- The model works by calling tools. You do not type tool names; you describe
3
+ [← One Code user guide](README.md)
4
+
5
+ The model works by calling tools. You don't type tool names; you describe
4
6
  the task and the model chooses. This page lists every tool One Code gives
5
7
  the model, what each does, what you see when it runs, and how Claude Code's
6
8
  tool names map onto them.
@@ -55,7 +57,7 @@ Some command shapes are refused before they run, with a message that steers
55
57
  the model to a better route:
56
58
 
57
59
  - A foreground command that starts with `sleep`, or a polling loop that
58
- sleeps, when the wait is not provably short. The model is told to use
60
+ sleeps, when the wait isn't provably short. The model is told to use
59
61
  `run_in_background` or `monitor` instead.
60
62
  - A command that would orphan a process (`nohup`, `setsid`, or a trailing
61
63
  `&` with no `wait`).
@@ -131,7 +133,7 @@ deferred until needed. `list_mcp_resources`, `read_mcp_resource`, and
131
133
 
132
134
  `tool_search` loads deferred tools. The model passes exact names
133
135
  (`select:monitor,task_output`), a required term (`+notebook`), or free
134
- keywords. If the model calls a tool it has not loaded yet, the call fails
136
+ keywords. If the model calls a tool it hasn't loaded yet, the call fails
135
137
  and the model is steered to `tool_search`.
136
138
 
137
139
  ## Behavior in non-interactive runs
@@ -1,5 +1,7 @@
1
1
  # Troubleshooting
2
2
 
3
+ [← One Code user guide](README.md)
4
+
3
5
  Symptoms you might hit, what causes them, and what to do.
4
6
 
5
7
  ## Start with the doctor
@@ -38,9 +40,9 @@ pins pi itself.
38
40
  pi it runs on are out of step. On the bundled app, reinstall it. On your own
39
41
  pi, run `pi update --extensions`.
40
42
 
41
- **The stock pi first-run wizard did not appear.** The bundled app seeds
43
+ **The stock pi first-run wizard didn't appear.** The bundled app seeds
42
44
  pi's settings with the One Code theme, quiet startup, and full-screen mode
43
- on first run, so there is nothing to ask.
45
+ on first run, so there's nothing to ask.
44
46
 
45
47
  ## Permissions
46
48
 
@@ -57,7 +59,7 @@ check `/permissions`: an `ask` rule prompts in every mode.
57
59
 
58
60
  **An allow rule I wrote has no effect in auto mode.** Broad execution rules
59
61
  (`Bash(*)`, wildcarded interpreters, delegation rules) are suspended in
60
- auto mode so they cannot bypass the classifier. Session grants from the
62
+ auto mode so they can't bypass the classifier. Session grants from the
61
63
  approval prompt are also ignored there. Narrow the rule or switch to
62
64
  accept-edits or manual mode.
63
65
 
@@ -66,7 +68,7 @@ may not select auto or bypass mode. Set it in `~/.claude/settings.json`
66
68
  or pass `--permission-mode auto`.
67
69
 
68
70
  **`defaultMode` in `~/.onecode/settings.json` does nothing.** The
69
- permission loader does not read that key from One Code's file. Use a Claude
71
+ permission loader doesn't read that key from One Code's file. Use a Claude
70
72
  Code settings file or the flag.
71
73
 
72
74
  **The model is denied a write to `.claude/settings.json`.** The auto-mode
@@ -80,12 +82,12 @@ allow rules, or use auto mode with a provider that can run the classifier.
80
82
  ## Auto-mode classifier
81
83
 
82
84
  **Actions are blocked with a message about the classifier being
83
- unavailable.** The classifier model could not be reached or returned
85
+ unavailable.** The classifier model couldn't be reached or returned
84
86
  nothing usable; the gate fails closed. Check `/auto-mode config` for the
85
87
  model in use, and `/doctor report` for provider credentials. Set
86
88
  `CC_AUTO_MODE_DEBUG=1` to see each verdict on stderr.
87
89
 
88
- **The classifier approves or blocks something it should not.** Choose a
90
+ **The classifier approves or blocks something it shouldn't.** Choose a
89
91
  stronger classifier with `/auto-mode model <provider/model-id>`. A
90
92
  Haiku-class classifier is a measurably weaker boundary than a Sonnet-class
91
93
  one.
@@ -122,7 +124,7 @@ to a rate-limited endpoint. Set `BRAVE_SEARCH_API_KEY` or
122
124
  `/doctor report` for install hints.
123
125
 
124
126
  **TypeScript diagnostics fail with a message about `lib/tsserver.js`.**
125
- TypeScript 7's native compiler does not ship that file, and
127
+ TypeScript 7's native compiler doesn't ship that file, and
126
128
  `typescript-language-server` needs it. Install a TypeScript 5.x development
127
129
  dependency in the project.
128
130
 
@@ -139,7 +141,7 @@ Authenticate. Tokens are stored under `~/.onecode/mcp-auth/`.
139
141
 
140
142
  ## Hooks
141
143
 
142
- **A project's hooks do not run.** They need one-time approval at startup.
144
+ **A project's hooks don't run.** They need one-time approval at startup.
143
145
  Restart the session and accept, or check
144
146
  `~/.onecode/hooks/project-approvals.json`.
145
147
 
@@ -152,10 +154,10 @@ Restart the session and accept, or check
152
154
  **My background shells are gone after `/clear`.** Background work ends
153
155
  with the session. The new session lists what was stopped.
154
156
 
155
- **A resumed session is in a different permission mode.** Modes are not
157
+ **A resumed session is in a different permission mode.** Modes aren't
156
158
  saved with the session. Pass `--permission-mode` or set a default.
157
159
 
158
- **The `/effort` level reset after a restart.** `/effort` does not save the
160
+ **The `/effort` level reset after a restart.** `/effort` doesn't save the
159
161
  level. Open pi's `/thinking` picker and press **ctrl+s** to save a startup
160
162
  default, or pass `--thinking <level>` at launch.
161
163
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one-code-extension",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "One Code as a pi package — the Claude Code experience on your own pi install: ported system prompt, Claude-Code-format permissions, .claude/ compatibility, ToolSearch-style deferred tools, and system-reminder steering. For the bundled app, install `@one-ai/one-code` instead.",
5
5
  "keywords": [
6
6
  "pi",