hcom 0.1.8__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,331 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: hcom
3
- Version: 0.1.8
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 3
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 agents in background with specific prompts
89
- hcom open test-writer --claude-args "-p 'write tests for any new code'"
90
-
91
- # Launch watchers that respond to notifications
92
- hcom open reviewer --claude-args "-p 'review when @mentioned'"
93
-
94
- # Pass multiple Claude flags
95
- hcom open orchestrator --claude-args "--model sonnet
96
- --resume session_id"
97
-
98
- # Launch in specific directories
99
- cd backend && hcom open api-specialist
100
- cd ../frontend && hcom open ui-specialist
101
-
102
- # Create named teams that can be @mentioned
103
- cd ~/api && hcom open --prefix api debugger # Creates api-hovoa7
104
- cd ~/auth && hcom open --prefix auth debugger # Creates auth-hovob8
105
-
106
- # Message specific teams or instances
107
- hcom send "@api login works but API fails" # Messages all api-* instances
108
- hcom send "@hovoa7 can you check this?" # Message specific instance by name
109
- ```
110
-
111
-
112
- ## 🥨 Commands
113
-
114
- | Command | Description |
115
- |---------|-------------|
116
- | `hcom open [n]` | Launch n Claude instances (or named agents) |
117
- | `hcom watch` | Conversation/status dashboard |
118
- | `hcom clear` | Clear and archive conversation |
119
- | `hcom cleanup` | Remove HCOM hooks from current directory |
120
-
121
- ### Automation Commands
122
- | Command | Description |
123
- |---------|-------------|
124
- | `hcom send 'message'` | Send message to chat |
125
- | `hcom watch --logs` | View message history (non-interactive) |
126
- | `hcom watch --status` | Show instance status (non-interactive) |
127
- | `hcom watch --wait [timeout]` | Wait and notify for new messages |
128
-
129
- ---
130
-
131
- <details>
132
- <summary><strong>🦖 Configuration</strong></summary>
133
-
134
- ### Configuration
135
-
136
- Settings can be changed two ways:
137
-
138
- #### Method 1: Environment variable (temporary, per-command/instance)
139
-
140
-
141
- ```bash
142
- HCOM_INSTANCE_HINTS="always update chat with progress" hcom open nice-subagent-but-not-great-with-updates
143
- ```
144
-
145
- #### Method 2: Config file (persistent, affects all instances)
146
-
147
- ### Config File Location
148
-
149
- `~/.hcom/config.json`
150
-
151
- | Setting | Default | Environment Variable | Description |
152
- |---------|---------|---------------------|-------------|
153
- | `wait_timeout` | 1800 | `HCOM_WAIT_TIMEOUT` | How long instances wait for messages (seconds) |
154
- | `max_message_size` | 4096 | `HCOM_MAX_MESSAGE_SIZE` | Maximum message length |
155
- | `max_messages_per_delivery` | 50 | `HCOM_MAX_MESSAGES_PER_DELIVERY` | Messages delivered per batch |
156
- | `sender_name` | "bigboss" | `HCOM_SENDER_NAME` | Your name in chat |
157
- | `sender_emoji` | "🐳" | `HCOM_SENDER_EMOJI` | Your emoji icon |
158
- | `initial_prompt` | "Say hi in chat" | `HCOM_INITIAL_PROMPT` | What new instances are told to do |
159
- | `first_use_text` | "Essential, concise messages only" | `HCOM_FIRST_USE_TEXT` | Welcome message for instances |
160
- | `terminal_mode` | "new_window" | `HCOM_TERMINAL_MODE` | How to launch terminals ("new_window", "same_terminal", "show_commands") |
161
- | `terminal_command` | null | `HCOM_TERMINAL_COMMAND` | Custom terminal command (see Terminal Options) |
162
- | `cli_hints` | "" | `HCOM_CLI_HINTS` | Extra text added to CLI outputs |
163
- | `instance_hints` | "" | `HCOM_INSTANCE_HINTS` | Extra text added to instance messages |
164
- | `env_overrides` | {} | - | Additional environment variables for Claude Code |
165
-
166
- ### Examples
167
-
168
- ```bash
169
- # Change your name for one command
170
- HCOM_SENDER_NAME="reviewer" hcom send "LGTM!"
171
-
172
- # Make instances wait 30 minutes instead of 10
173
- HCOM_WAIT_TIMEOUT=1800 hcom open 3
174
-
175
- # Custom welcome message
176
- HCOM_FIRST_USE_TEXT="Debug session for issue #123" hcom open 2
177
-
178
- # Bigger messages
179
- HCOM_MAX_MESSAGE_SIZE=8192 hcom send "$(cat long_report.txt)"
180
- ```
181
-
182
- ### Status Indicators
183
- - ◉ **thinking** (cyan) - Processing input
184
- - ▷ **responding** (green) - Generating text response
185
- - ▶ **executing** (green) - Running tools
186
- - ◉ **waiting** (blue) - Waiting for messages
187
- - ■ **blocked** (yellow) - Permission blocked
188
- - ○ **inactive** (red) - Timed out/dead
189
-
190
- </details>
191
-
192
- <details>
193
- <summary><strong>🎲 How It Works</strong></summary>
194
-
195
- ### Hooks!
196
-
197
- hcom adds hooks to your project directory's `.claude/settings.local.json`:
198
-
199
- 1. **Sending**: Claude agents use `echo "HCOM_SEND:message"` internally (you use `hcom send` from terminal)
200
- 2. **Receiving**: Other Claudes get notified via Stop hook
201
- 3. **Waiting**: Stop hook keeps Claude in a waiting state for new messages
202
-
203
- - **Identity**: Each instance gets a unique name based on conversation UUID (e.g., "hovoa7")
204
- - **Persistence**: Names persist across `--resume` maintaining conversation context
205
- - **Status Detection**: Notification hook tracks permission requests and activity
206
- - **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
207
-
208
- ### Architecture
209
- - **Single conversation** - All instances share one global conversation
210
- - **Opt-in participation** - Only Claude Code instances launched with `hcom open` join the chat
211
- - **@-mention filtering** - Target messages to specific instances or teams
212
-
213
- ### File Structure
214
- ```
215
- ~/.hcom/
216
- ├── hcom.log # Conversation log
217
- ├── hcom.json # Instance tracking
218
- └── config.json # Configuration
219
-
220
- your-project/
221
- └── .claude/
222
- └── settings.local.json # hcom hooks configuration
223
- ```
224
-
225
- </details>
226
-
227
-
228
- <details>
229
- <summary><strong>🥔 Terminal Options</strong></summary>
230
-
231
- ### Terminal Mode
232
-
233
- Configure terminal behavior in `~/.hcom/config.json`:
234
- - `"terminal_mode": "new_window"` - Opens new terminal windows (default)
235
- - `"terminal_mode": "same_terminal"` - Opens in current terminal
236
- - `"terminal_mode": "show_commands"` - Prints commands without executing
237
-
238
- ### Default Terminals
239
-
240
- - **macOS**: Terminal.app
241
- - **Linux**: gnome-terminal, konsole, or xterm
242
- - **Windows**: Windows Terminal / PowerShell
243
-
244
- ### Running in Current Terminal
245
- ```bash
246
- # For single instances
247
- HCOM_TERMINAL_MODE=same_terminal hcom open
248
- ```
249
-
250
- ### Custom Terminal Examples
251
-
252
- Configure `terminal_command` in `~/.hcom/config.json` to use your preferred terminal:
253
-
254
- ### iTerm2
255
- ```json
256
- {
257
- "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}\"'"
258
- }
259
- ```
260
-
261
- ### Alacritty
262
- ```json
263
- {
264
- "terminal_command": "alacritty -e sh -c '{env} {cmd}'"
265
- }
266
- ```
267
-
268
- ### Kitty
269
- ```json
270
- {
271
- "terminal_command": "kitty sh -c '{env} {cmd}'"
272
- }
273
- ```
274
-
275
- ### WezTerm
276
- ```json
277
- {
278
- "terminal_command": "wezterm cli spawn --new-window -- sh -c '{env} {cmd}'"
279
- }
280
- ```
281
-
282
- ### tmux
283
- ```json
284
- {
285
- "terminal_command": "tmux new-window -n hcom sh -c '{env} {cmd}'"
286
- }
287
- ```
288
-
289
- ### Available Placeholders
290
- - `{cmd}` - The claude command to execute
291
- - `{env}` - Environment variables (pre-formatted as `VAR1='value1' VAR2='value2'`)
292
- - `{cwd}` - Current working directory
293
-
294
- ### Notes
295
- - Custom commands must exit with code 0 for success
296
- - The `{env}` placeholder contains shell-quoted environment variables
297
- - Most terminals require wrapping the command in `sh -c` to handle environment variables correctly
298
-
299
- </details>
300
-
301
-
302
- <details>
303
- <summary><strong>🦆 Remove</strong></summary>
304
-
305
-
306
- ### Archive Conversation / Start New
307
- ```bash
308
- hcom clear
309
- ```
310
-
311
- ### Remove HCOM hooks from current directory
312
- ```bash
313
- hcom cleanup
314
- ```
315
-
316
- ### Remove HCOM hooks from all directories
317
- ```bash
318
- hcom cleanup --all
319
- ```
320
-
321
- ### Remove hcom Completely
322
- 1. Remove hcom: `rm /usr/local/bin/hcom` (or wherever you installed hcom)
323
- 2. Remove all data: `rm -rf ~/.hcom`
324
-
325
- </details>
326
-
327
- ## 🌮 License
328
-
329
- MIT License
330
-
331
- ---
@@ -1,7 +0,0 @@
1
- hcom/__init__.py,sha256=h_kF26j8HKI-8wQqLhfCVH-Qg6U5T_Im5sUNs6gneDE,96
2
- hcom/__main__.py,sha256=2ROTl8889tbhtw3Xas4CvL69O6gidJoeX7gtNo-ECiE,77437
3
- hcom-0.1.8.dist-info/METADATA,sha256=X5uTxHkelaG5rCVnUgIPkyTtPSqy-6E2e2_4iZml2B8,10363
4
- hcom-0.1.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
- hcom-0.1.8.dist-info/entry_points.txt,sha256=cz9K9PsgYmORUxNKxVRrpxLS3cxRJcDZkE-PpfvOhI8,44
6
- hcom-0.1.8.dist-info/top_level.txt,sha256=8AS1nVUWA26vxjDQ5viRxgJnwSvUWk1W6GP4g6ldZ-0,5
7
- hcom-0.1.8.dist-info/RECORD,,
File without changes