hcom 0.2.0__py3-none-any.whl → 0.2.1__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.

@@ -1,348 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: hcom
3
- Version: 0.2.0
4
- Summary: Lightweight CLI tool for real-time communication between Claude Code subagents using hooks
5
- Author-email: aannoo <your@email.com>
6
- License: 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
- Keywords: claude,claude-code,hooks,agents,cli,multi-agent-orchestration
11
- Classifier: Development Status :: 4 - Beta
12
- Classifier: Intended Audience :: Developers
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.6
17
- Classifier: Programming Language :: Python :: 3.7
18
- Classifier: Programming Language :: Python :: 3.8
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Programming Language :: Python :: 3.12
23
- Classifier: Topic :: Software Development
24
- Classifier: Topic :: System :: Shells
25
- Classifier: Topic :: Communications
26
- Requires-Python: >=3.6
27
- Description-Content-Type: text/markdown
28
-
29
- # hcom - Claude Hook Comms
30
-
31
- Lightweight CLI tool for real-time communication between Claude Code [subagents](https://docs.anthropic.com/en/docs/claude-code/sub-agents) using [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks).
32
-
33
- ## 🦆 What It Does
34
-
35
- Creates a group chat where you and multiple interactive Claude Code subagents can communicate with each other across different folders on your computer. Works on Mac, Linux, and Windows with zero dependencies.
36
-
37
- ![Claude Hook Comms Example](https://raw.githubusercontent.com/aannoo/claude-hook-comms/main/screenshot.jpg)
38
-
39
- ## 🦷 Features
40
-
41
- - **Multi-Terminal Launch** - Launch Claude Code subagents in new terminals
42
- - **Live Dashboard** - Real-time monitoring of all instances
43
- - **Multi-Agent Communication** - Claude instances talk to each other across projects
44
- - **@Mention Targeting** - Send messages to specific subagents or teams
45
- - **Zero Dependencies** - Pure Python stdlib, works everywhere
46
-
47
- ## 🎪 Quick Start
48
-
49
- ### Use Without Installing
50
- ```bash
51
- # Launch 3 default Claude instances connected to group chat
52
- uvx hcom open 3
53
-
54
- # Launch researcher and code-writer from your .claude/agents
55
- uvx hcom open researcher code-writer
56
-
57
- # View/send messages in dashboard
58
- uvx hcom watch
59
- ```
60
-
61
- ### Install
62
-
63
- ```bash
64
- # uv
65
- uv tool install hcom
66
- # or pip
67
- pip install hcom
68
- # then use with:
69
- hcom open
70
- ```
71
-
72
-
73
- ## 🦐 Requirements
74
-
75
- - Python 3.6+
76
- - [Claude Code](https://claude.ai/code)
77
-
78
-
79
- ## 🗿 More Examples
80
-
81
- ```bash
82
- # Launch 2 generic instances + 2 specific agents
83
- hcom open 2 backend-coder frontend-coder
84
-
85
- # Launch multiple of the same agent
86
- hcom open reviewer reviewer reviewer # 3 separate reviewers
87
-
88
- # Launch instances as background processes (no terminal window, managed with 'hcom kill')
89
- hcom open --background
90
- hcom open -p 2 code-writer # -p is shorthand for --background
91
-
92
- # Launch agent with specific prompt
93
- HCOM_INITIAL_PROMPT='write tests' hcom open test-writer
94
-
95
- # Resume instance (hcom chat will continue)
96
- hcom open --claude-args "--resume session_id" # get session_id from hcom watch
97
-
98
- # Pass multiple Claude flags
99
- hcom open orchestrator --claude-args "--model sonnet --resume session_id"
100
-
101
- # Launch in specific directories
102
- cd backend && hcom open api-specialist
103
- cd ../frontend && hcom open ui-specialist
104
-
105
- # Create named teams that can be @mentioned
106
- cd ~/api && hcom open --prefix api debugger # Creates api-hovoa7
107
- cd ~/auth && hcom open --prefix auth debugger # Creates auth-hovob8
108
-
109
- # Message specific teams or instances
110
- hcom send "@api login works but API fails" # Messages all api-* instances
111
- hcom send "@hovoa7 can you check this?" # Message specific instance by name
112
- ```
113
-
114
-
115
- ## 🥨 Commands
116
-
117
- | Command | Description |
118
- |---------|-------------|
119
- | `hcom open [n]` | Launch n Claude instances (or named agents) |
120
- | `hcom open -p` | Launch instances as background processes |
121
- | `hcom watch` | Conversation/status dashboard |
122
- | `hcom clear` | Clear and archive conversation |
123
- | `hcom cleanup` | Remove HCOM hooks from current directory |
124
- | `hcom kill [name]` | Kill specific instance or all with --all |
125
-
126
- ### Automation Commands
127
- | Command | Description |
128
- |---------|-------------|
129
- | `hcom send 'message'` | Send message to chat |
130
- | `hcom watch --logs` | View message history (non-interactive) |
131
- | `hcom watch --status` | Show instance status (non-interactive) |
132
- | `hcom watch --wait [timeout]` | Wait and notify for new messages |
133
-
134
- ---
135
-
136
- <details>
137
- <summary><strong>🦖 Configuration</strong></summary>
138
-
139
- ### Configuration
140
-
141
- Settings can be changed two ways:
142
-
143
- #### Method 1: Environment variable (temporary, per-command/instance)
144
-
145
-
146
- ```bash
147
- HCOM_INSTANCE_HINTS="always update chat with progress" hcom open nice-subagent-but-not-great-with-updates
148
- ```
149
-
150
- #### Method 2: Config file (persistent, affects all instances)
151
-
152
- ### Config File Location
153
-
154
- `~/.hcom/config.json`
155
-
156
- | Setting | Default | Environment Variable | Description |
157
- |---------|---------|---------------------|-------------|
158
- | `wait_timeout` | 1800 | `HCOM_WAIT_TIMEOUT` | How long instances wait for messages (seconds) |
159
- | `max_message_size` | 4096 | `HCOM_MAX_MESSAGE_SIZE` | Maximum message length |
160
- | `max_messages_per_delivery` | 50 | `HCOM_MAX_MESSAGES_PER_DELIVERY` | Messages delivered per batch |
161
- | `sender_name` | "bigboss" | `HCOM_SENDER_NAME` | Your name in chat |
162
- | `sender_emoji` | "🐳" | `HCOM_SENDER_EMOJI` | Your emoji icon |
163
- | `initial_prompt` | "Say hi in chat" | `HCOM_INITIAL_PROMPT` | What new instances are told to do |
164
- | `first_use_text` | "Essential, concise messages only" | `HCOM_FIRST_USE_TEXT` | Welcome message for instances |
165
- | `terminal_mode` | "new_window" | `HCOM_TERMINAL_MODE` | How to launch terminals ("new_window", "same_terminal", "show_commands") |
166
- | `terminal_command` | null | `HCOM_TERMINAL_COMMAND` | Custom terminal command (see Terminal Options) |
167
- | `cli_hints` | "" | `HCOM_CLI_HINTS` | Extra text added to CLI outputs |
168
- | `instance_hints` | "" | `HCOM_INSTANCE_HINTS` | Extra text added to instance messages |
169
- | `env_overrides` | {} | - | Additional environment variables for Claude Code |
170
-
171
- ### Examples
172
-
173
- ```bash
174
- # Change your name for one command
175
- HCOM_SENDER_NAME="coolguy" hcom send "LGTM!"
176
-
177
- # Make instances timeout after 60 seconds instead of 30 minutes
178
- HCOM_WAIT_TIMEOUT=60 hcom open 3
179
-
180
- # Custom welcome message
181
- HCOM_FIRST_USE_TEXT="Debug session for issue #123" hcom open 2
182
-
183
- # Bigger messages
184
- HCOM_MAX_MESSAGE_SIZE=8192 hcom send "$(cat long_report.txt)"
185
- ```
186
-
187
- ### Status Indicators
188
- - ◉ **thinking** (cyan) - Processing input
189
- - ▷ **responding** (green) - Generating text response
190
- - ▶ **executing** (green) - Running tools
191
- - ◉ **waiting** (blue) - Waiting for messages
192
- - ■ **blocked** (yellow) - Permission blocked
193
- - ○ **inactive** (red) - Timed out/dead
194
- - **(bg)** suffix - Instance running in background mode
195
-
196
- </details>
197
-
198
- <details>
199
- <summary><strong>🎲 How It Works</strong></summary>
200
-
201
- ### Hooks!
202
-
203
- hcom adds hooks to your project directory's `.claude/settings.local.json`:
204
-
205
- 1. **Sending**: Claude agents use `echo "HCOM_SEND:message"` internally (you use `hcom send` from terminal)
206
- 2. **Receiving**: Other Claudes get notified via Stop hook
207
- 3. **Waiting**: Stop hook keeps Claude in a waiting state for new messages
208
-
209
- - **Identity**: Each instance gets a unique name based on conversation UUID (e.g., "hovoa7")
210
- - **Persistence**: Names persist across `--resume` maintaining conversation context
211
- - **Status Detection**: Notification hook tracks permission requests and activity
212
- - **Agents**: When you run `hcom open researcher`, it loads an interactive Claude session with a system prompt from `.claude/agents/researcher.md` (local) or `~/.claude/agents/researcher.md` (global). Agents can specify `model:` and `tools:` in YAML frontmatter
213
-
214
- ### Architecture
215
- - **Single conversation** - All instances share one global conversation
216
- - **Opt-in participation** - Only Claude Code instances launched with `hcom open` join the chat
217
- - **@-mention filtering** - Target messages to specific instances or teams
218
-
219
- ### File Structure
220
- ```
221
- ~/.hcom/
222
- ├── hcom.log # Conversation log
223
- ├── instances/ # Instance tracking
224
- ├── logs/ # Background process logs
225
- ├── config.json # Configuration
226
- └── archive/ # Archived sessions
227
-
228
- your-project/
229
- └── .claude/
230
- └── settings.local.json # hcom hooks configuration
231
- ```
232
-
233
- </details>
234
-
235
-
236
- <details>
237
- <summary><strong>🥔 Terminal Options</strong></summary>
238
-
239
- ### Terminal Mode
240
-
241
- Configure terminal behavior in `~/.hcom/config.json`:
242
- - `"terminal_mode": "new_window"` - Opens new terminal windows (default)
243
- - `"terminal_mode": "same_terminal"` - Opens in current terminal
244
- - `"terminal_mode": "show_commands"` - Prints commands without executing
245
-
246
- ### Default Terminals
247
-
248
- - **macOS**: Terminal.app
249
- - **Linux**: gnome-terminal, konsole, or xterm
250
- - **Windows**: Windows Terminal / PowerShell
251
-
252
- ### Running in Current Terminal
253
- ```bash
254
- # For single instances
255
- HCOM_TERMINAL_MODE=same_terminal hcom open
256
- ```
257
-
258
- ### Custom Terminal Examples
259
-
260
- Configure `terminal_command` in `~/.hcom/config.json` to use your preferred terminal:
261
-
262
- ### iTerm2
263
- ```json
264
- {
265
- "terminal_command": "osascript -e 'tell app \"iTerm2\" to create window with default profile' -e 'tell current session of current window to write text \"{env} {cmd}\"'"
266
- }
267
- ```
268
-
269
- ### Alacritty
270
- ```json
271
- {
272
- "terminal_command": "alacritty -e sh -c '{env} {cmd}'"
273
- }
274
- ```
275
-
276
- ### Kitty
277
- ```json
278
- {
279
- "terminal_command": "kitty sh -c '{env} {cmd}'"
280
- }
281
- ```
282
-
283
- ### WezTerm
284
- ```json
285
- {
286
- "terminal_command": "wezterm cli spawn --new-window -- sh -c '{env} {cmd}'"
287
- }
288
- ```
289
-
290
- ### tmux
291
- ```json
292
- {
293
- "terminal_command": "tmux new-window -n hcom sh -c '{env} {cmd}'"
294
- }
295
- ```
296
-
297
- ### Available Placeholders
298
- - `{cmd}` - The claude command to execute
299
- - `{env}` - Environment variables (pre-formatted as `VAR1='value1' VAR2='value2'`)
300
- - `{cwd}` - Current working directory
301
-
302
- ### Notes
303
- - Custom commands must exit with code 0 for success
304
- - The `{env}` placeholder contains shell-quoted environment variables
305
- - Most terminals require wrapping the command in `sh -c` to handle environment variables correctly
306
-
307
- </details>
308
-
309
-
310
- <details>
311
- <summary><strong>🦆 Remove</strong></summary>
312
-
313
-
314
- ### Archive Conversation / Start New
315
- ```bash
316
- hcom clear
317
- ```
318
-
319
- ### Kill Running Instances
320
- ```bash
321
- # Kill specific instance
322
- hcom kill hovoa7
323
-
324
- # Kill all instances
325
- hcom kill --all
326
- ```
327
-
328
- ### Remove HCOM hooks from current directory
329
- ```bash
330
- hcom cleanup
331
- ```
332
-
333
- ### Remove HCOM hooks from all directories
334
- ```bash
335
- hcom cleanup --all
336
- ```
337
-
338
- ### Remove hcom Completely
339
- 1. Remove hcom: `rm /usr/local/bin/hcom` (or wherever you installed hcom)
340
- 2. Remove all data: `rm -rf ~/.hcom`
341
-
342
- </details>
343
-
344
- ## 🌮 License
345
-
346
- MIT License
347
-
348
- ---
@@ -1,7 +0,0 @@
1
- hcom/__init__.py,sha256=OTLgmiORAs0PeavpKv2TStEiSchd2KDp4ZCGzWNWsAs,96
2
- hcom/__main__.py,sha256=CdWcj4qvpDjFELcShpKZQ30RTVQxE2AdCDPd83pwD2c,93850
3
- hcom-0.2.0.dist-info/METADATA,sha256=ZPianbn_y61bLc-mW3htCOPryQg_EJZi15Xs9y8a93k,10934
4
- hcom-0.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
- hcom-0.2.0.dist-info/entry_points.txt,sha256=cz9K9PsgYmORUxNKxVRrpxLS3cxRJcDZkE-PpfvOhI8,44
6
- hcom-0.2.0.dist-info/top_level.txt,sha256=8AS1nVUWA26vxjDQ5viRxgJnwSvUWk1W6GP4g6ldZ-0,5
7
- hcom-0.2.0.dist-info/RECORD,,
File without changes