devmux 0.2.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.
devmux-0.2.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ollayor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
devmux-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,288 @@
1
+ Metadata-Version: 2.4
2
+ Name: devmux
3
+ Version: 0.2.0
4
+ Summary: A tmux session manager purpose-built for AI agent CLIs
5
+ Author-email: Ollayor <ollayor@example.com>
6
+ Project-URL: Homepage, https://github.com/olllayor/devmux
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.8
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: libtmux>=0.8.2
14
+ Requires-Dist: PyYAML>=5.4
15
+ Requires-Dist: click>=8.0
16
+ Provides-Extra: dev
17
+ Requires-Dist: pytest>=8.0; extra == "dev"
18
+ Dynamic: license-file
19
+
20
+ # devmux
21
+
22
+ `devmux` is a tmux launcher for developers who use multiple AI agents in the CLI.
23
+
24
+ It gives you one command to open a repeatable coding cockpit with agent panes, tests, logs, and shell helpers in the right layout and working directories.
25
+
26
+ ## Why it exists
27
+
28
+ If you already work with tools like Claude Code, Codex, Gemini CLI, Aider, test watchers, and logs, your terminal usually turns into a mess:
29
+
30
+ - too many panes to rebuild by hand
31
+ - prompts sent to the wrong place
32
+ - different repos and directories across panes
33
+ - no shared setup you can reuse every day
34
+
35
+ `devmux` fixes that by making your workflow reproducible.
36
+
37
+ ## What it does
38
+
39
+ - Launch named workspaces from `devmux.yaml`
40
+ - Create real tmux layouts: `duo`, `trio`, `quad`, `focus`
41
+ - Route prompts safely by pane role or pane name
42
+ - Reuse existing sessions with idempotent `start`
43
+ - Rebuild a workspace with `--recreate`
44
+ - Scaffold starter configs with `devmux init`
45
+ - Keep runtime behavior generic while still supporting AI-heavy workflows
46
+
47
+ ## Who it is for
48
+
49
+ `devmux` is best for developers who:
50
+
51
+ - already use tmux
52
+ - run 2 to 5 CLI agents or helper panes at once
53
+ - want one command to restore a known working setup
54
+ - want a simple, scriptable alternative to a full TUI dashboard
55
+
56
+ ## Requirements
57
+
58
+ - macOS or Linux
59
+ - `tmux` installed and available on `PATH`
60
+ - Python 3.8+
61
+
62
+ Check tmux:
63
+
64
+ ```bash
65
+ tmux -V
66
+ ```
67
+
68
+ ## Install
69
+
70
+ ### Option 1: Install from PyPI
71
+
72
+ Use this after you publish `devmux` to PyPI:
73
+
74
+ ```bash
75
+ python3 -m pip install devmux
76
+ ```
77
+
78
+ ### Option 2: Install from GitHub right now
79
+
80
+ If you want people to try it before a PyPI release:
81
+
82
+ ```bash
83
+ python3 -m pip install "git+https://github.com/olllayor/devmux.git"
84
+ ```
85
+
86
+ ### Option 3: Install locally for development
87
+
88
+ ```bash
89
+ git clone https://github.com/olllayor/devmux.git
90
+ cd devmux
91
+ python3 -m pip install -e ".[dev]"
92
+ ```
93
+
94
+ ## Quick start
95
+
96
+ Generate a starter config:
97
+
98
+ ```bash
99
+ devmux init --preset backend
100
+ ```
101
+
102
+ Start the workspace:
103
+
104
+ ```bash
105
+ devmux start backend
106
+ ```
107
+
108
+ Create or reuse a session without attaching:
109
+
110
+ ```bash
111
+ devmux start backend --detach
112
+ ```
113
+
114
+ Resume the same workspace later:
115
+
116
+ ```bash
117
+ devmux resume backend
118
+ ```
119
+
120
+ Send a prompt to all agent panes in the current session:
121
+
122
+ ```bash
123
+ devmux send "review the auth flow"
124
+ ```
125
+
126
+ Target a specific role or pane:
127
+
128
+ ```bash
129
+ devmux send "show me errors" --role logs
130
+ devmux send "run tests" --pane tests
131
+ devmux send "status" --all
132
+ ```
133
+
134
+ List or kill sessions:
135
+
136
+ ```bash
137
+ devmux ls
138
+ devmux kill backend
139
+ ```
140
+
141
+ ## Config
142
+
143
+ Example `devmux.yaml`:
144
+
145
+ ```yaml
146
+ workspaces:
147
+ backend:
148
+ layout: trio
149
+ cwd: ~/projects/tapi
150
+ panes:
151
+ - name: planner
152
+ role: agent
153
+ command: "claude"
154
+ - name: builder
155
+ role: agent
156
+ command: "codex --approval auto"
157
+ - name: logs
158
+ role: logs
159
+ command: "docker compose logs -f"
160
+ ```
161
+
162
+ Accepted layouts:
163
+
164
+ - `duo`
165
+ - `trio`
166
+ - `quad`
167
+ - `focus`
168
+
169
+ Accepted roles:
170
+
171
+ - `agent`
172
+ - `logs`
173
+ - `tests`
174
+ - `shell`
175
+
176
+ Legacy `agents` configs are still accepted and mapped to `role: agent`.
177
+
178
+ ## Commands
179
+
180
+ ```bash
181
+ devmux init [--preset minimal|backend|full-stack] [--config PATH] [--force]
182
+ devmux start <workspace> [--config PATH] [--detach] [--recreate]
183
+ devmux attach <workspace>
184
+ devmux resume <workspace>
185
+ devmux ls
186
+ devmux kill <workspace>
187
+ devmux send "<prompt>" [--session NAME] [--all | --role ROLE | --pane NAME ...]
188
+ ```
189
+
190
+ ## Typical workflows
191
+
192
+ ### Two-agent coding setup
193
+
194
+ ```yaml
195
+ workspaces:
196
+ minimal:
197
+ layout: duo
198
+ cwd: .
199
+ panes:
200
+ - name: claude
201
+ role: agent
202
+ command: "claude"
203
+ - name: codex
204
+ role: agent
205
+ command: "codex --approval auto"
206
+ ```
207
+
208
+ ### Backend setup with logs
209
+
210
+ ```yaml
211
+ workspaces:
212
+ backend:
213
+ layout: trio
214
+ cwd: .
215
+ panes:
216
+ - name: planner
217
+ role: agent
218
+ command: "claude"
219
+ - name: builder
220
+ role: agent
221
+ command: "codex --approval auto"
222
+ - name: logs
223
+ role: logs
224
+ command: "docker compose logs -f"
225
+ ```
226
+
227
+ ### Full-stack setup with tests and logs
228
+
229
+ ```yaml
230
+ workspaces:
231
+ full-stack:
232
+ layout: quad
233
+ cwd: .
234
+ panes:
235
+ - name: frontend
236
+ role: agent
237
+ command: "claude"
238
+ - name: backend
239
+ role: agent
240
+ command: "codex --approval auto"
241
+ - name: tests
242
+ role: tests
243
+ command: "npm test"
244
+ - name: logs
245
+ role: logs
246
+ command: "docker compose logs -f"
247
+ ```
248
+
249
+ ## How to release it to the world
250
+
251
+ Use two distribution paths:
252
+
253
+ 1. GitHub for discovery, source, issues, releases, and docs.
254
+ 2. PyPI for the simplest install command: `python3 -m pip install devmux`.
255
+
256
+ Recommended rollout order:
257
+
258
+ 1. Push this repo to GitHub with a clean README, license, and tagged release.
259
+ 2. Publish version `0.2.0` to PyPI.
260
+ 3. Share a short demo GIF/video showing `devmux init`, `devmux start`, and `devmux send`.
261
+ 4. Post it in places where AI-heavy CLI devs already are: X, Reddit, Hacker News, tmux/devtools communities, Discord/Slack groups, and your own network.
262
+
263
+ The detailed publishing checklist is in [RELEASING.md](/Users/ollayor/Code/Projects/agenix/RELEASING.md).
264
+
265
+ ## Development
266
+
267
+ Install dev dependencies:
268
+
269
+ ```bash
270
+ python3 -m pip install -e ".[dev]"
271
+ ```
272
+
273
+ Run tests:
274
+
275
+ ```bash
276
+ python3 -m pytest
277
+ ```
278
+
279
+ ## Scope
280
+
281
+ `devmux` v0.2 is intentionally focused:
282
+
283
+ - no TUI yet
284
+ - no status bar or health dashboard
285
+ - no deep agent-specific integrations
286
+ - no full pane history or recovery system
287
+
288
+ The goal is to be a reliable painkiller for launching and routing multi-agent CLI sessions.
devmux-0.2.0/README.md ADDED
@@ -0,0 +1,269 @@
1
+ # devmux
2
+
3
+ `devmux` is a tmux launcher for developers who use multiple AI agents in the CLI.
4
+
5
+ It gives you one command to open a repeatable coding cockpit with agent panes, tests, logs, and shell helpers in the right layout and working directories.
6
+
7
+ ## Why it exists
8
+
9
+ If you already work with tools like Claude Code, Codex, Gemini CLI, Aider, test watchers, and logs, your terminal usually turns into a mess:
10
+
11
+ - too many panes to rebuild by hand
12
+ - prompts sent to the wrong place
13
+ - different repos and directories across panes
14
+ - no shared setup you can reuse every day
15
+
16
+ `devmux` fixes that by making your workflow reproducible.
17
+
18
+ ## What it does
19
+
20
+ - Launch named workspaces from `devmux.yaml`
21
+ - Create real tmux layouts: `duo`, `trio`, `quad`, `focus`
22
+ - Route prompts safely by pane role or pane name
23
+ - Reuse existing sessions with idempotent `start`
24
+ - Rebuild a workspace with `--recreate`
25
+ - Scaffold starter configs with `devmux init`
26
+ - Keep runtime behavior generic while still supporting AI-heavy workflows
27
+
28
+ ## Who it is for
29
+
30
+ `devmux` is best for developers who:
31
+
32
+ - already use tmux
33
+ - run 2 to 5 CLI agents or helper panes at once
34
+ - want one command to restore a known working setup
35
+ - want a simple, scriptable alternative to a full TUI dashboard
36
+
37
+ ## Requirements
38
+
39
+ - macOS or Linux
40
+ - `tmux` installed and available on `PATH`
41
+ - Python 3.8+
42
+
43
+ Check tmux:
44
+
45
+ ```bash
46
+ tmux -V
47
+ ```
48
+
49
+ ## Install
50
+
51
+ ### Option 1: Install from PyPI
52
+
53
+ Use this after you publish `devmux` to PyPI:
54
+
55
+ ```bash
56
+ python3 -m pip install devmux
57
+ ```
58
+
59
+ ### Option 2: Install from GitHub right now
60
+
61
+ If you want people to try it before a PyPI release:
62
+
63
+ ```bash
64
+ python3 -m pip install "git+https://github.com/olllayor/devmux.git"
65
+ ```
66
+
67
+ ### Option 3: Install locally for development
68
+
69
+ ```bash
70
+ git clone https://github.com/olllayor/devmux.git
71
+ cd devmux
72
+ python3 -m pip install -e ".[dev]"
73
+ ```
74
+
75
+ ## Quick start
76
+
77
+ Generate a starter config:
78
+
79
+ ```bash
80
+ devmux init --preset backend
81
+ ```
82
+
83
+ Start the workspace:
84
+
85
+ ```bash
86
+ devmux start backend
87
+ ```
88
+
89
+ Create or reuse a session without attaching:
90
+
91
+ ```bash
92
+ devmux start backend --detach
93
+ ```
94
+
95
+ Resume the same workspace later:
96
+
97
+ ```bash
98
+ devmux resume backend
99
+ ```
100
+
101
+ Send a prompt to all agent panes in the current session:
102
+
103
+ ```bash
104
+ devmux send "review the auth flow"
105
+ ```
106
+
107
+ Target a specific role or pane:
108
+
109
+ ```bash
110
+ devmux send "show me errors" --role logs
111
+ devmux send "run tests" --pane tests
112
+ devmux send "status" --all
113
+ ```
114
+
115
+ List or kill sessions:
116
+
117
+ ```bash
118
+ devmux ls
119
+ devmux kill backend
120
+ ```
121
+
122
+ ## Config
123
+
124
+ Example `devmux.yaml`:
125
+
126
+ ```yaml
127
+ workspaces:
128
+ backend:
129
+ layout: trio
130
+ cwd: ~/projects/tapi
131
+ panes:
132
+ - name: planner
133
+ role: agent
134
+ command: "claude"
135
+ - name: builder
136
+ role: agent
137
+ command: "codex --approval auto"
138
+ - name: logs
139
+ role: logs
140
+ command: "docker compose logs -f"
141
+ ```
142
+
143
+ Accepted layouts:
144
+
145
+ - `duo`
146
+ - `trio`
147
+ - `quad`
148
+ - `focus`
149
+
150
+ Accepted roles:
151
+
152
+ - `agent`
153
+ - `logs`
154
+ - `tests`
155
+ - `shell`
156
+
157
+ Legacy `agents` configs are still accepted and mapped to `role: agent`.
158
+
159
+ ## Commands
160
+
161
+ ```bash
162
+ devmux init [--preset minimal|backend|full-stack] [--config PATH] [--force]
163
+ devmux start <workspace> [--config PATH] [--detach] [--recreate]
164
+ devmux attach <workspace>
165
+ devmux resume <workspace>
166
+ devmux ls
167
+ devmux kill <workspace>
168
+ devmux send "<prompt>" [--session NAME] [--all | --role ROLE | --pane NAME ...]
169
+ ```
170
+
171
+ ## Typical workflows
172
+
173
+ ### Two-agent coding setup
174
+
175
+ ```yaml
176
+ workspaces:
177
+ minimal:
178
+ layout: duo
179
+ cwd: .
180
+ panes:
181
+ - name: claude
182
+ role: agent
183
+ command: "claude"
184
+ - name: codex
185
+ role: agent
186
+ command: "codex --approval auto"
187
+ ```
188
+
189
+ ### Backend setup with logs
190
+
191
+ ```yaml
192
+ workspaces:
193
+ backend:
194
+ layout: trio
195
+ cwd: .
196
+ panes:
197
+ - name: planner
198
+ role: agent
199
+ command: "claude"
200
+ - name: builder
201
+ role: agent
202
+ command: "codex --approval auto"
203
+ - name: logs
204
+ role: logs
205
+ command: "docker compose logs -f"
206
+ ```
207
+
208
+ ### Full-stack setup with tests and logs
209
+
210
+ ```yaml
211
+ workspaces:
212
+ full-stack:
213
+ layout: quad
214
+ cwd: .
215
+ panes:
216
+ - name: frontend
217
+ role: agent
218
+ command: "claude"
219
+ - name: backend
220
+ role: agent
221
+ command: "codex --approval auto"
222
+ - name: tests
223
+ role: tests
224
+ command: "npm test"
225
+ - name: logs
226
+ role: logs
227
+ command: "docker compose logs -f"
228
+ ```
229
+
230
+ ## How to release it to the world
231
+
232
+ Use two distribution paths:
233
+
234
+ 1. GitHub for discovery, source, issues, releases, and docs.
235
+ 2. PyPI for the simplest install command: `python3 -m pip install devmux`.
236
+
237
+ Recommended rollout order:
238
+
239
+ 1. Push this repo to GitHub with a clean README, license, and tagged release.
240
+ 2. Publish version `0.2.0` to PyPI.
241
+ 3. Share a short demo GIF/video showing `devmux init`, `devmux start`, and `devmux send`.
242
+ 4. Post it in places where AI-heavy CLI devs already are: X, Reddit, Hacker News, tmux/devtools communities, Discord/Slack groups, and your own network.
243
+
244
+ The detailed publishing checklist is in [RELEASING.md](/Users/ollayor/Code/Projects/agenix/RELEASING.md).
245
+
246
+ ## Development
247
+
248
+ Install dev dependencies:
249
+
250
+ ```bash
251
+ python3 -m pip install -e ".[dev]"
252
+ ```
253
+
254
+ Run tests:
255
+
256
+ ```bash
257
+ python3 -m pytest
258
+ ```
259
+
260
+ ## Scope
261
+
262
+ `devmux` v0.2 is intentionally focused:
263
+
264
+ - no TUI yet
265
+ - no status bar or health dashboard
266
+ - no deep agent-specific integrations
267
+ - no full pane history or recovery system
268
+
269
+ The goal is to be a reliable painkiller for launching and routing multi-agent CLI sessions.
@@ -0,0 +1,3 @@
1
+ """devmux - A tmux session manager for AI agent CLIs."""
2
+
3
+ __version__ = "0.2.0"