command-code 1.74.1 → 1.74.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # command-code
2
2
 
3
+ ## 1.74.3
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: `/share` points to `/export` while link sharing is rebuilt
8
+
9
+ ## 1.74.2
10
+
11
+ ### Patch Changes
12
+
13
+ - chore: retire the two free stealth preview models, Space Bunny Alpha and Pixel Canary
14
+
3
15
  ## 1.74.1
4
16
 
5
17
  ### Patch Changes
@@ -276,7 +276,7 @@ The `model` field takes any id you'd pass to `/model`. To find one:
276
276
 
277
277
  Use ids exactly as `--list-models` prints them. Examples: `claude-opus-4-8`, `claude-sonnet-5`, `claude-haiku-4-5`, `moonshotai/kimi-k2.6`, `zai-org/glm-5.2`.
278
278
 
279
- Omitting `model` is the same as `model: inherit` - the agent follows the session's `/model`. Pinning a model gives the agent its own prompt cache, so a slow planner and a fast implementer don't thrash each other's.
279
+ Omitting `model` is the same as `model: inherit` - the agent follows the model the conversation is running on: the session's `/model`, or the [planning or implementation model](https://commandcode.ai/docs/settings#planning-and-implementation-models) while one is active. Pinning a model gives the agent its own prompt cache, so a slow planner and a fast implementer don't thrash each other's.
280
280
 
281
281
  ### Reasoning effort
282
282
 
@@ -34,7 +34,7 @@ Every built-in command, grouped by area. Aliases are shown in parentheses on the
34
34
  | `/rewind` | Restore to a previous checkpoint (press Esc twice) |
35
35
  | `/session-file` | Show the current session id and session file path |
36
36
  | `/export [html\|jsonl\|md]` or `/export <path>` | Export the session - a bare format keyword or a file path; HTML is the default format |
37
- | `/share [gist [html\|jsonl\|md]]` | Share the conversation - bare `/share` copies a link; `/share gist` posts a secret GitHub gist |
37
+ | `/share [gist [html\|jsonl\|md]]` | `/share gist` posts a secret GitHub gist; bare `/share` is being rebuilt and points to `/export` |
38
38
  | `/unshare` | Stop sharing conversation |
39
39
  | `/exit` (`/quit`) | Exit Command Code |
40
40
  | `/reload` | Restart Command Code and resume this session (applies a staged update) |
@@ -75,7 +75,7 @@ Every built-in command, grouped by area. Aliases are shown in parentheses on the
75
75
 
76
76
  | **Command** | **Description** |
77
77
  | ----------------- | ---------------------------------------------------------------------------------------- |
78
- | `/model [id]` | Switch between Command Code models - `/model <id>` applies directly, bare opens a picker |
78
+ | `/model [id]` | Switch between Command Code models - `/model <id>` applies directly, bare opens a picker. For a separate model while planning and after approving, see [planning and implementation models](https://commandcode.ai/docs/settings#planning-and-implementation-models) |
79
79
  | `/effort [level]` | Set reasoning effort for the current model (levels depend on the model) |
80
80
  | `/connect` | Connect to AI providers. Command Code, [BYOK providers](./byok.md) and API keys |
81
81
  | `/login` | Log in to Command Code or a provider |
@@ -142,7 +142,7 @@ Every built-in command, grouped by area. Aliases are shown in parentheses on the
142
142
 
143
143
  ### Commands with meaningful default actions when bare
144
144
 
145
- Some optional-argument commands do something useful with no argument instead of opening a picker: bare `/share` creates a share link, bare `/import` imports from all detected sources, bare `/export` exports in the default format, bare `/goal` (or `/goal status`) shows the current goal, bare `/name` shows the current session name, and bare `/plan` enters plan mode without a task.
145
+ Some optional-argument commands do something useful with no argument instead of opening a picker: bare `/import` imports from all detected sources, bare `/export` exports in the default format, bare `/goal` (or `/goal status`) shows the current goal, bare `/name` shows the current session name, and bare `/plan` enters plan mode without a task.
146
146
 
147
147
  ### Safe while the agent is busy
148
148
 
@@ -56,11 +56,6 @@ The model catalog — every id `/model`, `--model`, `model:effort` shorthand, an
56
56
  | `poolside/laguna-s-2.1-free` | Laguna S 2.1 | 256K | — | $0/$0 · cache $0 | Go and above | open-weight agentic coding and long-horizon work |
57
57
  | `inclusionai/ling-3.0-flash-sante:free` | Ling 3.0 Flash Sante | 262K | — | $0/$0 · cache $0 | Go and above | health & medicine tuned lightweight-MoE, still strong on code |
58
58
  | `inclusionai/ling-3.1-flash:free` | Ling 3.1 Flash | 262K | low, medium, high | $0/$0 · cache $0 | Go and above | hybrid-reasoning MoE for coding & tool-using agents |
59
- ## Stealth
60
-
61
- | Id (use EXACTLY this) | Name | Context | Efforts | $/1M in/out · cache read | Min plan | Best for |
62
- |---|---|---|---|---|---|---|
63
- | `stealth/space-bunny-alpha` | Space Bunny Alpha | 1M | low, medium, high, max | $0/$0 · cache $0 | Go and above | stealth model with 1M context |
64
59
  ## Anthropic
65
60
 
66
61
  | Id (use EXACTLY this) | Name | Context | Efforts | $/1M in/out · cache read | Min plan | Best for |
@@ -67,6 +67,32 @@ The usual loop: start in **plan**, explore and agree on the approach, approve th
67
67
 
68
68
  ---
69
69
 
70
+ ## A model for each phase
71
+
72
+ Planning and implementing want different things: a strong reasoner to explore and design, a fast, cheap coder to grind through the edits. Set a **planning** and an **implementation** model and Command Code switches between them for you:
73
+
74
+ - **Planning** runs while the session is in plan mode: exploring the codebase and writing the plan.
75
+ - **Implementation** takes over the moment you approve the plan, mid-run, on the very next turn.
76
+
77
+ ```json
78
+ {
79
+ "featureModels": {
80
+ "planning": "zai-org/glm-5.3",
81
+ "implementation": "deepseek/deepseek-v4-pro"
82
+ }
83
+ }
84
+ ```
85
+
86
+ Put that in `~/.commandcode/config.json` or any `settings.json` layer, or pick them in `/config` → **Feature models** → **Planning** / **Implementation**. Both are optional; an unset one runs on your session model.
87
+
88
+ The status row shows which phase you are in, `planning: GLM-5.3` then `implementing: DeepSeek V4 Pro (latest)`, and approving posts `Plan handoff — now implementing with deepseek-v4-pro.` Leaving plan mode **without** approving (`shift+tab`, `/mode:default`, or `/mode:accept-edits`) keeps you on the session model, and picking anything with `/model` stands both lanes down until the next planning round.
89
+
90
+ **Planning and implementation models**
91
+ When each lane applies, how it interacts with `/model`, `/effort`, and
92
+ sub-agents, and what happens when a lane's model isn't on your plan.
93
+
94
+ ---
95
+
70
96
  ## Plan review
71
97
 
72
98
  Plan review turns a plan into a first-class, persistent artifact you can read, comment on, revise, and approve, instead of a block of text that scrolls away.
@@ -174,7 +200,7 @@ Trigger a verb by chord from anywhere, or arrow onto it and press `Enter`.
174
200
  | Verb | Chord | What it does |
175
201
  |------|-------|--------------|
176
202
  | **Submit review** | `ctrl+r` | The agent takes your pending comments, revises the plan, and re-presents it for another round. Only shown when you have pending comments. |
177
- | **Approve** *(approval surface)* | `ctrl+a` | Executes the plan and begins implementation. |
203
+ | **Approve** *(approval surface)* | `ctrl+a` | Executes the plan and begins implementation, on your [implementation model](#a-model-for-each-phase) if one is set. |
178
204
  | **Execute plan** *(browser surface)* | `ctrl+e` | Executes the plan as written; from the `/plans` browser this is itself an approval. |
179
205
  | **Cancel** / **Back** | `esc` | Ends the review. In plan mode the plan stays saved and you keep refining; from the browser it returns to the list. |
180
206
 
@@ -253,4 +279,5 @@ Because a canceled plan is recorded rather than discarded, planning never feels
253
279
 
254
280
  - [Permissions](./permissions.md): the rule syntax and decision model behind every mode.
255
281
  - [Checkpoints](./sessions.md): rewind after an approved plan is implemented.
282
+ - [Planning and implementation models](https://commandcode.ai/docs/settings#planning-and-implementation-models): the full rules for the per-phase models.
256
283
  - [Tools](./tools.md) and [Slash Commands](./custom-slash-commands.md): the full references.
@@ -26,7 +26,7 @@
26
26
  - /tree: Browse the session tree and jump to any point in it
27
27
  - /clear (new): Start a new session with empty context; previous stays on disk, resumable with /resume (/new is the same command)
28
28
  - /theme: Switch between dark and light themes
29
- - /share [gist]: Share conversation — /share [gist [html|jsonl|md]]
29
+ - /share [gist]: Share as a GitHub gist — /share gist [html|jsonl|md] (link sharing is being rebuilt, use /export)
30
30
  - /unshare: Stop sharing conversation
31
31
  - /taste: Manage Taste learning and usage
32
32
  - /learn-taste: Learn taste from sessions with other coding agents (Claude Code, Cursor, etc)
@@ -335,8 +335,6 @@ Valid model ids (the /model catalog — use these EXACT ids):
335
335
  - poolside/laguna-s-2.1-free
336
336
  - inclusionai/ling-3.0-flash-sante:free
337
337
  - inclusionai/ling-3.1-flash:free
338
- - stealth/space-bunny-alpha
339
- - stealth/pixel-canary
340
338
  A BYO-provider id (from a configured custom provider) also works and is passed through as-is.
341
339
 
342
340
  WHEN THE USER ASKS YOU TO CREATE AN AGENT (e.g. "make a changelog agent with a cheap model"):
@@ -277,21 +277,9 @@ Disable it entirely in `settings.json`:
277
277
 
278
278
  ## Sharing and exporting
279
279
 
280
- ### `/share`: live share link
280
+ ### `/share`: being rebuilt
281
281
 
282
- ```bash
283
- # In Command Code session
284
- /share
285
- ```
286
-
287
- `/share` uploads the conversation, copies a share URL to your clipboard, and keeps the shared page **live**: every turn committed after sharing is streamed to the link automatically. Resuming a previously shared session re-arms the live updates. Run `/share` again to re-copy the existing link.
288
-
289
- ```bash
290
- # In Command Code session
291
- /unshare
292
- ```
293
-
294
- `/unshare` deletes the share and stops the live updates.
282
+ Link sharing is being rebuilt. Bare `/share` prints "Share is being rebuilt, use /export" and creates no link. Use `/export` (below) to save the session to a file, or `/share gist` below to post it to GitHub.
295
283
 
296
284
  ### `/share gist`: GitHub gist
297
285
 
@@ -376,7 +364,7 @@ When the conversation approaches the context limit, Command Code compacts histor
376
364
  - **Use `/clone` to tidy up:** After heavy rewinding, `/clone` extracts just the branch you kept into a clean new session.
377
365
  - **Label important points in `/tree`:** Labels survive forks and make long trees navigable.
378
366
  - **Let the scratchpad absorb clutter:** Ask for throwaway scripts and intermediate outputs in the scratchpad: no permission prompts, no files polluting your repo, and it's cleaned up automatically.
379
- - **`/share` before pairing:** The link updates live as the session continues, so a teammate can follow along in real time.
367
+ - **`/share gist` before pairing:** Post the session as a secret gist so a teammate can read what you've tried.
380
368
  - **Grab `/trace` when something breaks:** The trace id is what support needs, it's copyable mid-turn, and past ids survive a resume.
381
369
 
382
370
  ---