hcom 0.3.0__tar.gz → 0.4.0__tar.gz

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.

Potentially problematic release.


This version of hcom might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hcom
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: CLI tool for launching multiple Claude Code terminals with interactive subagents, headless persistence, and real-time communication via hooks
5
5
  Author: aannoo
6
6
  License-Expression: MIT
@@ -41,7 +41,7 @@ CLI tool for launching multiple Claude Code terminals with interactive [subagent
41
41
  uvx hcom open 2
42
42
  ```
43
43
 
44
- **Install** (optional)
44
+ **Install**
45
45
  ```bash
46
46
  pip install hcom
47
47
  hcom open 2
@@ -51,39 +51,40 @@ hcom open 2
51
51
  |---------|-------------|
52
52
  | `hcom open [n]` | Launch `n` instances or named agents |
53
53
  | `hcom watch` | View live dashboard and messaging |
54
- | `hcom clear` | Clear and start new conversation |
55
- | `hcom cleanup` | Safely remove hcom hooks, preserving your project settings |
54
+ | `hcom stop` | Disable hcom chat for instance |
55
+ | `hcom start` | Enable hcom chat for instance |
56
56
 
57
57
 
58
58
  ## 🦆 What It Does
59
59
 
60
- `hcom open` adds hooks to the `.claude/settings.local.json` file in the current folder and launches terminals with claude code that remain active, waiting to respond to messages in the shared chat. Normal Claude Code opened with `claude` remains unaffected by hcom.
60
+ `hcom open` adds hooks to the `.claude/settings.local.json` file in the current folder and launches terminals with claude code that remain active, waiting to respond to messages in the shared chat. Normal Claude Code opened with `claude` remains unaffected by hcom, but can opt-in via `hcom start` and opt-out with `hcom stop`.
61
61
 
62
- ### Subagents in their own terminal
62
+
63
+ ### Interactive subagents in their own terminal
63
64
  ```bash
64
65
  # Launch subagents from your .claude/agents
65
- hcom open planner code-writer reviewer
66
+ hcom open -a planner -a code-writer -a reviewer
66
67
  ```
67
68
 
68
69
  ### Persistent headless instances
69
70
  ```bash
70
71
  # Launch one headless instance (default 30min timeout)
71
72
  hcom open -p
73
+ hcom stop # Stop it earlier than timeout
72
74
  ```
73
75
 
74
76
  ### Groups and direct messages
75
77
  ```bash
76
- hcom open --prefix cool # Creates cool-hovoa7
77
- hcom open --prefix cool # Creates cool-homab8
78
+ hcom open 2 -t cool # Creates cool-hovoa7 & cool-homab8
78
79
  hcom send '@cool hi, you are cool'
79
80
  hcom send '@homab8 hi, you are cooler'
80
81
  ```
81
82
 
82
- ### Persistent thinking mode
83
+ ### Toggle HCOM in Claude Code
83
84
  ```bash
84
- # Thinking mode maintains for entire session
85
- HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
86
- # Every new message reply uses ultrathink
85
+ claude # Start normal Claude Code
86
+ 'run hcom start' # Start HCOM for this instance to receive messages
87
+ 'run hcom stop' # Stop HCOM for this instance, continue as normal claude code
87
88
  ```
88
89
 
89
90
  ---
@@ -107,26 +108,48 @@ HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
107
108
  <details>
108
109
  <summary><strong>🥨 All Commands</strong></summary>
109
110
 
110
-
111
- | Command | Description |
112
- |---------|-------------|
113
- | `hcom open [n]` | Launch n Claude instances (or named agents) |
114
- | `hcom open -p` | Launch headless process |
115
- | `hcom open --prefix <p> [n]` | Launch with `<p>` prefix (e.g., api-hova7) |
116
- | `hcom open --claude-args "..."` | Pass flags to Claude Code |
117
- | `hcom watch` | Conversation/status dashboard |
118
- | `hcom clear` | Clear and archive conversation |
119
- | `hcom cleanup` | Safely Remove HCOM hooks from current directory while preserving your settings (`--all` for all directories) |
120
- | `hcom kill [name]` | Kill specific instance (--all for all running instances) |
121
-
122
- ### Automation Commands
123
- | Command | Description |
124
- |---------|-------------|
125
- | `hcom send 'message'` | Send message to all instances |
126
- | `hcom send '@alias msg'` | Send to specific instances alias or prefix |
127
- | `hcom watch --logs` | View message log history (non-interactive) |
128
- | `hcom watch --status` | Show instance status as JSON (non-interactive) |
129
- | `hcom watch --wait [timeout]` | Wait and notify for new messages |
111
+ ```bash
112
+ Usage:
113
+ hcom open [count] [-a agent]... [-t prefix] [-p] [-- claude-args]
114
+ hcom watch [--logs|--status|--wait [SEC]]
115
+ hcom stop [target] [--force]
116
+ hcom start [target]
117
+ hcom send "msg"
118
+
119
+ Commands:
120
+ open Launch Claude instances (default count: 1)
121
+ watch Monitor conversation dashboard
122
+ stop Stop instances, clear conversation, or remove hooks
123
+ start Start stopped instances
124
+ send Send message to instances
125
+
126
+ Open options:
127
+ [count] Number of instances per agent (default 1)
128
+ -a, --agent AGENT Agent to launch (repeatable)
129
+ -t, --prefix PREFIX Team prefix for names
130
+ -p, --background Launch in background
131
+
132
+ Stop targets:
133
+ (no arg) Stop HCOM for current instance (when inside)
134
+ <alias> Stop HCOM for specific instance
135
+ all Stop all instances + clear & archive conversation
136
+ hooking Remove hooks from current directory
137
+ hooking --all Remove hooks from all tracked directories
138
+ everything Stop all + clear conversation + remove all hooks
139
+
140
+ Start targets:
141
+ (no arg) Start HCOM for current instance (when inside)
142
+ <alias> Start HCOM for specific instance
143
+ hooking Install hooks in current directory
144
+
145
+ Watch options:
146
+ --logs Show message history
147
+ --status Show instance status JSON
148
+ --wait [SEC] Wait for new messages (default 60s)
149
+
150
+ Stop flags:
151
+ --force Force stop (deny Bash tool use)
152
+ ```
130
153
 
131
154
  </details>
132
155
 
@@ -136,36 +159,28 @@ HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
136
159
  <summary><strong>🗿 Examples</strong></summary>
137
160
 
138
161
  ```bash
139
- # Instances can be privately @mentioned by alias or prefix
140
- hcom open --prefix cool # Creates cool-hovoa7
141
- hcom open --prefix cool # Creates cool-hovob8
142
- hcom open --prefix notcool # creates notcool-hovoc9
143
-
144
- # Send a targeted message in dashboard
145
- @notcool i think you smell good
146
- @cool that other guy is smelly
147
- @hovoa7 im lying about the smelly thing
148
-
149
- # Launch 3 headless instances that die after 60 seconds of inactivity
162
+ # Launch 3 headless instances that time out after 60 seconds of inactivity
150
163
  HCOM_WAIT_TIMEOUT="60" hcom open 3 -p
151
- # Manually kill all instances
152
- hcom kill --all
164
+ # Stop all instances
165
+ hcom stop all
153
166
 
154
167
  # Launch multiple of the same subagent
155
- hcom open reviewer reviewer reviewer
168
+ hcom open 3 -a reviewer
169
+
170
+ # Launch mixed agents with team prefix
171
+ hcom open -t api -a backend -a frontend
156
172
 
157
173
  # Launch agent with specific prompt
158
- HCOM_INITIAL_PROMPT='write tests' hcom open test-writer
174
+ HCOM_INITIAL_PROMPT='write tests' hcom open -a test-writer
159
175
 
160
176
  # Resume instance (hcom chat will continue)
161
- hcom open --claude-args "--resume session_id"
177
+ hcom open -- --resume session_id
162
178
 
163
179
  # Text appended to all messages recieved by instance
164
180
  HCOM_INSTANCE_HINTS="remember where you came from" hcom open
165
181
 
166
182
  # Pass multiple Claude flags
167
- hcom open orchestrator --claude-args "--model sonnet --resume session_id"
168
- ```
183
+ hcom open -a orchestrator -- --model sonnet --resume session_id
169
184
 
170
185
  </details>
171
186
 
@@ -237,8 +252,8 @@ When running `hcom watch`, each instance shows its current state:
237
252
  - ▷ **delivered** (cyan) - Just received a message
238
253
  - ◉ **waiting** (blue) - Waiting for messages
239
254
  - ■ **blocked** (yellow) - Permission request pending
240
- - ○ **inactive** (red) - Timed out/disconnected
241
- - ○ **unknown** (gray) - No status data
255
+ - ○ **inactive** (red) - Closed/timed out/ended
256
+ - ○ **unknown** (gray) - No status data or stale
242
257
  - **(bg)** suffix - Instance running in background headless mode
243
258
 
244
259
  </details>
@@ -250,7 +265,7 @@ When running `hcom watch`, each instance shows its current state:
250
265
 
251
266
  hcom adds hooks to your project directory's `.claude/settings.local.json`:
252
267
 
253
- 1. **Sending**: Claude agents use `$HCOM send "message"` internally (you use `hcom send` from terminal or dashboard)
268
+ 1. **Sending**: Claude uses `hcom send "message"` to communicate
254
269
  2. **Receiving**: Other Claudes get notified via Stop hook or immediate delivery after sending
255
270
  3. **Waiting**: Stop hook keeps Claude in a waiting state for new messages
256
271
 
@@ -261,7 +276,7 @@ hcom adds hooks to your project directory's `.claude/settings.local.json`:
261
276
 
262
277
  ### Architecture
263
278
  - **Single conversation** - All instances share one global conversation
264
- - **Opt-in participation** - Only Claude Code instances launched with `hcom open` join the chat
279
+ - **Opt-in participation** - Only Claude code instances launched with `hcom open` join automatically, normal instances can use `hcom start`/`stop`
265
280
  - **@-mention filtering** - Target messages to specific instances or teams
266
281
 
267
282
  ### File Structure
@@ -407,26 +422,31 @@ HCOM_TERMINAL_COMMAND="tmux split-window -h {script}" hcom open 3
407
422
 
408
423
  ### Archive Conversation / Start New
409
424
  ```bash
410
- hcom clear
425
+ hcom stop all
411
426
  ```
412
427
 
413
- ### Kill Running Instances
428
+ ### Stop Running Instances
414
429
  ```bash
415
- # Kill specific instance
416
- hcom kill hovoa7
430
+ # Stop specific instance
431
+ hcom stop hovoa7
417
432
 
418
- # Kill all instances
419
- hcom kill --all
433
+ # Stop all and archive
434
+ hcom stop all
420
435
  ```
421
436
 
422
- ### Remove HCOM hooks from current directory
437
+ ### Start Stopped Instances
423
438
  ```bash
424
- hcom cleanup
439
+ # Start specific instance
440
+ hcom start hovoa7
425
441
  ```
426
442
 
427
- ### Remove HCOM hooks from all directories
443
+ ### Remove HCOM hooks
428
444
  ```bash
429
- hcom cleanup --all
445
+ # Current directory
446
+ hcom stop hooking
447
+
448
+ # All directories
449
+ hcom stop hooking --all
430
450
  ```
431
451
 
432
452
  ### Remove hcom Completely
@@ -14,7 +14,7 @@ CLI tool for launching multiple Claude Code terminals with interactive [subagent
14
14
  uvx hcom open 2
15
15
  ```
16
16
 
17
- **Install** (optional)
17
+ **Install**
18
18
  ```bash
19
19
  pip install hcom
20
20
  hcom open 2
@@ -24,39 +24,40 @@ hcom open 2
24
24
  |---------|-------------|
25
25
  | `hcom open [n]` | Launch `n` instances or named agents |
26
26
  | `hcom watch` | View live dashboard and messaging |
27
- | `hcom clear` | Clear and start new conversation |
28
- | `hcom cleanup` | Safely remove hcom hooks, preserving your project settings |
27
+ | `hcom stop` | Disable hcom chat for instance |
28
+ | `hcom start` | Enable hcom chat for instance |
29
29
 
30
30
 
31
31
  ## 🦆 What It Does
32
32
 
33
- `hcom open` adds hooks to the `.claude/settings.local.json` file in the current folder and launches terminals with claude code that remain active, waiting to respond to messages in the shared chat. Normal Claude Code opened with `claude` remains unaffected by hcom.
33
+ `hcom open` adds hooks to the `.claude/settings.local.json` file in the current folder and launches terminals with claude code that remain active, waiting to respond to messages in the shared chat. Normal Claude Code opened with `claude` remains unaffected by hcom, but can opt-in via `hcom start` and opt-out with `hcom stop`.
34
34
 
35
- ### Subagents in their own terminal
35
+
36
+ ### Interactive subagents in their own terminal
36
37
  ```bash
37
38
  # Launch subagents from your .claude/agents
38
- hcom open planner code-writer reviewer
39
+ hcom open -a planner -a code-writer -a reviewer
39
40
  ```
40
41
 
41
42
  ### Persistent headless instances
42
43
  ```bash
43
44
  # Launch one headless instance (default 30min timeout)
44
45
  hcom open -p
46
+ hcom stop # Stop it earlier than timeout
45
47
  ```
46
48
 
47
49
  ### Groups and direct messages
48
50
  ```bash
49
- hcom open --prefix cool # Creates cool-hovoa7
50
- hcom open --prefix cool # Creates cool-homab8
51
+ hcom open 2 -t cool # Creates cool-hovoa7 & cool-homab8
51
52
  hcom send '@cool hi, you are cool'
52
53
  hcom send '@homab8 hi, you are cooler'
53
54
  ```
54
55
 
55
- ### Persistent thinking mode
56
+ ### Toggle HCOM in Claude Code
56
57
  ```bash
57
- # Thinking mode maintains for entire session
58
- HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
59
- # Every new message reply uses ultrathink
58
+ claude # Start normal Claude Code
59
+ 'run hcom start' # Start HCOM for this instance to receive messages
60
+ 'run hcom stop' # Stop HCOM for this instance, continue as normal claude code
60
61
  ```
61
62
 
62
63
  ---
@@ -80,26 +81,48 @@ HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
80
81
  <details>
81
82
  <summary><strong>🥨 All Commands</strong></summary>
82
83
 
83
-
84
- | Command | Description |
85
- |---------|-------------|
86
- | `hcom open [n]` | Launch n Claude instances (or named agents) |
87
- | `hcom open -p` | Launch headless process |
88
- | `hcom open --prefix <p> [n]` | Launch with `<p>` prefix (e.g., api-hova7) |
89
- | `hcom open --claude-args "..."` | Pass flags to Claude Code |
90
- | `hcom watch` | Conversation/status dashboard |
91
- | `hcom clear` | Clear and archive conversation |
92
- | `hcom cleanup` | Safely Remove HCOM hooks from current directory while preserving your settings (`--all` for all directories) |
93
- | `hcom kill [name]` | Kill specific instance (--all for all running instances) |
94
-
95
- ### Automation Commands
96
- | Command | Description |
97
- |---------|-------------|
98
- | `hcom send 'message'` | Send message to all instances |
99
- | `hcom send '@alias msg'` | Send to specific instances alias or prefix |
100
- | `hcom watch --logs` | View message log history (non-interactive) |
101
- | `hcom watch --status` | Show instance status as JSON (non-interactive) |
102
- | `hcom watch --wait [timeout]` | Wait and notify for new messages |
84
+ ```bash
85
+ Usage:
86
+ hcom open [count] [-a agent]... [-t prefix] [-p] [-- claude-args]
87
+ hcom watch [--logs|--status|--wait [SEC]]
88
+ hcom stop [target] [--force]
89
+ hcom start [target]
90
+ hcom send "msg"
91
+
92
+ Commands:
93
+ open Launch Claude instances (default count: 1)
94
+ watch Monitor conversation dashboard
95
+ stop Stop instances, clear conversation, or remove hooks
96
+ start Start stopped instances
97
+ send Send message to instances
98
+
99
+ Open options:
100
+ [count] Number of instances per agent (default 1)
101
+ -a, --agent AGENT Agent to launch (repeatable)
102
+ -t, --prefix PREFIX Team prefix for names
103
+ -p, --background Launch in background
104
+
105
+ Stop targets:
106
+ (no arg) Stop HCOM for current instance (when inside)
107
+ <alias> Stop HCOM for specific instance
108
+ all Stop all instances + clear & archive conversation
109
+ hooking Remove hooks from current directory
110
+ hooking --all Remove hooks from all tracked directories
111
+ everything Stop all + clear conversation + remove all hooks
112
+
113
+ Start targets:
114
+ (no arg) Start HCOM for current instance (when inside)
115
+ <alias> Start HCOM for specific instance
116
+ hooking Install hooks in current directory
117
+
118
+ Watch options:
119
+ --logs Show message history
120
+ --status Show instance status JSON
121
+ --wait [SEC] Wait for new messages (default 60s)
122
+
123
+ Stop flags:
124
+ --force Force stop (deny Bash tool use)
125
+ ```
103
126
 
104
127
  </details>
105
128
 
@@ -109,36 +132,28 @@ HCOM_INITIAL_PROMPT="ultrathink and do x" hcom open
109
132
  <summary><strong>🗿 Examples</strong></summary>
110
133
 
111
134
  ```bash
112
- # Instances can be privately @mentioned by alias or prefix
113
- hcom open --prefix cool # Creates cool-hovoa7
114
- hcom open --prefix cool # Creates cool-hovob8
115
- hcom open --prefix notcool # creates notcool-hovoc9
116
-
117
- # Send a targeted message in dashboard
118
- @notcool i think you smell good
119
- @cool that other guy is smelly
120
- @hovoa7 im lying about the smelly thing
121
-
122
- # Launch 3 headless instances that die after 60 seconds of inactivity
135
+ # Launch 3 headless instances that time out after 60 seconds of inactivity
123
136
  HCOM_WAIT_TIMEOUT="60" hcom open 3 -p
124
- # Manually kill all instances
125
- hcom kill --all
137
+ # Stop all instances
138
+ hcom stop all
126
139
 
127
140
  # Launch multiple of the same subagent
128
- hcom open reviewer reviewer reviewer
141
+ hcom open 3 -a reviewer
142
+
143
+ # Launch mixed agents with team prefix
144
+ hcom open -t api -a backend -a frontend
129
145
 
130
146
  # Launch agent with specific prompt
131
- HCOM_INITIAL_PROMPT='write tests' hcom open test-writer
147
+ HCOM_INITIAL_PROMPT='write tests' hcom open -a test-writer
132
148
 
133
149
  # Resume instance (hcom chat will continue)
134
- hcom open --claude-args "--resume session_id"
150
+ hcom open -- --resume session_id
135
151
 
136
152
  # Text appended to all messages recieved by instance
137
153
  HCOM_INSTANCE_HINTS="remember where you came from" hcom open
138
154
 
139
155
  # Pass multiple Claude flags
140
- hcom open orchestrator --claude-args "--model sonnet --resume session_id"
141
- ```
156
+ hcom open -a orchestrator -- --model sonnet --resume session_id
142
157
 
143
158
  </details>
144
159
 
@@ -210,8 +225,8 @@ When running `hcom watch`, each instance shows its current state:
210
225
  - ▷ **delivered** (cyan) - Just received a message
211
226
  - ◉ **waiting** (blue) - Waiting for messages
212
227
  - ■ **blocked** (yellow) - Permission request pending
213
- - ○ **inactive** (red) - Timed out/disconnected
214
- - ○ **unknown** (gray) - No status data
228
+ - ○ **inactive** (red) - Closed/timed out/ended
229
+ - ○ **unknown** (gray) - No status data or stale
215
230
  - **(bg)** suffix - Instance running in background headless mode
216
231
 
217
232
  </details>
@@ -223,7 +238,7 @@ When running `hcom watch`, each instance shows its current state:
223
238
 
224
239
  hcom adds hooks to your project directory's `.claude/settings.local.json`:
225
240
 
226
- 1. **Sending**: Claude agents use `$HCOM send "message"` internally (you use `hcom send` from terminal or dashboard)
241
+ 1. **Sending**: Claude uses `hcom send "message"` to communicate
227
242
  2. **Receiving**: Other Claudes get notified via Stop hook or immediate delivery after sending
228
243
  3. **Waiting**: Stop hook keeps Claude in a waiting state for new messages
229
244
 
@@ -234,7 +249,7 @@ hcom adds hooks to your project directory's `.claude/settings.local.json`:
234
249
 
235
250
  ### Architecture
236
251
  - **Single conversation** - All instances share one global conversation
237
- - **Opt-in participation** - Only Claude Code instances launched with `hcom open` join the chat
252
+ - **Opt-in participation** - Only Claude code instances launched with `hcom open` join automatically, normal instances can use `hcom start`/`stop`
238
253
  - **@-mention filtering** - Target messages to specific instances or teams
239
254
 
240
255
  ### File Structure
@@ -380,26 +395,31 @@ HCOM_TERMINAL_COMMAND="tmux split-window -h {script}" hcom open 3
380
395
 
381
396
  ### Archive Conversation / Start New
382
397
  ```bash
383
- hcom clear
398
+ hcom stop all
384
399
  ```
385
400
 
386
- ### Kill Running Instances
401
+ ### Stop Running Instances
387
402
  ```bash
388
- # Kill specific instance
389
- hcom kill hovoa7
403
+ # Stop specific instance
404
+ hcom stop hovoa7
390
405
 
391
- # Kill all instances
392
- hcom kill --all
406
+ # Stop all and archive
407
+ hcom stop all
393
408
  ```
394
409
 
395
- ### Remove HCOM hooks from current directory
410
+ ### Start Stopped Instances
396
411
  ```bash
397
- hcom cleanup
412
+ # Start specific instance
413
+ hcom start hovoa7
398
414
  ```
399
415
 
400
- ### Remove HCOM hooks from all directories
416
+ ### Remove HCOM hooks
401
417
  ```bash
402
- hcom cleanup --all
418
+ # Current directory
419
+ hcom stop hooking
420
+
421
+ # All directories
422
+ hcom stop hooking --all
403
423
  ```
404
424
 
405
425
  ### Remove hcom Completely
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hcom"
7
- version = "0.3.0"
7
+ version = "0.4.0"
8
8
  description = "CLI tool for launching multiple Claude Code terminals with interactive subagents, headless persistence, and real-time communication via hooks"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """Claude Hook Comms - Real-time messaging between Claude Code agents."""
2
2
 
3
- __version__ = "0.3.0"
3
+ __version__ = "0.4.0"