hcom 0.4.2.post3__tar.gz → 0.6.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.

hcom-0.6.0/MANIFEST.in ADDED
@@ -0,0 +1,17 @@
1
+ # Exclude development directories from source distribution
2
+ global-exclude __pycache__
3
+ global-exclude *.py[co]
4
+ prune test
5
+ prune tests
6
+ prune docs
7
+ prune dev
8
+ prune old
9
+ prune archive
10
+ prune prototypes
11
+ prune temp
12
+ prune plugin
13
+ prune scripts
14
+ prune reports
15
+ prune tui
16
+ prune todos
17
+ prune logs
hcom-0.6.0/PKG-INFO ADDED
@@ -0,0 +1,269 @@
1
+ Metadata-Version: 2.4
2
+ Name: hcom
3
+ Version: 0.6.0
4
+ Summary: Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks.
5
+ Author: aannoo
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/aannoo/claude-hook-comms
8
+ Project-URL: Repository, https://github.com/aannoo/claude-hook-comms
9
+ Project-URL: Issues, https://github.com/aannoo/claude-hook-comms/issues
10
+ Project-URL: Documentation, https://github.com/aannoo/claude-hook-comms#readme
11
+ Keywords: claude,claude-code,hooks,agents,cli,multi-agent,orchestration,terminal
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Operating System :: MacOS
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Topic :: Communications :: Chat
22
+ Classifier: Topic :: Software Development
23
+ Classifier: Topic :: System :: Monitoring
24
+ Classifier: Topic :: Terminals
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+
28
+ # hcom — Claude Hook Comms
29
+
30
+ [![PyPI - Version](https://img.shields.io/pypi/v/hcom)](https://pypi.org/project/hcom/)
31
+ [![PyPI - License](https://img.shields.io/pypi/l/hcom)](https://opensource.org/license/MIT) [![Python Version](https://img.shields.io/badge/python-3.10+-blue.svg)](https://python.org) [![DeepWiki](https://img.shields.io/badge/DeepWiki-aannoo%2Fclaude--hook--comms-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/aannoo/claude-hook-comms)
32
+
33
+ Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks.
34
+
35
+ ![Demo](https://raw.githubusercontent.com/aannoo/claude-hook-comms/main/screencapture.gif)
36
+
37
+ ## Start
38
+
39
+ #### Run without installing
40
+ ```bash
41
+ uvx hcom 2
42
+ ```
43
+
44
+ #### Install
45
+ ```bash
46
+ pip install hcom # or: uv tool install hcom
47
+ ```
48
+
49
+ #### Use
50
+ ```bash
51
+ hcom # UI - launch, monitor, message
52
+ claude 'run hcom start' # activate hcom for any claude code
53
+ ```
54
+
55
+
56
+ ## What it does
57
+
58
+ `hcom` adds hooks then launches terminals with Claude Code that remain active, waiting to respond to messages. Normal `claude` remains unaffected by hcom, but can opt-in/out with `hcom start`/`hcom stop`. Safely remove hcom hooks with `hcom reset`. Works on Mac, Linux, Windows, Android.
59
+
60
+
61
+ ## Commands
62
+
63
+ | Command | Description
64
+ |---------|-------------|
65
+ | `hcom` | Interactive dashboard |
66
+ | `hcom <n>` | Launch `n` instances |
67
+ | `hcom start` | Enable participation |
68
+ | `hcom stop` | Disable participation |
69
+
70
+
71
+ ## Examples
72
+
73
+ #### communicate with task tool subagents
74
+ ```bash
75
+ claude 'use 3x task tool with task: say hi in hcom chat'
76
+ # Each subagent gets unique identity and can communicate with siblings
77
+ # Parent resumes after Task completes with full conversation history
78
+ ```
79
+
80
+ #### persistent headless instances
81
+ ```bash
82
+ hcom 1 claude -p # launch with default 30min timeout
83
+ hcom # See what it's doing from dashboard
84
+ hcom stop # Let it die earlier than timeout
85
+ ```
86
+
87
+ #### .claude/agents in interactive claude window
88
+ ```bash
89
+ HCOM_AGENT=code-writer hcom 1
90
+ HCOM_AGENT=reviewer hcom 1
91
+ ```
92
+
93
+ #### @-mention: groups and direct
94
+ ```bash
95
+ HCOM_TAG=cooltag hcom 2
96
+ hcom send '@cooltag hi, you both are cool'
97
+ hcom send '@john you are cooler'
98
+ ```
99
+
100
+ #### toggle inside claude code
101
+ ```bash
102
+ claude # Normal Claude Code
103
+ 'run hcom start' # Opt-in to receive messages
104
+ 'run hcom stop' # Opt-out, continue as normal claude code
105
+ ```
106
+
107
+ ---
108
+
109
+ <details>
110
+ <summary><strong>All commands</strong></summary>
111
+
112
+
113
+ ```bash
114
+ Usage: hcom # UI
115
+ [ENV_VARS] hcom <COUNT> [claude <ARGS>...]
116
+ hcom watch [--logs|--status|--wait [SEC]]
117
+ hcom send "message"
118
+ hcom stop [alias|all]
119
+ hcom start [alias]
120
+ hcom reset [logs|hooks|config]
121
+
122
+ Launch Examples:
123
+ hcom 3 Open 3 terminals with claude connected to hcom
124
+ hcom 3 claude -p + Headless
125
+ HCOM_TAG=api hcom 3 claude -p + @-mention group tag
126
+ claude 'run hcom start' claude code with prompt will also work
127
+
128
+ Commands:
129
+ watch messaging/status/launch UI (same as hcom no args)
130
+ --logs Print all messages
131
+ --status Print instance status JSON
132
+ --wait [SEC] Wait and notify for new message
133
+
134
+ send "msg" Send message to all instances
135
+ send "@alias msg" Send to specific instance/group
136
+
137
+ stop Stop current instance (from inside Claude)
138
+ stop <alias> Stop specific instance
139
+ stop all Stop all instances
140
+
141
+ start Start current instance (from inside Claude)
142
+ start <alias> Start specific instance
143
+
144
+ reset Stop all + archive logs + remove hooks + clear config
145
+ reset logs Clear + archive conversation log
146
+ reset hooks Safely remove hcom hooks from claude settings.json
147
+ reset config Clear + backup config.env
148
+
149
+ Environment Variables:
150
+ HCOM_TAG=name Group tag (creates name-* instances)
151
+ HCOM_AGENT=type Agent type (comma-separated for multiple)
152
+ HCOM_TERMINAL=mode Terminal: new|here|print|"custom {script}"
153
+ HCOM_HINTS=text Text appended to all messages received by instance
154
+ HCOM_TIMEOUT=secs Time until disconnected from hcom chat (default 1800s / 30mins)
155
+ HCOM_SUBAGENT_TIMEOUT=secs Subagent idle timeout (default 30s)
156
+ HCOM_CLAUDE_ARGS=args Claude CLI defaults (e.g., '-p --model opus "hello!"')
157
+
158
+ ANTHROPIC_MODEL=opus # Any env var passed through to Claude Code
159
+
160
+ Persist Env Vars in `~/.hcom/config.env`
161
+ ```
162
+
163
+ ---
164
+
165
+ ### Requirements
166
+
167
+ - Python 3.10+
168
+ - Claude Code
169
+
170
+
171
+
172
+ </details>
173
+
174
+ ---
175
+
176
+ <details>
177
+ <summary><strong> Terminal Options</strong></summary>
178
+
179
+ ### Default Terminals
180
+
181
+ - **macOS**: Terminal.app
182
+ - **Linux**: gnome-terminal, konsole, or xterm
183
+ - **Windows (native) & WSL**: Windows Terminal / Git Bash
184
+ - **Android**: Termux
185
+
186
+ ### Terminal Mode
187
+
188
+ - `HCOM_TERMINAL=new` - New terminal windows (default)
189
+ - `HCOM_TERMINAL=here` - Current terminal window
190
+ - `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal
191
+
192
+
193
+ ### Custom Terminal
194
+
195
+ Your custom command just needs to:
196
+ 1. Accept `{script}` as a placeholder that will be replaced with a script path
197
+ 2. Execute that script with bash
198
+
199
+ ### Custom Terminal Examples
200
+
201
+ ##### [ttab](https://github.com/mklement0/ttab) (new tab instead of new window in Terminal.app)
202
+ ```bash
203
+ HCOM_TERMINAL="ttab {script}"
204
+ ```
205
+
206
+ ##### [wttab](https://github.com/lalilaloe/wttab) (new tab in Windows Terminal)
207
+ ```bash
208
+ HCOM_TERMINAL="wttab {script}"
209
+ ```
210
+
211
+ ##### More
212
+ ```bash
213
+ # Wave Terminal Mac/Linux/Windows. From within Wave Terminal:
214
+ HCOM_TERMINAL="wsh run -- bash {script}"
215
+
216
+ # Alacritty macOS:
217
+ HCOM_TERMINAL="open -n -a Alacritty.app --args -e bash {script}"
218
+
219
+ # Alacritty Linux:
220
+ HCOM_TERMINAL="alacritty -e bash {script}"
221
+
222
+ # Kitty macOS:
223
+ HCOM_TERMINAL="open -n -a kitty.app --args {script}"
224
+
225
+ # Kitty Linux
226
+ HCOM_TERMINAL="kitty {script}"
227
+
228
+ # tmux with split panes and 3 claude instances in hcom chat
229
+ HCOM_TERMINAL="tmux split-window -h {script}" hcom 3
230
+
231
+ # WezTerm Linux/Windows
232
+ HCOM_TERMINAL="wezterm start -- bash {script}"
233
+
234
+ # Tabs from within WezTerm
235
+ HCOM_TERMINAL="wezterm cli spawn -- bash {script}"
236
+
237
+ # WezTerm macOS:
238
+ HCOM_TERMINAL="open -n -a WezTerm.app --args start -- bash {script}"
239
+
240
+ # Tabs from within WezTerm macOS
241
+ HCOM_TERMINAL="/Applications/WezTerm.app/Contents/MacOS/wezterm cli spawn -- bash {script}"
242
+ ```
243
+
244
+ #### Android (Termux)
245
+
246
+ ```bash
247
+ #1. Install:
248
+ Termux from F-Droid (not Google Play)
249
+ #2. Setup:
250
+ pkg install python nodejs
251
+ npm install -g @anthropic-ai/claude-cli
252
+ pip install hcom
253
+ #3. Enable:
254
+ echo "allow-external-apps=true" >> ~/.termux/termux.properties
255
+ termux-reload-settings
256
+ #4. Enable:
257
+ "Display over other apps" permission for visible terminals
258
+ #5. Run:
259
+ `hcom 2`
260
+ ```
261
+
262
+ </details>
263
+
264
+ ---
265
+
266
+ ### License
267
+
268
+ MIT
269
+
hcom-0.6.0/README.md ADDED
@@ -0,0 +1,242 @@
1
+ # hcom — Claude Hook Comms
2
+
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/hcom)](https://pypi.org/project/hcom/)
4
+ [![PyPI - License](https://img.shields.io/pypi/l/hcom)](https://opensource.org/license/MIT) [![Python Version](https://img.shields.io/badge/python-3.10+-blue.svg)](https://python.org) [![DeepWiki](https://img.shields.io/badge/DeepWiki-aannoo%2Fclaude--hook--comms-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/aannoo/claude-hook-comms)
5
+
6
+ Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks.
7
+
8
+ ![Demo](https://raw.githubusercontent.com/aannoo/claude-hook-comms/main/screencapture.gif)
9
+
10
+ ## Start
11
+
12
+ #### Run without installing
13
+ ```bash
14
+ uvx hcom 2
15
+ ```
16
+
17
+ #### Install
18
+ ```bash
19
+ pip install hcom # or: uv tool install hcom
20
+ ```
21
+
22
+ #### Use
23
+ ```bash
24
+ hcom # UI - launch, monitor, message
25
+ claude 'run hcom start' # activate hcom for any claude code
26
+ ```
27
+
28
+
29
+ ## What it does
30
+
31
+ `hcom` adds hooks then launches terminals with Claude Code that remain active, waiting to respond to messages. Normal `claude` remains unaffected by hcom, but can opt-in/out with `hcom start`/`hcom stop`. Safely remove hcom hooks with `hcom reset`. Works on Mac, Linux, Windows, Android.
32
+
33
+
34
+ ## Commands
35
+
36
+ | Command | Description
37
+ |---------|-------------|
38
+ | `hcom` | Interactive dashboard |
39
+ | `hcom <n>` | Launch `n` instances |
40
+ | `hcom start` | Enable participation |
41
+ | `hcom stop` | Disable participation |
42
+
43
+
44
+ ## Examples
45
+
46
+ #### communicate with task tool subagents
47
+ ```bash
48
+ claude 'use 3x task tool with task: say hi in hcom chat'
49
+ # Each subagent gets unique identity and can communicate with siblings
50
+ # Parent resumes after Task completes with full conversation history
51
+ ```
52
+
53
+ #### persistent headless instances
54
+ ```bash
55
+ hcom 1 claude -p # launch with default 30min timeout
56
+ hcom # See what it's doing from dashboard
57
+ hcom stop # Let it die earlier than timeout
58
+ ```
59
+
60
+ #### .claude/agents in interactive claude window
61
+ ```bash
62
+ HCOM_AGENT=code-writer hcom 1
63
+ HCOM_AGENT=reviewer hcom 1
64
+ ```
65
+
66
+ #### @-mention: groups and direct
67
+ ```bash
68
+ HCOM_TAG=cooltag hcom 2
69
+ hcom send '@cooltag hi, you both are cool'
70
+ hcom send '@john you are cooler'
71
+ ```
72
+
73
+ #### toggle inside claude code
74
+ ```bash
75
+ claude # Normal Claude Code
76
+ 'run hcom start' # Opt-in to receive messages
77
+ 'run hcom stop' # Opt-out, continue as normal claude code
78
+ ```
79
+
80
+ ---
81
+
82
+ <details>
83
+ <summary><strong>All commands</strong></summary>
84
+
85
+
86
+ ```bash
87
+ Usage: hcom # UI
88
+ [ENV_VARS] hcom <COUNT> [claude <ARGS>...]
89
+ hcom watch [--logs|--status|--wait [SEC]]
90
+ hcom send "message"
91
+ hcom stop [alias|all]
92
+ hcom start [alias]
93
+ hcom reset [logs|hooks|config]
94
+
95
+ Launch Examples:
96
+ hcom 3 Open 3 terminals with claude connected to hcom
97
+ hcom 3 claude -p + Headless
98
+ HCOM_TAG=api hcom 3 claude -p + @-mention group tag
99
+ claude 'run hcom start' claude code with prompt will also work
100
+
101
+ Commands:
102
+ watch messaging/status/launch UI (same as hcom no args)
103
+ --logs Print all messages
104
+ --status Print instance status JSON
105
+ --wait [SEC] Wait and notify for new message
106
+
107
+ send "msg" Send message to all instances
108
+ send "@alias msg" Send to specific instance/group
109
+
110
+ stop Stop current instance (from inside Claude)
111
+ stop <alias> Stop specific instance
112
+ stop all Stop all instances
113
+
114
+ start Start current instance (from inside Claude)
115
+ start <alias> Start specific instance
116
+
117
+ reset Stop all + archive logs + remove hooks + clear config
118
+ reset logs Clear + archive conversation log
119
+ reset hooks Safely remove hcom hooks from claude settings.json
120
+ reset config Clear + backup config.env
121
+
122
+ Environment Variables:
123
+ HCOM_TAG=name Group tag (creates name-* instances)
124
+ HCOM_AGENT=type Agent type (comma-separated for multiple)
125
+ HCOM_TERMINAL=mode Terminal: new|here|print|"custom {script}"
126
+ HCOM_HINTS=text Text appended to all messages received by instance
127
+ HCOM_TIMEOUT=secs Time until disconnected from hcom chat (default 1800s / 30mins)
128
+ HCOM_SUBAGENT_TIMEOUT=secs Subagent idle timeout (default 30s)
129
+ HCOM_CLAUDE_ARGS=args Claude CLI defaults (e.g., '-p --model opus "hello!"')
130
+
131
+ ANTHROPIC_MODEL=opus # Any env var passed through to Claude Code
132
+
133
+ Persist Env Vars in `~/.hcom/config.env`
134
+ ```
135
+
136
+ ---
137
+
138
+ ### Requirements
139
+
140
+ - Python 3.10+
141
+ - Claude Code
142
+
143
+
144
+
145
+ </details>
146
+
147
+ ---
148
+
149
+ <details>
150
+ <summary><strong> Terminal Options</strong></summary>
151
+
152
+ ### Default Terminals
153
+
154
+ - **macOS**: Terminal.app
155
+ - **Linux**: gnome-terminal, konsole, or xterm
156
+ - **Windows (native) & WSL**: Windows Terminal / Git Bash
157
+ - **Android**: Termux
158
+
159
+ ### Terminal Mode
160
+
161
+ - `HCOM_TERMINAL=new` - New terminal windows (default)
162
+ - `HCOM_TERMINAL=here` - Current terminal window
163
+ - `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal
164
+
165
+
166
+ ### Custom Terminal
167
+
168
+ Your custom command just needs to:
169
+ 1. Accept `{script}` as a placeholder that will be replaced with a script path
170
+ 2. Execute that script with bash
171
+
172
+ ### Custom Terminal Examples
173
+
174
+ ##### [ttab](https://github.com/mklement0/ttab) (new tab instead of new window in Terminal.app)
175
+ ```bash
176
+ HCOM_TERMINAL="ttab {script}"
177
+ ```
178
+
179
+ ##### [wttab](https://github.com/lalilaloe/wttab) (new tab in Windows Terminal)
180
+ ```bash
181
+ HCOM_TERMINAL="wttab {script}"
182
+ ```
183
+
184
+ ##### More
185
+ ```bash
186
+ # Wave Terminal Mac/Linux/Windows. From within Wave Terminal:
187
+ HCOM_TERMINAL="wsh run -- bash {script}"
188
+
189
+ # Alacritty macOS:
190
+ HCOM_TERMINAL="open -n -a Alacritty.app --args -e bash {script}"
191
+
192
+ # Alacritty Linux:
193
+ HCOM_TERMINAL="alacritty -e bash {script}"
194
+
195
+ # Kitty macOS:
196
+ HCOM_TERMINAL="open -n -a kitty.app --args {script}"
197
+
198
+ # Kitty Linux
199
+ HCOM_TERMINAL="kitty {script}"
200
+
201
+ # tmux with split panes and 3 claude instances in hcom chat
202
+ HCOM_TERMINAL="tmux split-window -h {script}" hcom 3
203
+
204
+ # WezTerm Linux/Windows
205
+ HCOM_TERMINAL="wezterm start -- bash {script}"
206
+
207
+ # Tabs from within WezTerm
208
+ HCOM_TERMINAL="wezterm cli spawn -- bash {script}"
209
+
210
+ # WezTerm macOS:
211
+ HCOM_TERMINAL="open -n -a WezTerm.app --args start -- bash {script}"
212
+
213
+ # Tabs from within WezTerm macOS
214
+ HCOM_TERMINAL="/Applications/WezTerm.app/Contents/MacOS/wezterm cli spawn -- bash {script}"
215
+ ```
216
+
217
+ #### Android (Termux)
218
+
219
+ ```bash
220
+ #1. Install:
221
+ Termux from F-Droid (not Google Play)
222
+ #2. Setup:
223
+ pkg install python nodejs
224
+ npm install -g @anthropic-ai/claude-cli
225
+ pip install hcom
226
+ #3. Enable:
227
+ echo "allow-external-apps=true" >> ~/.termux/termux.properties
228
+ termux-reload-settings
229
+ #4. Enable:
230
+ "Display over other apps" permission for visible terminals
231
+ #5. Run:
232
+ `hcom 2`
233
+ ```
234
+
235
+ </details>
236
+
237
+ ---
238
+
239
+ ### License
240
+
241
+ MIT
242
+
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hcom"
7
- version = "0.4.2.post3"
8
- description = "CLI tool for launching multiple Claude Code terminals with interactive subagents, headless persistence, and real-time communication via hooks"
7
+ dynamic = ["version"]
8
+ description = "Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  license = "MIT"
@@ -37,7 +37,10 @@ Issues = "https://github.com/aannoo/claude-hook-comms/issues"
37
37
  Documentation = "https://github.com/aannoo/claude-hook-comms#readme"
38
38
 
39
39
  [tool.setuptools]
40
- package-dir = {"" = "src"}
40
+ packages = ["hcom"]
41
41
 
42
- [tool.setuptools.packages.find]
43
- where = ["src"]
42
+ [tool.setuptools.package-dir]
43
+ "" = "src"
44
+
45
+ [tool.setuptools.dynamic]
46
+ version = {attr = "hcom.shared.__version__"}
@@ -0,0 +1,3 @@
1
+ from .shared import __version__
2
+
3
+ __all__ = ["__version__"]
@@ -0,0 +1,4 @@
1
+ from .cli import main
2
+
3
+ if __name__ == "__main__":
4
+ raise SystemExit(main())