hcom 0.4.2.post3__py3-none-any.whl → 0.6.0__py3-none-any.whl

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.

@@ -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
+
@@ -0,0 +1,10 @@
1
+ hcom/__init__.py,sha256=GHkAED8LWM0g1-mfMAE53eTcq88N7Cw60-fwkwDb7uA,59
2
+ hcom/__main__.py,sha256=MHKZ_ae3fSLGTLUUMOx15fWdeOnJSHhq-zslRP5F5Lc,79
3
+ hcom/cli.py,sha256=O3tm_TIERHVSQJ0zmj-vxw3MCK8b1PmeKR0_1bakpcY,188748
4
+ hcom/shared.py,sha256=ybybljQuBtoN7J-fESuEOnAogzkSw0DM7_PmOjHLK-A,32793
5
+ hcom/ui.py,sha256=uEAzSVZz_ly_WdFY6sQp_8kOaW1jLfGNLAXlgZswEDI,132352
6
+ hcom-0.6.0.dist-info/METADATA,sha256=IgtFNC8H5BEzOH7VlGsh0QCKXkyj2TsfL___3XwEPsY,9239
7
+ hcom-0.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
+ hcom-0.6.0.dist-info/entry_points.txt,sha256=cz9K9PsgYmORUxNKxVRrpxLS3cxRJcDZkE-PpfvOhI8,44
9
+ hcom-0.6.0.dist-info/top_level.txt,sha256=8AS1nVUWA26vxjDQ5viRxgJnwSvUWk1W6GP4g6ldZ-0,5
10
+ hcom-0.6.0.dist-info/RECORD,,