hcom 0.4.2.post3__tar.gz → 0.5.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.
- hcom-0.5.0/PKG-INFO +257 -0
- hcom-0.5.0/README.md +230 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/pyproject.toml +1 -1
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom/__init__.py +1 -1
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom/__main__.py +281 -341
- hcom-0.5.0/src/hcom.egg-info/PKG-INFO +257 -0
- hcom-0.4.2.post3/PKG-INFO +0 -452
- hcom-0.4.2.post3/README.md +0 -425
- hcom-0.4.2.post3/src/hcom.egg-info/PKG-INFO +0 -452
- {hcom-0.4.2.post3 → hcom-0.5.0}/MANIFEST.in +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/setup.cfg +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/setup.py +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom.egg-info/SOURCES.txt +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom.egg-info/dependency_links.txt +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom.egg-info/entry_points.txt +0 -0
- {hcom-0.4.2.post3 → hcom-0.5.0}/src/hcom.egg-info/top_level.txt +0 -0
hcom-0.5.0/PKG-INFO
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hcom
|
|
3
|
+
Version: 0.5.0
|
|
4
|
+
Summary: CLI tool for launching multiple Claude Code terminals with interactive subagents, headless persistence, and real-time communication 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
|
+
[](https://pypi.org/project/hcom/)
|
|
31
|
+
[](https://opensource.org/license/MIT) [](https://python.org) [](https://deepwiki.com/aannoo/claude-hook-comms)
|
|
32
|
+
|
|
33
|
+
Launch multiple Claude Code terminals (or headless) that communicate together in real time via hooks.
|
|
34
|
+
|
|
35
|
+

|
|
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
|
+
claude 'run hcom start'
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## What it does
|
|
56
|
+
|
|
57
|
+
`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.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
| Command | Description
|
|
63
|
+
|---------|-------------|
|
|
64
|
+
| `hcom <n>` | Launch `n` instances |
|
|
65
|
+
| `hcom watch` | Live dashboard and messaging |
|
|
66
|
+
| `hcom stop [alias\|all]` | Disable participation |
|
|
67
|
+
| `hcom start [alias]` | Enable participation |
|
|
68
|
+
| `hcom reset [logs\|hooks\|config]` | Safe Cleanup |
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## Examples
|
|
73
|
+
|
|
74
|
+
#### Interactive subagents
|
|
75
|
+
```bash
|
|
76
|
+
# Claude Code subagents from .claude/agents
|
|
77
|
+
HCOM_AGENT=planner,code-writer,reviewer hcom 1
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### Persistent headless instances
|
|
81
|
+
```bash
|
|
82
|
+
hcom 1 claude -p # default 30min timeout
|
|
83
|
+
hcom watch # See what it's doing
|
|
84
|
+
hcom stop # Let it die earlier than timeout
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### @-mention: groups and direct
|
|
88
|
+
```bash
|
|
89
|
+
HCOM_TAG=cooltag hcom 2
|
|
90
|
+
hcom send '@cooltag hi, you both are cool'
|
|
91
|
+
hcom send '@john you are cooler'
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### Toggle inside Claude Code
|
|
95
|
+
```bash
|
|
96
|
+
claude # Normal Claude Code
|
|
97
|
+
'run hcom start' # Opt-in to receive messages
|
|
98
|
+
'run hcom stop' # Opt-out, continue as normal claude code
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
<details>
|
|
103
|
+
<summary><strong>All commands</strong></summary>
|
|
104
|
+
|
|
105
|
+
### `[ENV_VARS] hcom <COUNT> [claude <ARGS>]`
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
Usage: [ENV_VARS] hcom <COUNT> [claude <ARGS>...]
|
|
110
|
+
hcom watch [--logs|--status|--wait [SEC]]
|
|
111
|
+
hcom send "message"
|
|
112
|
+
hcom stop [alias|all] [--force]
|
|
113
|
+
hcom start [alias]
|
|
114
|
+
hcom reset [logs|hooks|config]
|
|
115
|
+
|
|
116
|
+
Launch Examples:
|
|
117
|
+
hcom 3 Open 3 terminals with claude connected to hcom
|
|
118
|
+
hcom 3 claude -p + Background/headless
|
|
119
|
+
HCOM_TAG=api hcom 3 claude -p + @-mention group tag
|
|
120
|
+
claude 'run hcom start' claude code with prompt will also work
|
|
121
|
+
|
|
122
|
+
Commands:
|
|
123
|
+
watch Interactive messaging/status dashboard
|
|
124
|
+
--logs Print all messages
|
|
125
|
+
--status Print instance status JSON
|
|
126
|
+
--wait [SEC] Wait and notify for new message
|
|
127
|
+
|
|
128
|
+
send "msg" Send message to all instances
|
|
129
|
+
send "@alias msg" Send to specific instance/group
|
|
130
|
+
|
|
131
|
+
stop Stop current instance (from inside Claude)
|
|
132
|
+
stop <alias> Stop specific instance
|
|
133
|
+
stop all Stop all instances
|
|
134
|
+
--force Emergency stop (denies Bash tool)
|
|
135
|
+
|
|
136
|
+
start Start current instance (from inside Claude)
|
|
137
|
+
start <alias> Start specific instance
|
|
138
|
+
|
|
139
|
+
reset Stop all + archive logs + remove hooks + clear config
|
|
140
|
+
reset logs Clear + archive conversation log
|
|
141
|
+
reset hooks Safely remove hcom hooks from claude settings.json
|
|
142
|
+
reset config Clear + backup config.env
|
|
143
|
+
|
|
144
|
+
Environment Variables:
|
|
145
|
+
HCOM_TAG=name Group tag (creates name-* instances)
|
|
146
|
+
HCOM_AGENT=type Agent type (comma-separated for multiple)
|
|
147
|
+
HCOM_TERMINAL=mode Terminal: new|here|print|"custom {script}"
|
|
148
|
+
HCOM_PROMPT=text "Say hi in hcom chat" (default)
|
|
149
|
+
HCOM_HINTS=text Text appended to all messages received by instance
|
|
150
|
+
HCOM_TIMEOUT=secs Time until disconnected from hcom chat (default 1800s / 30mins)
|
|
151
|
+
|
|
152
|
+
ANTHROPIC_MODEL=opus # Passed through to Claude Code
|
|
153
|
+
|
|
154
|
+
Persist Env Vars in `~/.hcom/config.env`
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
</details>
|
|
158
|
+
|
|
159
|
+
<details>
|
|
160
|
+
<summary><strong> Terminal Options</strong></summary>
|
|
161
|
+
|
|
162
|
+
### Default Terminals
|
|
163
|
+
|
|
164
|
+
- **macOS**: Terminal.app
|
|
165
|
+
- **Linux**: gnome-terminal, konsole, or xterm
|
|
166
|
+
- **Windows (native) & WSL**: Windows Terminal / Git Bash
|
|
167
|
+
- **Android**: Termux
|
|
168
|
+
|
|
169
|
+
### Terminal Mode
|
|
170
|
+
|
|
171
|
+
- `HCOM_TERMINAL=new` - New terminal windows (default)
|
|
172
|
+
- `HCOM_TERMINAL=here` - Current terminal window
|
|
173
|
+
- `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal (**iTerm2**)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
### Custom Terminal
|
|
177
|
+
|
|
178
|
+
Your custom command just needs to:
|
|
179
|
+
1. Accept `{script}` as a placeholder that will be replaced with a script path
|
|
180
|
+
2. Execute that script with bash
|
|
181
|
+
|
|
182
|
+
### Custom Terminal Examples
|
|
183
|
+
|
|
184
|
+
##### [ttab](https://github.com/mklement0/ttab) (new tab instead of new window in Terminal.app)
|
|
185
|
+
```bash
|
|
186
|
+
HCOM_TERMINAL="ttab {script}"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
##### [wttab](https://github.com/lalilaloe/wttab) (new tab in Windows Terminal)
|
|
190
|
+
```bash
|
|
191
|
+
HCOM_TERMINAL="wttab {script}"
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
##### More
|
|
195
|
+
```bash
|
|
196
|
+
# Wave Terminal Mac/Linux/Windows. From within Wave Terminal:
|
|
197
|
+
HCOM_TERMINAL="wsh run -- bash {script}"
|
|
198
|
+
|
|
199
|
+
# Alacritty macOS:
|
|
200
|
+
HCOM_TERMINAL="open -n -a Alacritty.app --args -e bash {script}"
|
|
201
|
+
|
|
202
|
+
# Alacritty Linux:
|
|
203
|
+
HCOM_TERMINAL="alacritty -e bash {script}"
|
|
204
|
+
|
|
205
|
+
# Kitty macOS:
|
|
206
|
+
HCOM_TERMINAL="open -n -a kitty.app --args {script}"
|
|
207
|
+
|
|
208
|
+
# Kitty Linux
|
|
209
|
+
HCOM_TERMINAL="kitty {script}"
|
|
210
|
+
|
|
211
|
+
# tmux with split panes and 3 claude instances in hcom chat
|
|
212
|
+
HCOM_TERMINAL="tmux split-window -h {script}" hcom 3
|
|
213
|
+
|
|
214
|
+
# WezTerm Linux/Windows
|
|
215
|
+
HCOM_TERMINAL="wezterm start -- bash {script}"
|
|
216
|
+
|
|
217
|
+
# Tabs from within WezTerm
|
|
218
|
+
HCOM_TERMINAL="wezterm cli spawn -- bash {script}"
|
|
219
|
+
|
|
220
|
+
# WezTerm macOS:
|
|
221
|
+
HCOM_TERMINAL="open -n -a WezTerm.app --args start -- bash {script}"
|
|
222
|
+
|
|
223
|
+
# Tabs from within WezTerm macOS
|
|
224
|
+
HCOM_TERMINAL="/Applications/WezTerm.app/Contents/MacOS/wezterm cli spawn -- bash {script}"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
#### Android (Termux)
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
#1. Install:
|
|
231
|
+
Termux from F-Droid (not Google Play)
|
|
232
|
+
#2. Setup:
|
|
233
|
+
pkg install python nodejs
|
|
234
|
+
npm install -g @anthropic-ai/claude-cli
|
|
235
|
+
pip install hcom
|
|
236
|
+
#3. Enable:
|
|
237
|
+
echo "allow-external-apps=true" >> ~/.termux/termux.properties
|
|
238
|
+
termux-reload-settings
|
|
239
|
+
#4. Enable:
|
|
240
|
+
"Display over other apps" permission for visible terminals
|
|
241
|
+
#5. Run:
|
|
242
|
+
`hcom 2`
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
</details>
|
|
248
|
+
|
|
249
|
+
## Requirements
|
|
250
|
+
|
|
251
|
+
- Python 3.10+
|
|
252
|
+
- Claude Code
|
|
253
|
+
|
|
254
|
+
## License
|
|
255
|
+
|
|
256
|
+
MIT
|
|
257
|
+
|
hcom-0.5.0/README.md
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# hcom — Claude Hook Comms
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/hcom/)
|
|
4
|
+
[](https://opensource.org/license/MIT) [](https://python.org) [](https://deepwiki.com/aannoo/claude-hook-comms)
|
|
5
|
+
|
|
6
|
+
Launch multiple Claude Code terminals (or headless) that communicate together in real time via hooks.
|
|
7
|
+
|
|
8
|
+

|
|
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
|
+
claude 'run hcom start'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## What it does
|
|
29
|
+
|
|
30
|
+
`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.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Commands
|
|
34
|
+
|
|
35
|
+
| Command | Description
|
|
36
|
+
|---------|-------------|
|
|
37
|
+
| `hcom <n>` | Launch `n` instances |
|
|
38
|
+
| `hcom watch` | Live dashboard and messaging |
|
|
39
|
+
| `hcom stop [alias\|all]` | Disable participation |
|
|
40
|
+
| `hcom start [alias]` | Enable participation |
|
|
41
|
+
| `hcom reset [logs\|hooks\|config]` | Safe Cleanup |
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
#### Interactive subagents
|
|
48
|
+
```bash
|
|
49
|
+
# Claude Code subagents from .claude/agents
|
|
50
|
+
HCOM_AGENT=planner,code-writer,reviewer hcom 1
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### Persistent headless instances
|
|
54
|
+
```bash
|
|
55
|
+
hcom 1 claude -p # default 30min timeout
|
|
56
|
+
hcom watch # See what it's doing
|
|
57
|
+
hcom stop # Let it die earlier than timeout
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### @-mention: groups and direct
|
|
61
|
+
```bash
|
|
62
|
+
HCOM_TAG=cooltag hcom 2
|
|
63
|
+
hcom send '@cooltag hi, you both are cool'
|
|
64
|
+
hcom send '@john you are cooler'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### Toggle inside Claude Code
|
|
68
|
+
```bash
|
|
69
|
+
claude # Normal Claude Code
|
|
70
|
+
'run hcom start' # Opt-in to receive messages
|
|
71
|
+
'run hcom stop' # Opt-out, continue as normal claude code
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
<details>
|
|
76
|
+
<summary><strong>All commands</strong></summary>
|
|
77
|
+
|
|
78
|
+
### `[ENV_VARS] hcom <COUNT> [claude <ARGS>]`
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
Usage: [ENV_VARS] hcom <COUNT> [claude <ARGS>...]
|
|
83
|
+
hcom watch [--logs|--status|--wait [SEC]]
|
|
84
|
+
hcom send "message"
|
|
85
|
+
hcom stop [alias|all] [--force]
|
|
86
|
+
hcom start [alias]
|
|
87
|
+
hcom reset [logs|hooks|config]
|
|
88
|
+
|
|
89
|
+
Launch Examples:
|
|
90
|
+
hcom 3 Open 3 terminals with claude connected to hcom
|
|
91
|
+
hcom 3 claude -p + Background/headless
|
|
92
|
+
HCOM_TAG=api hcom 3 claude -p + @-mention group tag
|
|
93
|
+
claude 'run hcom start' claude code with prompt will also work
|
|
94
|
+
|
|
95
|
+
Commands:
|
|
96
|
+
watch Interactive messaging/status dashboard
|
|
97
|
+
--logs Print all messages
|
|
98
|
+
--status Print instance status JSON
|
|
99
|
+
--wait [SEC] Wait and notify for new message
|
|
100
|
+
|
|
101
|
+
send "msg" Send message to all instances
|
|
102
|
+
send "@alias msg" Send to specific instance/group
|
|
103
|
+
|
|
104
|
+
stop Stop current instance (from inside Claude)
|
|
105
|
+
stop <alias> Stop specific instance
|
|
106
|
+
stop all Stop all instances
|
|
107
|
+
--force Emergency stop (denies Bash tool)
|
|
108
|
+
|
|
109
|
+
start Start current instance (from inside Claude)
|
|
110
|
+
start <alias> Start specific instance
|
|
111
|
+
|
|
112
|
+
reset Stop all + archive logs + remove hooks + clear config
|
|
113
|
+
reset logs Clear + archive conversation log
|
|
114
|
+
reset hooks Safely remove hcom hooks from claude settings.json
|
|
115
|
+
reset config Clear + backup config.env
|
|
116
|
+
|
|
117
|
+
Environment Variables:
|
|
118
|
+
HCOM_TAG=name Group tag (creates name-* instances)
|
|
119
|
+
HCOM_AGENT=type Agent type (comma-separated for multiple)
|
|
120
|
+
HCOM_TERMINAL=mode Terminal: new|here|print|"custom {script}"
|
|
121
|
+
HCOM_PROMPT=text "Say hi in hcom chat" (default)
|
|
122
|
+
HCOM_HINTS=text Text appended to all messages received by instance
|
|
123
|
+
HCOM_TIMEOUT=secs Time until disconnected from hcom chat (default 1800s / 30mins)
|
|
124
|
+
|
|
125
|
+
ANTHROPIC_MODEL=opus # Passed through to Claude Code
|
|
126
|
+
|
|
127
|
+
Persist Env Vars in `~/.hcom/config.env`
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
</details>
|
|
131
|
+
|
|
132
|
+
<details>
|
|
133
|
+
<summary><strong> Terminal Options</strong></summary>
|
|
134
|
+
|
|
135
|
+
### Default Terminals
|
|
136
|
+
|
|
137
|
+
- **macOS**: Terminal.app
|
|
138
|
+
- **Linux**: gnome-terminal, konsole, or xterm
|
|
139
|
+
- **Windows (native) & WSL**: Windows Terminal / Git Bash
|
|
140
|
+
- **Android**: Termux
|
|
141
|
+
|
|
142
|
+
### Terminal Mode
|
|
143
|
+
|
|
144
|
+
- `HCOM_TERMINAL=new` - New terminal windows (default)
|
|
145
|
+
- `HCOM_TERMINAL=here` - Current terminal window
|
|
146
|
+
- `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal (**iTerm2**)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
### Custom Terminal
|
|
150
|
+
|
|
151
|
+
Your custom command just needs to:
|
|
152
|
+
1. Accept `{script}` as a placeholder that will be replaced with a script path
|
|
153
|
+
2. Execute that script with bash
|
|
154
|
+
|
|
155
|
+
### Custom Terminal Examples
|
|
156
|
+
|
|
157
|
+
##### [ttab](https://github.com/mklement0/ttab) (new tab instead of new window in Terminal.app)
|
|
158
|
+
```bash
|
|
159
|
+
HCOM_TERMINAL="ttab {script}"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
##### [wttab](https://github.com/lalilaloe/wttab) (new tab in Windows Terminal)
|
|
163
|
+
```bash
|
|
164
|
+
HCOM_TERMINAL="wttab {script}"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
##### More
|
|
168
|
+
```bash
|
|
169
|
+
# Wave Terminal Mac/Linux/Windows. From within Wave Terminal:
|
|
170
|
+
HCOM_TERMINAL="wsh run -- bash {script}"
|
|
171
|
+
|
|
172
|
+
# Alacritty macOS:
|
|
173
|
+
HCOM_TERMINAL="open -n -a Alacritty.app --args -e bash {script}"
|
|
174
|
+
|
|
175
|
+
# Alacritty Linux:
|
|
176
|
+
HCOM_TERMINAL="alacritty -e bash {script}"
|
|
177
|
+
|
|
178
|
+
# Kitty macOS:
|
|
179
|
+
HCOM_TERMINAL="open -n -a kitty.app --args {script}"
|
|
180
|
+
|
|
181
|
+
# Kitty Linux
|
|
182
|
+
HCOM_TERMINAL="kitty {script}"
|
|
183
|
+
|
|
184
|
+
# tmux with split panes and 3 claude instances in hcom chat
|
|
185
|
+
HCOM_TERMINAL="tmux split-window -h {script}" hcom 3
|
|
186
|
+
|
|
187
|
+
# WezTerm Linux/Windows
|
|
188
|
+
HCOM_TERMINAL="wezterm start -- bash {script}"
|
|
189
|
+
|
|
190
|
+
# Tabs from within WezTerm
|
|
191
|
+
HCOM_TERMINAL="wezterm cli spawn -- bash {script}"
|
|
192
|
+
|
|
193
|
+
# WezTerm macOS:
|
|
194
|
+
HCOM_TERMINAL="open -n -a WezTerm.app --args start -- bash {script}"
|
|
195
|
+
|
|
196
|
+
# Tabs from within WezTerm macOS
|
|
197
|
+
HCOM_TERMINAL="/Applications/WezTerm.app/Contents/MacOS/wezterm cli spawn -- bash {script}"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Android (Termux)
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
#1. Install:
|
|
204
|
+
Termux from F-Droid (not Google Play)
|
|
205
|
+
#2. Setup:
|
|
206
|
+
pkg install python nodejs
|
|
207
|
+
npm install -g @anthropic-ai/claude-cli
|
|
208
|
+
pip install hcom
|
|
209
|
+
#3. Enable:
|
|
210
|
+
echo "allow-external-apps=true" >> ~/.termux/termux.properties
|
|
211
|
+
termux-reload-settings
|
|
212
|
+
#4. Enable:
|
|
213
|
+
"Display over other apps" permission for visible terminals
|
|
214
|
+
#5. Run:
|
|
215
|
+
`hcom 2`
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
</details>
|
|
221
|
+
|
|
222
|
+
## Requirements
|
|
223
|
+
|
|
224
|
+
- Python 3.10+
|
|
225
|
+
- Claude Code
|
|
226
|
+
|
|
227
|
+
## License
|
|
228
|
+
|
|
229
|
+
MIT
|
|
230
|
+
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hcom"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.5.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"
|