command-code 1.71.0 → 1.72.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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # command-code
2
2
 
3
+ ## 1.72.1
4
+
5
+ ### Patch Changes
6
+
7
+ - feat: update byok packages
8
+
9
+ ## 1.72.0
10
+
11
+ ### Minor Changes
12
+
13
+ - feat: add `cmd mods enable <name>` / `cmd mods disable <name>` to enable/disable mods
14
+ - feat: /rc to remote control the session from Telegram and Discord
15
+
3
16
  ## 1.71.0
4
17
 
5
18
  ### Minor Changes
@@ -90,6 +90,7 @@ Every built-in command, grouped by area. Aliases are shown in parentheses on the
90
90
  | `/mcp` | Manage MCP server connections |
91
91
  | `/design [mode]` | Design partner: audit, build, compose, and ship UI - bare `/design` browses modes |
92
92
  | `/loop [interval] [task]` | Run a task now, then repeat it on a fixed or self-paced schedule ([details](https://commandcode.ai/docs/loop)) |
93
+ | `/rc [mode\|off\|status]` | Drive this session from Telegram or Discord ([details](https://commandcode.ai/docs/rc)) |
93
94
  | `/import [claude\|codex\|cursor\|pi\|opencode\|gemini]` | Import your setup from another coding agent; bare `/import` imports from all sources |
94
95
  | `/taste` | Manage Taste learning and usage |
95
96
  | `/learn-taste` | Learn taste from sessions with other coding agents (Claude Code, Cursor, etc) |
@@ -164,6 +165,10 @@ Most other commands - `/clear`, `/mode`, `/plan`, `/model`, `/compact`, `/worktr
164
165
 
165
166
  `/loop <interval> <task>` runs the task now and repeats it on a fixed cadence such as `5m`, `2h`, `1d`, or a trailing `every 2 hours`. `/loop <task>` runs it now and lets the agent pick each next delay, between one minute and one hour. Bare `/loop` runs the default maintenance task, which a `.commandcode/loop.md` file replaces. Esc cancels the conversation's loops. The [`/loop`](https://commandcode.ai/docs/loop) page has the normalization rules, `loop.md`, and resume behavior.
166
167
 
168
+ ### `/rc` in detail
169
+
170
+ Bare `/rc` opens the picker: platform, setup, permission mode. `/rc default`, `/rc auto-accept` and `/rc yolo` connect straight into a mode. `/rc status` reports what is on, `/rc off` disconnects, and `/rc off clear` also deletes the bot's own messages. `/rc` is refused when the model asks for it and when it arrives from the chat, so the bot cannot change its own token or allowlist. See [`/rc`](https://commandcode.ai/docs/rc) for setup and what the chat can send.
171
+
167
172
  ---
168
173
 
169
174
  ## Custom slash commands
@@ -55,6 +55,7 @@
55
55
  - /hotkeys: Show all keyboard shortcuts
56
56
  - /todos: Manage the session todo list — x to remove an item, c to clear
57
57
  - /loop [interval] [task]: Re-run a task on fixed intervals, or let the agent pace itself
58
+ - /rc: Remote-control this session from Telegram or Discord
58
59
  - /plan [task]: Enter plan mode; `/plan <task>` plans that task
59
60
  - /mode [name]: Show or switch the permission mode — /mode [default|accept-edits|plan]
60
61
  - /mode:default: Switch to default mode (prompt before edits/commands)
@@ -188,6 +188,14 @@ 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:
192
+
193
+ ```json
194
+ {"mods": {"enabled": ["<name>"]}}
195
+ ```
196
+
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).
198
+
191
199
  Built-in mods always win a name collision against a discovered mod of the same name (the loader shadows the file with a warning), and they are compiled in - never jiti-loaded from a writable path, so they are not supply-chain surface. Structural harness mods (workspace, compaction, checkpoints) are load-bearing for correctness and stay unconditional; only the observer-style built-ins above are disable-able.
192
200
 
193
201
  ---
@@ -16,6 +16,8 @@ cmd mods list # alias: cmd mods ls
16
16
  cmd mods update # reinstall missing, reconcile pinned refs (alias: up)
17
17
  cmd mods remove owner/repo # alias: cmd mods rm
18
18
  cmd mods remove fun-stuff # by the name `mods list` prints
19
+ cmd mods enable <name> # enable a mod; -g for user level
20
+ cmd mods disable <name> # disable a mod; -g for user level
19
21
  cmd mods open # open the mods dir (project); --user for ~
20
22
  ```
21
23
 
@@ -64,13 +66,33 @@ A `mods.sources` entry can be the object form to load only part of a package:
64
66
 
65
67
  Four pattern kinds, applied in precedence order: `-path` force-exclude (exact, beats everything) → `+path` force-include (exact, restores what globs dropped) → `!glob` exclude → plain-glob include (when any includes exist, an entry must match one). Patterns match the entry's package-relative path or its mod name. `cmd mods add` / `remove` preserve hand-written object entries - they never flatten your filters.
66
68
 
67
- ## Disabling without deleting
69
+ ## Enable/Disable a mod
70
+
71
+ `cmd mods disable <name>` disables a mod without removing it, and `cmd mods enable <name>` enables it again. Both write the project level (`.commandcode/settings.json`) by default, or the user level (`~/.commandcode/settings.json`) with `-g` flag, and take effect on the next session or `/reload`:
72
+
73
+ ```bash
74
+ cmd mods disable review-guard # disable in this project
75
+ cmd mods enable review-guard -g # enable at the user level
76
+ ```
77
+
78
+ 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`:
68
79
 
69
80
  ```json
70
- {"mods": {"disabled": ["review-guard"]}}
81
+ {"mods": {"disabled": ["review-guard"], "enabled": ["<opt-in-built-in>"]}}
71
82
  ```
72
83
 
73
- Works for discovered files, installed packages, and the disable-able built-ins (`provider-copilot`, `update-notice`, `titling`, `learning`).
84
+ 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:
85
+
86
+ ```bash
87
+ $ cmd mods enable review-guard
88
+ ⚠ review-guard is still disabled
89
+ Your user settings (~/.commandcode/settings.json) disable it.
90
+ To enable it at the user level, run: cmd mods enable review-guard -g
91
+ ```
92
+
93
+ A disable in `settings.local.json` has to be removed by hand; no command writes to that file.
94
+
95
+ **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.
74
96
 
75
97
  ## Trust and safety
76
98