projmux 0.10.0 → 0.11.0
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.
- package/README-ko.md +90 -72
- package/README.md +24 -16
- package/docs/agent-workflow.md +86 -23
- package/docs/ai-agent-shortcuts.md +63 -278
- package/docs/architecture.md +678 -16
- package/docs/cli-guide.md +1367 -0
- package/docs/cli.md +1239 -1091
- package/docs/configuration.md +185 -136
- package/docs/globalization.md +16 -12
- package/docs/hooks.md +90 -67
- package/docs/install.md +22 -6
- package/docs/keybindings.md +223 -60
- package/docs/legacy-cli-retirement.md +64 -0
- package/docs/legacy-diagnostics-inventory.md +23 -0
- package/docs/migration-plan.md +6 -3
- package/docs/notify-os-focus-poc.md +36 -15
- package/docs/notify-queue.md +21 -19
- package/docs/operational-diagnostics.md +190 -11
- package/docs/repo-layout.md +4 -1
- package/docs/resource-attribution.md +16 -0
- package/docs/session-restore.md +27 -9
- package/docs/settings-ia.md +232 -162
- package/docs/statusbar.md +228 -48
- package/docs/testing.md +9 -9
- package/docs/theme-palette.md +0 -3
- package/docs/tmux-surface-inventory.md +2 -2
- package/docs/upgrading.md +138 -23
- package/docs/usage-tracking.md +120 -34
- package/package.json +5 -5
|
@@ -1,337 +1,122 @@
|
|
|
1
1
|
# AI Agent Shortcut Registration
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
the same split contract.
|
|
3
|
+
Use the canonical resource-create routes for user-level shortcuts, skills,
|
|
4
|
+
slash commands, terminal actions, and editor commands:
|
|
6
5
|
|
|
7
6
|
```sh
|
|
8
|
-
projmux
|
|
9
|
-
projmux
|
|
10
|
-
projmux
|
|
7
|
+
projmux create agent --provider <codex|claude|antigravity> [--placement right|down]
|
|
8
|
+
projmux create agent --provider <provider> [--placement right|down] -- <extra args...>
|
|
9
|
+
projmux create agent --provider <provider> [--placement right|down] -o pane-id [-- <extra args...>]
|
|
10
|
+
projmux create pane [--placement right|down] [-o pane-id]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
private prompt text, and personal
|
|
15
|
-
|
|
13
|
+
Provider shortcuts (`projmux create codex|claude|antigravity`) normalize to the
|
|
14
|
+
same Agent route. Keep machine-local policy, private prompt text, and personal
|
|
15
|
+
workflow recipes in user config or dotfiles rather than tracked project docs.
|
|
16
16
|
|
|
17
|
-
## Command
|
|
17
|
+
## Command contract
|
|
18
18
|
|
|
19
|
-
Choose a direct
|
|
19
|
+
Choose a direct provider when a shortcut must always open that provider:
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
projmux
|
|
23
|
-
projmux
|
|
22
|
+
projmux create codex --placement right
|
|
23
|
+
projmux create claude --placement down
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
choose where the new pane is created.
|
|
30
|
-
|
|
31
|
-
Add the separator only when you have extra arguments for the selected agent:
|
|
26
|
+
Each invocation creates a new managed Agent and Pane. Existing Agent panes are
|
|
27
|
+
left in place. `--placement right|down` selects the tmux split axis; right is
|
|
28
|
+
the default. Use `--` only when forwarding extra provider arguments:
|
|
32
29
|
|
|
33
30
|
```sh
|
|
34
|
-
projmux
|
|
35
|
-
projmux
|
|
31
|
+
projmux create codex --placement right -- --model <model>
|
|
32
|
+
projmux create claude --placement down -- <agent flags>
|
|
36
33
|
```
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
configured `codex` or `claude` executable, creates the tmux split, sets pane
|
|
42
|
-
metadata, applies the title watcher, and appends the tail arguments to the
|
|
43
|
-
agent command.
|
|
44
|
-
|
|
45
|
-
Model, permission, and other agent flags are examples to customize privately in
|
|
46
|
-
your user-level config. Avoid treating placeholder flags in this guide as
|
|
47
|
-
project defaults or current recommendations. If there are no private extra
|
|
48
|
-
arguments, omit the separator entirely; do not leave a trailing bare `--`.
|
|
49
|
-
|
|
50
|
-
Settings > AI Settings > Enabled agents is the source of truth for whether
|
|
51
|
-
Claude, Codex, and Antigravity may be launched. Disabled agents do not appear in the
|
|
52
|
-
selective picker, and direct shortcut commands such as
|
|
53
|
-
`projmux ai split --agent codex right` fail clearly instead of launching. This
|
|
54
|
-
is intentional: shortcuts are thin direct CLI wrappers and must respect the
|
|
55
|
-
same disabled state as hand-written commands.
|
|
56
|
-
|
|
57
|
-
`--force-agent` is the only override, and it is explicit CLI policy for direct
|
|
58
|
-
`--agent claude|codex|antigravity` launches. Do not put it in shared picker,
|
|
59
|
-
default-mode, or general shortcut registrations. Use it only in a private
|
|
60
|
-
one-shot command when you deliberately want to launch a disabled agent without
|
|
61
|
-
changing Settings. If every AI agent is disabled, `--agent selective` still
|
|
62
|
-
offers a plain `shell` split and guidance to re-enable Claude/Codex/Antigravity.
|
|
63
|
-
|
|
64
|
-
`shell` and `selective` are not targets for extra agent arguments. Use them
|
|
65
|
-
without a tail:
|
|
35
|
+
Everything after `--` reaches the configured provider executable. Placeholder
|
|
36
|
+
model, permission, and agent flags are private customization examples, not
|
|
37
|
+
project defaults. Omit the separator when there is no payload.
|
|
66
38
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
39
|
+
Settings > AI Settings > Enabled providers controls whether Claude, Codex, and
|
|
40
|
+
Antigravity may launch. Canonical create routes respect that setting. There is
|
|
41
|
+
no shared command-line override for a disabled provider; change Settings when
|
|
42
|
+
the provider should become available. For a plain shell split use `projmux
|
|
43
|
+
create pane`, not an Agent provider.
|
|
72
44
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
same selective picker.
|
|
45
|
+
Interactive provider and resume selection belong to the app's picker surfaces.
|
|
46
|
+
CLI automation should choose an explicit provider or use `projmux agent resume
|
|
47
|
+
<ref>` for an exact existing Agent.
|
|
77
48
|
|
|
78
|
-
### Automation
|
|
49
|
+
### Automation pane handle
|
|
79
50
|
|
|
80
|
-
Use
|
|
81
|
-
|
|
51
|
+
Use `-o pane-id` only when an automation wrapper needs the newly created Pane
|
|
52
|
+
as a stable follow-up handle:
|
|
82
53
|
|
|
83
54
|
```sh
|
|
84
|
-
pane_id="$(projmux
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Successful explicit `claude`, `codex`, `antigravity`, and `shell` launches
|
|
88
|
-
print exactly one `%N` pane id line. The flag does not change how arguments
|
|
89
|
-
after `--` reach the selected agent. Without the flag, stdout remains empty so
|
|
90
|
-
existing manual shortcuts and Settings actions retain their behavior.
|
|
91
|
-
|
|
92
|
-
The pane id is the existing tmux `split-window` return value. If tmux does not
|
|
93
|
-
return a valid id, the command produces a non-zero, actionable error instead of
|
|
94
|
-
a false success. Do not combine the flag with the saved default,
|
|
95
|
-
`--agent selective`, or `--agent resume`; picker-backed paths are rejected
|
|
96
|
-
before a picker or pane is opened. This is a one-line handle contract, not a
|
|
97
|
-
JSON launch-result schema or a pane status/wait API.
|
|
98
|
-
|
|
99
|
-
## Naming Pattern
|
|
100
|
-
|
|
101
|
-
Pick names that encode the target agent and split direction, then keep the
|
|
102
|
-
body as a small command wrapper.
|
|
103
|
-
|
|
104
|
-
For Codex-style skill surfaces, names can follow:
|
|
105
|
-
|
|
106
|
-
```text
|
|
107
|
-
$projmux-<agent>-right
|
|
108
|
-
$projmux-<agent>-down
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Concrete examples:
|
|
112
|
-
|
|
113
|
-
```text
|
|
114
|
-
$projmux-codex-right
|
|
115
|
-
$projmux-claude-down
|
|
116
|
-
$projmux-resume-right
|
|
117
|
-
$projmux-resume-down
|
|
55
|
+
pane_id="$(projmux create codex --placement right -o pane-id -- "prompt")"
|
|
118
56
|
```
|
|
119
57
|
|
|
120
|
-
|
|
58
|
+
Success prints exactly one `%N` Pane id. Without `-o pane-id`, the direct
|
|
59
|
+
current-Window form defaults to no output. Failure to obtain a valid tmux Pane
|
|
60
|
+
id is nonzero rather than a false success.
|
|
121
61
|
|
|
122
|
-
|
|
123
|
-
/projmux:<agent>-right
|
|
124
|
-
/projmux:<agent>-down
|
|
125
|
-
```
|
|
62
|
+
## Naming pattern
|
|
126
63
|
|
|
127
|
-
|
|
64
|
+
Encode the provider and placement in the registered name. A bare provider name
|
|
65
|
+
may be a thin alias of its right-placement variant:
|
|
128
66
|
|
|
129
67
|
```text
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
/projmux:
|
|
133
|
-
/projmux:
|
|
68
|
+
$projmux-codex -> projmux create codex --placement right
|
|
69
|
+
$projmux-codex-down -> projmux create codex --placement down
|
|
70
|
+
/projmux:claude -> projmux create claude --placement right
|
|
71
|
+
/projmux:claude-down -> projmux create claude --placement down
|
|
134
72
|
```
|
|
135
73
|
|
|
136
|
-
The same pattern
|
|
137
|
-
|
|
138
|
-
surface calls `projmux ai split --agent <agent> <direction>` and passes only
|
|
139
|
-
agent flags after `--`.
|
|
140
|
-
|
|
141
|
-
### Bare-Name Default
|
|
142
|
-
|
|
143
|
-
When a surface registers a bare agent name without an explicit direction
|
|
144
|
-
suffix, treat it as the `right` variant. `right` is the convention for the
|
|
145
|
-
unqualified shortcut; `down` is always spelled out.
|
|
146
|
-
|
|
147
|
-
For Codex-style skill surfaces:
|
|
74
|
+
The same pattern works for editor commands, launchers, shell aliases, and
|
|
75
|
+
terminal custom actions.
|
|
148
76
|
|
|
149
|
-
|
|
150
|
-
$projmux-codex → projmux ai split --agent codex right
|
|
151
|
-
$projmux-claude → projmux ai split --agent claude right
|
|
152
|
-
$projmux-resume → projmux ai split --agent resume right
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
For Claude-style slash-command surfaces:
|
|
156
|
-
|
|
157
|
-
```text
|
|
158
|
-
/projmux:codex → projmux ai split --agent codex right
|
|
159
|
-
/projmux:claude → projmux ai split --agent claude right
|
|
160
|
-
/projmux:resume → projmux ai split --agent resume right
|
|
161
|
-
```
|
|
77
|
+
## Skill template
|
|
162
78
|
|
|
163
|
-
|
|
164
|
-
two surfaces stay in lockstep. The `*-down` variant must be invoked by its
|
|
165
|
-
full name; do not introduce a separate bare default for `down`.
|
|
166
|
-
|
|
167
|
-
## Skill Template
|
|
168
|
-
|
|
169
|
-
Use this shape when a tool lets you define a user-level skill that tells an
|
|
170
|
-
agent to run a shell command. Actual loader paths vary by installation; the
|
|
171
|
-
intended home is user-level config or dotfiles, not this repository.
|
|
172
|
-
|
|
173
|
-
Example Codex-style skill file:
|
|
174
|
-
|
|
175
|
-
```text
|
|
176
|
-
~/.codex/skills/projmux-codex-right/SKILL.md
|
|
177
|
-
```
|
|
79
|
+
Example user-level Codex-style skill body:
|
|
178
80
|
|
|
179
81
|
````markdown
|
|
180
82
|
---
|
|
181
83
|
name: projmux-codex-right
|
|
182
|
-
description: Open a projmux-managed Codex
|
|
84
|
+
description: Open a projmux-managed Codex Pane to the right.
|
|
183
85
|
---
|
|
184
86
|
|
|
185
87
|
Run this command:
|
|
186
88
|
|
|
187
89
|
```sh
|
|
188
|
-
projmux
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
If you have private Codex flags, use the explicit extra-args form instead:
|
|
192
|
-
|
|
193
|
-
```sh
|
|
194
|
-
projmux ai split --agent codex right -- --model <model>
|
|
90
|
+
projmux create codex --placement right
|
|
195
91
|
```
|
|
196
92
|
````
|
|
197
93
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
```text
|
|
201
|
-
~/.codex/skills/projmux-claude-down/SKILL.md
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
````markdown
|
|
205
|
-
---
|
|
206
|
-
name: projmux-claude-down
|
|
207
|
-
description: Open a projmux-managed Claude split below.
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
Run this command:
|
|
94
|
+
For a Claude-down variant, change only the description and command:
|
|
211
95
|
|
|
212
96
|
```sh
|
|
213
|
-
projmux
|
|
97
|
+
projmux create claude --placement down
|
|
214
98
|
```
|
|
215
99
|
|
|
216
|
-
|
|
100
|
+
## Slash-command template
|
|
217
101
|
|
|
218
|
-
|
|
219
|
-
projmux ai split --agent claude down -- <agent flags>
|
|
220
|
-
```
|
|
221
|
-
````
|
|
222
|
-
|
|
223
|
-
Resume picker examples:
|
|
224
|
-
|
|
225
|
-
```text
|
|
226
|
-
~/.codex/skills/projmux-resume-right/SKILL.md
|
|
227
|
-
~/.codex/skills/projmux-resume-down/SKILL.md
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
````markdown
|
|
231
|
-
---
|
|
232
|
-
name: projmux-resume-right
|
|
233
|
-
description: Open a projmux-managed AI resume-session picker to the right.
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
Run this command:
|
|
237
|
-
|
|
238
|
-
```sh
|
|
239
|
-
projmux ai split --agent resume right
|
|
240
|
-
```
|
|
241
|
-
````
|
|
242
|
-
|
|
243
|
-
If your tool stores skills as JSON, TOML, or another format, keep the same
|
|
244
|
-
fields conceptually:
|
|
245
|
-
|
|
246
|
-
- Name: the user-facing shortcut, such as `$projmux-codex-right`.
|
|
247
|
-
- Description: one sentence saying which agent and direction it opens.
|
|
248
|
-
- Command: the `projmux ai split` invocation.
|
|
249
|
-
- Arguments: optional agent arguments placed after `--`.
|
|
250
|
-
|
|
251
|
-
## Slash Command Template
|
|
252
|
-
|
|
253
|
-
Use this shape when a tool lets you define user-level slash commands. Actual
|
|
254
|
-
loader paths and interpolation variables can vary by installation; user-level
|
|
255
|
-
config or dotfiles is the intended home.
|
|
256
|
-
|
|
257
|
-
```text
|
|
258
|
-
~/.claude/commands/projmux/codex-right.md
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
This maps to a slash command named `/projmux:codex-right`:
|
|
262
|
-
|
|
263
|
-
````markdown
|
|
264
|
-
Open a Codex split to the right in the current projmux session.
|
|
265
|
-
|
|
266
|
-
Run this command:
|
|
267
|
-
|
|
268
|
-
```sh
|
|
269
|
-
projmux ai split --agent codex right
|
|
270
|
-
```
|
|
271
|
-
````
|
|
272
|
-
|
|
273
|
-
For an argument-aware wrapper, include the separator only when arguments are
|
|
274
|
-
non-empty. Adapt this shell shape to the tool's command-file format:
|
|
102
|
+
A user-level `/projmux:codex-right` command can carry this executable body:
|
|
275
103
|
|
|
276
104
|
```sh
|
|
277
105
|
if [ -n "$ARGUMENTS" ]; then
|
|
278
|
-
projmux
|
|
106
|
+
projmux create codex --placement right -- $ARGUMENTS
|
|
279
107
|
else
|
|
280
|
-
projmux
|
|
108
|
+
projmux create codex --placement right
|
|
281
109
|
fi
|
|
282
110
|
```
|
|
283
111
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
For a Claude target, use a sibling file such as:
|
|
288
|
-
|
|
289
|
-
```text
|
|
290
|
-
~/.claude/commands/projmux/claude-down.md
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
This maps to `/projmux:claude-down`:
|
|
294
|
-
|
|
295
|
-
````markdown
|
|
296
|
-
Open a Claude split below in the current projmux session.
|
|
297
|
-
|
|
298
|
-
Run this command:
|
|
299
|
-
|
|
300
|
-
```sh
|
|
301
|
-
projmux ai split --agent claude down
|
|
302
|
-
```
|
|
303
|
-
````
|
|
304
|
-
|
|
305
|
-
For an argument-aware wrapper, use the same non-empty check:
|
|
306
|
-
|
|
307
|
-
```sh
|
|
308
|
-
if [ -n "$ARGUMENTS" ]; then
|
|
309
|
-
projmux ai split --agent claude down -- $ARGUMENTS
|
|
310
|
-
else
|
|
311
|
-
projmux ai split --agent claude down
|
|
312
|
-
fi
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
Then pass private Claude flags at invocation time only when needed, such as
|
|
316
|
-
`/projmux:claude-down <agent flags>`.
|
|
317
|
-
|
|
318
|
-
If the tool separates command metadata from the shell body, put only the
|
|
319
|
-
`projmux ai split ...` line in the executable body. Avoid embedding
|
|
320
|
-
machine-specific project roots, permission policies, or personal model choices
|
|
321
|
-
in shared docs; put those in your private user-level command files.
|
|
112
|
+
Adapt argument interpolation to the owning tool. Do not embed machine-specific
|
|
113
|
+
project roots, permission policies, or model choices in shared docs.
|
|
322
114
|
|
|
323
115
|
## Checklist
|
|
324
116
|
|
|
325
|
-
- Register
|
|
326
|
-
|
|
327
|
-
-
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
331
|
-
- Use `--agent selective` with no tail for the picker.
|
|
332
|
-
- Use `--print-pane-id` only with an explicit direct
|
|
333
|
-
`claude|codex|antigravity|shell` target when an automation caller needs the
|
|
334
|
-
returned `%N` handle.
|
|
335
|
-
- Treat a bare agent name (`/projmux:codex`, `$projmux-claude`) as the
|
|
336
|
-
`right` variant; spell out `*-down` shortcuts in full.
|
|
337
|
-
- Keep tracked project docs and `AGENTS.md` free of private shortcut policy.
|
|
117
|
+
- Register the shortcut in the user-level surface that owns it.
|
|
118
|
+
- Use a canonical provider shortcut or `create agent --provider ...`.
|
|
119
|
+
- Put provider arguments after `--`; omit it when the payload is empty.
|
|
120
|
+
- Use `create pane` for a shell Pane.
|
|
121
|
+
- Use `-o pane-id` only when automation consumes the returned `%N` handle.
|
|
122
|
+
- Keep private workflow policy outside tracked project docs.
|