cyber-mux 0.7.0 → 0.8.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.md ADDED
@@ -0,0 +1,73 @@
1
+ # cyber-mux
2
+
3
+ [![npm version](https://img.shields.io/npm/v/cyber-mux.svg)](https://www.npmjs.com/package/cyber-mux)
4
+ [![npm downloads](https://img.shields.io/npm/dm/cyber-mux.svg)](https://www.npmjs.com/package/cyber-mux)
5
+ [![release](https://github.com/cyberuni/cyber-mux/actions/workflows/release.yml/badge.svg)](https://github.com/cyberuni/cyber-mux/actions/workflows/release.yml)
6
+ [![docs](https://img.shields.io/badge/docs-cyberuni.github.io-blue)](https://cyberuni.github.io/cyber-mux/)
7
+ [![license](https://img.shields.io/npm/l/cyber-mux.svg)](https://www.npmjs.com/package/cyber-mux)
8
+
9
+ Cross-multiplexer pane control for AI-agent tooling. One contract over terminal multiplexers — open,
10
+ send, read, focus, and close panes without caring which multiplexer you are inside.
11
+
12
+ `cyber-mux` is the mux seam used by [`cyberlegion`](https://github.com/cyberuni/cyberplace), kept
13
+ deliberately narrow: it drives panes and nothing else.
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npx cyber-mux mode
19
+ ```
20
+
21
+ ## What it does
22
+
23
+ - **Detects** the multiplexer you are running under — env fast-path (`CYBER_MUX` / `CYBER_MUX_PANE`),
24
+ otherwise a process-ancestry walk falling back to the multiplexer's own env hints.
25
+ - **Drives panes** through one `MuxAdapter` contract: `open`, `send`, `submit`, `read`, `wait`,
26
+ `focus`, `close`, `list`, `exists`.
27
+ - **Nudges** a peer pane and verifies the turn was actually taken (recovers a submit swallowed by a
28
+ booting harness).
29
+ - **Worktrees**: create a git worktree and open it in a new workspace/session in one step.
30
+
31
+ ## Backends
32
+
33
+ Drivable: **tmux**, **rmux**, **herdr**, **wezterm**, **zellij**, **cmux**, **otty**.
34
+
35
+ GNU **screen** is recognized and reported truthfully, then rejected with a named error rather than
36
+ driven — it addresses panes positionally, so a driver-created pane has no stable identity to send to,
37
+ read from, or self-identify by.
38
+
39
+ ## Commands
40
+
41
+ | Command | Description |
42
+ | --- | --- |
43
+ | `cyber-mux doctor` | Probe the multiplexer, self pane, and backend; print fast-path pins |
44
+ | `cyber-mux mode` | Report the detected session backend |
45
+ | `cyber-mux open` | Open a new pane/tab/workspace, optionally launching a command in it |
46
+ | `cyber-mux send` | Drive a pane without taking its turn (text or keys) |
47
+ | `cyber-mux submit` | Take a pane's turn: type the text if given, then press Enter |
48
+ | `cyber-mux read` | Capture a pane's output |
49
+ | `cyber-mux wait` | Block until a pane's output matches (exit 0), or the timeout elapses (exit 1) |
50
+ | `cyber-mux focus` | Beam the attached client to a pane |
51
+ | `cyber-mux close` | Close a pane |
52
+ | `cyber-mux list` / `exists` | Enumerate live panes / probe whether one is still live |
53
+ | `cyber-mux worktree` | Git worktree helpers for spawning and tearing down a session |
54
+ | `cyber-mux template` | Manage named templates (apply one with `open`/`worktree --template`) |
55
+ | `cyber-mux agent` | Inspect and wait on a pane's agent-lifecycle state |
56
+
57
+ Full reference: <https://cyberuni.github.io/cyber-mux/>
58
+
59
+ ## Development
60
+
61
+ Node and pnpm are pinned in `mise.toml` and managed by [mise](https://mise.jdx.dev):
62
+
63
+ ```bash
64
+ mise install # node + pnpm at the pinned versions
65
+ pnpm install
66
+ pnpm verify # build + typecheck + lint + test
67
+ ```
68
+
69
+ The CLI lives in `packages/cyber-mux`; the docs site in `apps/website` (Astro + Starlight).
70
+
71
+ ## License
72
+
73
+ MIT