command-code 1.82.0 → 1.82.2

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,18 @@
1
1
  # command-code
2
2
 
3
+ ## 1.82.2
4
+
5
+ ### Patch Changes
6
+
7
+ - feat: retire ling 3.1 flash free
8
+ - feat: Add todo checklist as a built-in mod, disabled by default
9
+
10
+ ## 1.82.1
11
+
12
+ ### Patch Changes
13
+
14
+ - refactor: remove language selection from CLI onboarding
15
+
3
16
  ## 1.82.0
4
17
 
5
18
  ### Minor Changes
@@ -61,7 +61,7 @@ Every built-in command, grouped by area. Aliases are shown in parentheses on the
61
61
  | `/plans [name]` | Browse, review, and annotate saved plans; bare `/plans` opens the browser |
62
62
  | `/plan-review` | Open this session's latest plan in review |
63
63
  | `/goal <objective>\|clear\|status` | Set an objective for the agent to work towards autonomously |
64
- | `/todos` | Manage the session todo list - `c` completes the selected item, `x` removes it, `a` clears the list |
64
+ | `/todos` | Manage the session todo list (needs the `todos` mod: `cmd mods enable todos`) |
65
65
  | `/review [pr-number]` | Review a pull request |
66
66
  | `/pr-comments` | Fetch all PR comments for current branch |
67
67
 
@@ -151,7 +151,7 @@ Most commands are **blocked mid-turn** - mode flips, session switches, model cha
151
151
  - `/trace` - capture the live trace id of the running turn (its main purpose)
152
152
  - `/session-file` - read-only session facts
153
153
  - `/copy` - clipboard only
154
- - `/todos` (also `ctrl+x`) - edits local todo state, most useful mid-turn while a plan is being driven
154
+ - `/todos` (also `ctrl+x`) - edits local todo state, most useful mid-turn while a plan is being driven (needs the `todos` mod enabled)
155
155
  - `/exit` / `/quit` - always available
156
156
  - `/goal clear` - stops the goal loop; the current step finishes, then the loop stops. Setting a **new** goal mid-turn is refused with a busy notice.
157
157
 
@@ -100,7 +100,7 @@ cmd -p "..." --tools-all
100
100
  CMD_TOOLS_ALL_ENABLE=true cmd -p "..."
101
101
 
102
102
  # Only enable the ones you name (comma-separated, repeatable)
103
- cmd -p "..." --tools-enable ask_user_question,todo_write
103
+ cmd -p "..." --tools-enable ask_user_question
104
104
  CMD_TOOLS_ASK_USER_QUESTION_ENABLE=true cmd -p "..."
105
105
  ```
106
106
 
@@ -55,7 +55,7 @@ The model catalog — every id `/model`, `--model`, `model:effort` shorthand, an
55
55
  | `thinkingmachines/inkling-small` | Inkling Small | 1M | — | $0.5/$1.2 · cache $0.1 | Go and above | lightweight MoE reasoning at lower cost and latency |
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
- | `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 |
58
+ | `inclusionai/ling-3.1-flash` | Ling 3.1 Flash | 262K | low, medium, high | $0.3/$0.9 · cache $0.06 | Go and above | hybrid-reasoning MoE for coding & tool-using agents |
59
59
  | `mistral/mistral-large-4` | Mistral Large 4 | 524K | low, medium, high | $1.36/$4.18 · cache $0.14 | Go and above | frontier open-weight multimodal model for coding & analysis |
60
60
  ## Stealth
61
61
 
@@ -54,7 +54,7 @@
54
54
  - /export [path]: Export session — /export [html|jsonl|md] or a file path
55
55
  - /changelog: See what's new in Command Code
56
56
  - /hotkeys: Show all keyboard shortcuts
57
- - /todos: Manage the session todo list — x to remove an item, c to clear
57
+ - /todos: Manage the session todo list — c completes an item, x removes it, a completes all (needs the `todos` mod: `cmd mods enable todos`)
58
58
  - /loop [interval] [task]: Re-run a task on fixed intervals, or let the agent pace itself
59
59
  - /rc: Remote-control this session from Telegram or Discord
60
60
  - /plan [task]: Enter plan mode; `/plan <task>` plans that task
@@ -342,7 +342,7 @@ Valid model ids (the /model catalog — use these EXACT ids):
342
342
  - nvidia/nemotron-3-ultra-550b-a55b
343
343
  - poolside/laguna-s-2.1-free
344
344
  - inclusionai/ling-3.0-flash-sante:free
345
- - inclusionai/ling-3.1-flash:free
345
+ - inclusionai/ling-3.1-flash
346
346
  - stealth/glyph-cluster:free
347
347
  A BYO-provider id (from a configured custom provider) also works and is passed through as-is.
348
348
 
@@ -228,8 +228,29 @@ Resolves ports to pids via `lsof` (or `Get-NetTCPConnection` on Windows), reconc
228
228
 
229
229
  ## Work state & task management
230
230
 
231
+ ### `task_create` / `task_update` / `task_list` / `task_get`
232
+
233
+ A durable, dependency-aware task ledger for coordination-heavy work - tasks persist across restarts with stable ids, three states, owners, metadata, and `blockedBy`/`blocks` edges.
234
+
235
+ - **`task_create`** - `subject` (required), `description` (required), `activeForm`, `blockedBy`, `blocks`, `metadata`.
236
+ - **`task_update`** - `taskId` (required), `status` (`pending` | `in_progress` | `completed` | `deleted`), `subject`, `description`, `activeForm`, `owner`, `metadata` (merge; null deletes a key), `addBlockedBy` / `addBlocks` / `removeBlockedBy` / `removeBlocks`. Completing a task reports which tasks it unblocked.
237
+ - **`task_list`** - optional `status` filter; shows unresolved blockers and a tally.
238
+ - **`task_get`** - `taskId` (required); full detail.
239
+
240
+ All four are plan-safe - capturing a plan as tasks *is* planning.
241
+
242
+ ### `task_output` (alias)
243
+
244
+ Retired into `shell_output`. Calls to this name still work: they run as `shell_output` with `wait: "exit"` carried, so "block until the task settles" keeps its meaning. Use `shell_output` directly in new work.
245
+
246
+ ### `task_stop`
247
+
248
+ Stop a tracked background task by `taskId`. Signals the whole process group, flips the registry state, and distinguishes "unknown id" from "already finished."
249
+
231
250
  ### `todo_write`
232
251
 
252
+ Provided by the opt-in `todos` built-in mod, which is **disabled by default** - enable it with `cmd mods enable todos` (`-g` for user scope) and it appears on the next session or `/reload`. While the mod is disabled the model never sees this tool.
253
+
233
254
  The session checklist - the same list you manage with `/todos` and see in the TODOS panel.
234
255
 
235
256
  | Parameter | Type | Required | Description |
@@ -286,25 +307,6 @@ A single edit in a single place. The agent makes it.
286
307
 
287
308
  One command, immediate result. A checklist around it adds a panel and no information.
288
309
 
289
- ### `task_create` / `task_update` / `task_list` / `task_get`
290
-
291
- A durable, dependency-aware task ledger for coordination-heavy work - tasks persist across restarts with stable ids, three states, owners, metadata, and `blockedBy`/`blocks` edges.
292
-
293
- - **`task_create`** - `subject` (required), `description` (required), `activeForm`, `blockedBy`, `blocks`, `metadata`.
294
- - **`task_update`** - `taskId` (required), `status` (`pending` | `in_progress` | `completed` | `deleted`), `subject`, `description`, `activeForm`, `owner`, `metadata` (merge; null deletes a key), `addBlockedBy` / `addBlocks` / `removeBlockedBy` / `removeBlocks`. Completing a task reports which tasks it unblocked.
295
- - **`task_list`** - optional `status` filter; shows unresolved blockers and a tally.
296
- - **`task_get`** - `taskId` (required); full detail.
297
-
298
- All four are plan-safe - capturing a plan as tasks *is* planning.
299
-
300
- ### `task_output` (alias)
301
-
302
- Retired into `shell_output`. Calls to this name still work: they run as `shell_output` with `wait: "exit"` carried, so "block until the task settles" keeps its meaning. Use `shell_output` directly in new work.
303
-
304
- ### `task_stop`
305
-
306
- Stop a tracked background task by `taskId`. Signals the whole process group, flips the registry state, and distinguishes "unknown id" from "already finished."
307
-
308
310
  ---
309
311
 
310
312
  ## Scheduling & waiting
@@ -188,10 +188,10 @@ Command Code's own features ride this exact API. First-party providers (`provide
188
188
  {"mods": {"disabled": ["provider-copilot", "update-notice", "titling", "learning"]}}
189
189
  ```
190
190
 
191
- A built-in can also ship **opt-in** - off by default; `cmd mods list --builtin` marks it `off by default`. Enable mods with `cmd mods enable <name>` (project level; `-g` for the user level), which adds it to the `enabled` key in the settings file:
191
+ Some built-ins are **opt-in** and are disabled by default; `cmd mods list --builtin` marks them `disabled by default`. The session todo checklist (`todo_write`, the TODOS panel, `/todos`, `ctrl+x`) is the `todos` mod: enable it with `cmd mods enable todos` (project level; `-g` for the user level), which adds it to the `enabled` key in the settings file:
192
192
 
193
193
  ```json
194
- {"mods": {"enabled": ["<name>"]}}
194
+ {"mods": {"enabled": ["todos"]}}
195
195
  ```
196
196
 
197
197
  `cmd mods disable <name>` disables the mod. A disable in any settings file wins and keeps the mod disabled. The change takes effect on the next session or `/reload`; see [Enable/Disable a mod](https://commandcode.ai/docs/mods#enabledisable-a-mod).
@@ -119,10 +119,10 @@ cmd mods disable review-guard # disable in this project
119
119
  cmd mods enable review-guard -g # enable at the user level
120
120
  ```
121
121
 
122
- They work for discovered files, installed packages, and the disable-able built-ins (`provider-copilot`, `update-notice`, `titling`, `learning` etc). The `cmd mods disable` command adds the name to `mods.disabled`; `cmd mods enable` removes it from there and, for an opt-in built-in, adds it to `mods.enabled`:
122
+ They work for discovered files, installed packages, and the disable-able built-ins (`provider-copilot`, `update-notice`, `titling`, `learning` etc). The `cmd mods disable` command adds the name to `mods.disabled`; `cmd mods enable` removes it from there and, for an opt-in built-in such as `todos`, adds it to `mods.enabled`:
123
123
 
124
124
  ```json
125
- {"mods": {"disabled": ["review-guard"], "enabled": ["<opt-in-built-in>"]}}
125
+ {"mods": {"disabled": ["review-guard"], "enabled": ["todos"]}}
126
126
  ```
127
127
 
128
128
  Disabling a mod anywhere will keep a mod disabled. Command Code reads the user, project, and project-local (`.commandcode/settings.local.json`) settings file, and a `mods.disabled` entry in any of them keeps the mod off, even when another file enables it. So when another settings file still disables the mod you enable, the command does not report success: it names that file, gives the one fix, and exits 1 so a script's `&&` chain stops:
@@ -136,7 +136,7 @@ $ cmd mods enable review-guard
136
136
 
137
137
  A disable in `settings.local.json` has to be removed by hand; no command writes to that file.
138
138
 
139
- **A project you have not used yet:** Project settings are read only once Command Code has run in that project, the same gate project mods follow. Enabling or disabling there still saves the setting, which applies once you start Command Code in the project; use `-g` to apply it at the user level right away.
139
+ **A project you have not used yet:** Project settings are read only once Command Code has run in that project, the same gate project mods follow. Enabling or disabling there still saves the setting, which applies once you start Command Code in the project; use `-g` to apply it at the user level right away. `cmd mods list --builtin` marks a built-in whose state changes then, for example `enabled · disabled once you start Command Code here`.
140
140
 
141
141
  ## Trust and safety
142
142