You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 23ecb69
Browse filesBrowse the repository at this point in the historyBrowse files
Default subscriptions no longer skip a project channel the realm lacks, so a
new project's first seat creates its channel under the full name. The bot name
alone stays capped at twelve characters.
Copy file name to clipboardExpand all lines: clients/claude-code/README.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ process env inheritance:
60
60
| Env var | Required | Format | Purpose |
61
61
|---|---|---|---|
62
62
|`COMMY_BOT_NAME`| no |`<role>` or `<rig>-<agent>` (see `docs/naming.md`) |**Persistent mode.** Stable identity to acquire eagerly at boot — concierges, scheduled skills, anything that needs to be DM-able from the moment the plugin starts. Boot fails non-zero on acquire rejection. Omit for ephemeral mode (next rows). |
63
-
| `COMMY_PROJECT` | no | project slug (lowercase, `[a-z0-9-]` post-sanitise) | Identifies the calling project for two purposes: (1) **Ephemeral mode, operator override.** Force every minted name to embed this project tag — `cc-<project>-<8>` rather than the per-session value. When unset (the normal case under Claude Code), the project is derived **per attribution call** from the calling session's cwd (hook-injected): git remote origin basename → git root basename → `undefined` (bare `cc-<8>`). The env value, when set, wins over per-call derivation. (2) **Persistent mode (project concierge), Type-1 boot-time defaults.** Post-acquire the plugin registers `new-topics:<project>` + `<project>/general` so the concierge sees first-message-per-new-topic and project broadcast traffic. When unset, or when the realm has no channel by that name, the project-specific defaults are skipped rather than creating the channel, leaving no narrows registered; mentions of the bot still arrive, because they need no narrow. See `docs/naming.md` for the full precedence and sanitisation rules. |
63
+
|`COMMY_PROJECT`| no | project slug (lowercase, `[a-z0-9-]` post-sanitise) | Identifies the calling project for two purposes: (1) **Ephemeral mode, operator override.** Force every minted name to embed this project tag — `cc-<project>-<8>` rather than the per-session value. When unset (the normal case under Claude Code), the project is derived **per attribution call** from the calling session's cwd (hook-injected): git remote origin basename → git root basename → `undefined` (bare `cc-<8>`). The env value, when set, wins over per-call derivation. (2) **Persistent mode (project concierge), Type-1 boot-time defaults.** Post-acquire the plugin registers `new-topics:<project>` + `<project>/general` so the concierge sees first-message-per-new-topic and project broadcast traffic. When unset the project-specific defaults are skipped, leaving no narrows registered; mentions of the bot still arrive, because they need no narrow. See `docs/naming.md` for the full precedence and sanitisation rules. |
64
64
65
65
### Eager vs lazy boot, in one diagram
66
66
@@ -73,8 +73,7 @@ parseEnv → buildAdapter →
73
73
│ post-acquire register Type-1 defaults:
74
74
│ `new-topics:<project>` +
75
75
│ `<project>/general` if
76
-
│ COMMY_PROJECT is set and the realm
77
-
│ has that channel (none if not —
76
+
│ COMMY_PROJECT is set (none if not —
78
77
│ mentions arrive without a narrow)
79
78
│
80
79
└── else → ephemeral 1-slot cache →
@@ -89,7 +88,7 @@ parseEnv → buildAdapter →
89
88
the next attribution. Each fresh slot's
90
89
onAcquire hook registers the Type-2 default:
91
90
per-project `<project>/general`
92
-
when known and the channel exists.
91
+
when known.
93
92
│
94
93
▼
95
94
subscribeFromEnv → registerTools → connect transport →
0 commit comments