projmux 0.5.3 → 0.6.1
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/docs/agent-workflow.md +17 -5
- package/docs/cli.md +284 -20
- package/docs/configuration.md +179 -30
- package/docs/hooks.md +476 -64
- package/docs/install.md +6 -0
- package/docs/keybindings.md +22 -39
- package/docs/notify-os-focus-poc.md +84 -6
- package/docs/notify-queue.md +37 -5
- package/docs/session-restore.md +72 -0
- package/docs/settings-ia.md +66 -0
- package/docs/statusbar.md +32 -26
- package/package.json +5 -5
- package/docs/roadmap.md +0 -109
package/docs/roadmap.md
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Roadmap
|
|
2
|
-
|
|
3
|
-
## Done (0.4.x)
|
|
4
|
-
|
|
5
|
-
The 0.4 line filled in the operational surface around the session-management
|
|
6
|
-
core that 0.3 had landed.
|
|
7
|
-
|
|
8
|
-
### Setup and install
|
|
9
|
-
|
|
10
|
-
- `projmux setup` — TTY raw-mode probe that reports which projmux key
|
|
11
|
-
sequences (`Alt-1..5`, `Ctrl-N`, `Ctrl-Shift-{R,L,M}`, `Ctrl-M`,
|
|
12
|
-
`Alt-Shift-{Left,Right}`) reach the process and which the terminal
|
|
13
|
-
swallows.
|
|
14
|
-
- `projmux init [terminal]` — auto-merges projmux's CSI-u + chord
|
|
15
|
-
bindings into a terminal config. Adapters: Ghostty (with the
|
|
16
|
-
`config` / `config.ghostty` candidate split and symlink guard) and
|
|
17
|
-
Windows Terminal (WSL + native).
|
|
18
|
-
|
|
19
|
-
### Diagnostics
|
|
20
|
-
|
|
21
|
-
- `projmux doctor` — runtime dependency report. Enforces minimum tmux
|
|
22
|
-
3.4 and checks workflow dependencies such as `git` and `stty`.
|
|
23
|
-
|
|
24
|
-
### Focus
|
|
25
|
-
|
|
26
|
-
- `projmux focus` — unified switch-client dispatch. Resolves a target
|
|
27
|
-
session against the live tmux inventory, redirects an existing client
|
|
28
|
-
if one is attached, otherwise emits a desktop notification. Used by
|
|
29
|
-
the status-bar notify click and by the AI reply-ready handler.
|
|
30
|
-
|
|
31
|
-
### Notify queue
|
|
32
|
-
|
|
33
|
-
- `projmux notify push|list|ack` — persistent JSON-backed queue at
|
|
34
|
-
`<state>/projmux/notify.json` with TTL, severity, source, and target
|
|
35
|
-
metadata.
|
|
36
|
-
- `projmux notify reconcile` — back-fills the queue from live pane
|
|
37
|
-
state by walking `tmux list-panes -a`.
|
|
38
|
-
- Producer wired to the attention state machine: a pane transitioning
|
|
39
|
-
to `reply` with an AI agent option set pushes an `ai:<session>:<pane>`
|
|
40
|
-
entry; the matching `clear` acks it.
|
|
41
|
-
|
|
42
|
-
### Usage tracking
|
|
43
|
-
|
|
44
|
-
- `projmux usage` (and `status usage`) — authoritative 5h + weekly
|
|
45
|
-
utilisation for both Claude (OAuth `api/oauth/usage` endpoint with
|
|
46
|
-
401 token refresh) and Codex (latest rollout `rate_limits` JSONL).
|
|
47
|
-
- Per-adapter throttle (Claude `5m`, default `30s`), 429 backoff
|
|
48
|
-
(`30m`–`60m` exponential), `--force` to bypass both. Snapshots
|
|
49
|
-
preserved on failure so a 429 does not erase prior rows.
|
|
50
|
-
|
|
51
|
-
### Statusbar and HUD
|
|
52
|
-
|
|
53
|
-
- Two-line clickable status bar: row 0 is the existing
|
|
54
|
-
session/window/path/git/kube row, row 1 splits notify (left) and
|
|
55
|
-
usage (right), with a row-0 settings click fallback.
|
|
56
|
-
- `projmux statusbar click` — single dispatcher for both mouse clicks
|
|
57
|
-
and the `prefix s {u,n,g,k,p,s}` keyboard chord. Window-list clicks
|
|
58
|
-
on tabs short-circuit to native `select-window`.
|
|
59
|
-
- `pwd` status click copies the current pane path into the tmux paste
|
|
60
|
-
buffer and shows a compact path popup instead of a transient
|
|
61
|
-
warning-coloured toast.
|
|
62
|
-
- HUD-style notify segment with severity+agent badge, midpoint dot
|
|
63
|
-
separators, and an age field.
|
|
64
|
-
- HUD-style usage segment with bars, last-sync age indicator (Claude),
|
|
65
|
-
and graceful degradation through six tiers as `--max-width` shrinks.
|
|
66
|
-
|
|
67
|
-
## Next (0.5+)
|
|
68
|
-
|
|
69
|
-
Carried forward from earlier milestones — items still outstanding when
|
|
70
|
-
v0.4 shipped.
|
|
71
|
-
|
|
72
|
-
### Picker UI
|
|
73
|
-
|
|
74
|
-
- Picker-domain model separate from row rendering. Done in the 0.5 picker
|
|
75
|
-
contract slice.
|
|
76
|
-
- Native picker backend for multi-line card rows and title-focused search.
|
|
77
|
-
Done in the 0.5 picker contract slice, later promoted to the only picker
|
|
78
|
-
backend.
|
|
79
|
-
- Port switcher popup/sidebar surfaces after parity tests cover
|
|
80
|
-
selection, preview, and key actions.
|
|
81
|
-
|
|
82
|
-
### Picker dismissal
|
|
83
|
-
|
|
84
|
-
- Picker-agnostic popup close/toggle handling so AI picker dismissal
|
|
85
|
-
does not depend on backend-specific key bindings. Done in the 0.5 picker
|
|
86
|
-
contract slice; the native runner consumes shared close action keys.
|
|
87
|
-
|
|
88
|
-
### Keybindings
|
|
89
|
-
|
|
90
|
-
- In-app Settings editor for tmux keymap entries. Done in the 0.5 keybinding
|
|
91
|
-
M4 slice: Settings > Keybindings lists actions, opens action detail rows,
|
|
92
|
-
accepts typed `plain`/`prefix` tmux chord strings, supports disable/reset,
|
|
93
|
-
writes `~/.config/projmux/keymap.toml`, regenerates the app tmux config, and
|
|
94
|
-
hot-reloads the live tmux config when Settings is running inside tmux.
|
|
95
|
-
- M6 progress: Settings > Labs now exposes a Keybinding Lab that reuses the
|
|
96
|
-
setup probe and init merge engines for per-action diagnostics, single-key
|
|
97
|
-
plain/CSI-u/unknown/timeout outcomes, and supported terminal fallback
|
|
98
|
-
preview/apply actions.
|
|
99
|
-
- Still outstanding for later milestones: broader terminal-specific fallback
|
|
100
|
-
remediation for changed/custom fallback mappings beyond the supported init
|
|
101
|
-
adapters.
|
|
102
|
-
|
|
103
|
-
### Docker install and E2E harness
|
|
104
|
-
|
|
105
|
-
- Initial Docker-backed Linux smoke suites are available through
|
|
106
|
-
`make test-integration`, `make test-install-smoke`, and `make test-e2e`.
|
|
107
|
-
They cover install/runtime substrate checks against real `tmux`; host-only
|
|
108
|
-
terminal, WSL, macOS, and GUI checks remain separate in
|
|
109
|
-
[docs/testing.md](testing.md).
|