@mu-crew/mu 1.6.0 → 3.0.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/AGENTS.md +6 -5
- package/README.md +31 -17
- package/dist/cli.js +3582 -2633
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +265 -137
- package/dist/index.js +3128 -2486
- package/dist/index.js.map +1 -1
- package/docs/ARCHITECTURE.md +71 -45
- package/docs/ROADMAP.md +20 -105
- package/docs/USAGE_GUIDE.md +62 -41
- package/docs/VISION.md +11 -21
- package/docs/VOCABULARY.md +33 -40
- package/docs/img/tui-dashboard.png +0 -0
- package/docs/specs/2026-09-28-agent-state-from-murmur.md +333 -0
- package/docs/specs/2026-09-29-task-substates.md +247 -0
- package/package.json +1 -1
- package/skills/mu/REMOTE_WORKERS.md +31 -38
- package/skills/mu/SKILL.md +26 -25
- package/docs/.m-reflow-5f7exa_b.md +0 -509
- package/docs/.m-reflow-5v_034rw.md +0 -545
- package/docs/.m-reflow-7yaw8ubc.md +0 -513
package/AGENTS.md
CHANGED
|
@@ -58,7 +58,7 @@ mu/
|
|
|
58
58
|
├── src/ # all source (root files: SDK + shared infra; one
|
|
59
59
|
│ # level of subdirs OK for cohesive clusters — see
|
|
60
60
|
│ # `src/cli/`, `src/agents/`, `src/tasks/`, `src/mux/`)
|
|
61
|
-
│ ├── db.ts # SQLite schema + openDb (single CREATE-IF-NOT-EXISTS block;
|
|
61
|
+
│ ├── db.ts # SQLite schema + openDb (single CREATE-IF-NOT-EXISTS block; v11)
|
|
62
62
|
│ │ # also owns SYNCED_ENTITIES / PORTABLE_TABLES / MACHINE_LOCAL_TABLES
|
|
63
63
|
│ ├── mux.ts # multiplexer backend hub (re-exports src/mux/*)
|
|
64
64
|
│ ├── mux/ # cohesive cluster: one file per multiplexer
|
|
@@ -448,11 +448,12 @@ proves itself.
|
|
|
448
448
|
|
|
449
449
|
### "Update the schema"
|
|
450
450
|
|
|
451
|
-
1. Current schema version is **
|
|
452
|
-
`src/db.ts`):
|
|
451
|
+
1. Current schema version is **v11** (`CURRENT_SCHEMA_VERSION` in
|
|
452
|
+
`src/db.ts`): 11 tables + 3 views. The schema is the
|
|
453
453
|
`applySchema(db)` block — idempotent CREATE-IF-NOT-EXISTS plus
|
|
454
|
-
targeted `DROP TABLE IF EXISTS`. `openDb` REFUSES any pre-
|
|
455
|
-
with `SchemaTooOldError`
|
|
454
|
+
targeted `DROP TABLE IF EXISTS`. `openDb` REFUSES any pre-v11 DB
|
|
455
|
+
with `SchemaTooOldError` and any newer one with `SchemaTooNewError`
|
|
456
|
+
(both exit 4); there is no in-process
|
|
456
457
|
migration ladder.
|
|
457
458
|
2. Bump `CURRENT_SCHEMA_VERSION` in `src/db.ts` and mirror the new
|
|
458
459
|
shape in `CURRENT_SCHEMA`. Prefer script-free bumps: additive
|
package/README.md
CHANGED
|
@@ -38,6 +38,9 @@ For the full copy-paste flow, see [Quick start](#quick-start).
|
|
|
38
38
|
|
|
39
39
|
## What mu is
|
|
40
40
|
|
|
41
|
+
mu excels at organising large pieces of work and keeping your agents
|
|
42
|
+
on track.
|
|
43
|
+
|
|
41
44
|
- **Parallelism that doesn't trip over itself.** Per-agent VCS
|
|
42
45
|
workspaces plus a task DAG with deterministic parallel-track
|
|
43
46
|
detection keep agents off each other's toes.
|
|
@@ -77,6 +80,17 @@ For the full copy-paste flow, see [Quick start](#quick-start).
|
|
|
77
80
|
|
|
78
81
|
## When mu earns its overhead
|
|
79
82
|
|
|
83
|
+
mu pays off when the work is bigger than one agent's context: many
|
|
84
|
+
steps, dependencies between them, several agents, or a job that runs
|
|
85
|
+
for days. The DAG holds the plan, so no single agent has to. Each
|
|
86
|
+
agent claims one ready task, works in its own workspace, writes notes
|
|
87
|
+
on the task as it goes (findings, decisions, dead ends), and closes
|
|
88
|
+
it with evidence. Every claim, note and close is appended to the
|
|
89
|
+
audit log. If an agent drifts, stalls, or loses its pane, the plan,
|
|
90
|
+
the notes, and the history of who did what are still there. You, or
|
|
91
|
+
the next agent, pick up where it stopped instead of explaining
|
|
92
|
+
everything again.
|
|
93
|
+
|
|
80
94
|
**Use mu for** — multi-phase investigations; tasks worth gating with
|
|
81
95
|
review; parallel audit or implementation/reviewer splits with isolated
|
|
82
96
|
workspaces; anything where "what was decided and why" needs to outlive
|
|
@@ -94,9 +108,10 @@ adds ceremony.
|
|
|
94
108
|
## Install
|
|
95
109
|
|
|
96
110
|
```bash
|
|
97
|
-
# 1. The CLI.
|
|
98
|
-
npm install -g @mu-crew/mu
|
|
111
|
+
# 1. The CLI, and murmur for agent state on tmux (see below).
|
|
112
|
+
npm install -g @mu-crew/mu @mu-crew/murmur
|
|
99
113
|
mu --version
|
|
114
|
+
murmur init && murmur link pi
|
|
100
115
|
|
|
101
116
|
# 2. The skill (teaches your coding agent how to drive mu).
|
|
102
117
|
npx skills add mu-crew/mu # auto-detects pi / claude-code / codex / etc.
|
|
@@ -106,18 +121,21 @@ npx skills add mu-crew/mu # auto-detects pi / claude-code / codex / etc
|
|
|
106
121
|
**Requirements:**
|
|
107
122
|
- Node 22.12–26 (see `.nvmrc`), matching `engines` in `package.json`.
|
|
108
123
|
- A terminal multiplexer: tmux ≥ 3.0, or [herdr](https://github.com/herdrdev/herdr)
|
|
109
|
-
(`mu doctor` reports which one is active). Spawn, send, read
|
|
110
|
-
|
|
111
|
-
|
|
124
|
+
(`mu doctor` reports which one is active). Spawn, send, and read work
|
|
125
|
+
on both. Agent state comes from herdr on herdr and from murmur on tmux;
|
|
126
|
+
the remaining herdr gaps are listed in
|
|
112
127
|
[docs/USAGE_GUIDE.md § 20](docs/USAGE_GUIDE.md#20-multiplexer-backends-tmux-and-herdr).
|
|
113
128
|
- pi (the agent CLI mu orchestrates)
|
|
114
129
|
- For `--workspace`: jj, sl, or git on PATH (or `--backend none`)
|
|
115
130
|
|
|
116
|
-
**
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
131
|
+
**Agent state on tmux needs [murmur](https://github.com/mu-crew/murmur),
|
|
132
|
+
even on one machine.** mu owns the work; murmur reports what each agent is
|
|
133
|
+
doing. mu does not read panes itself, so without murmur every agent's state
|
|
134
|
+
is `unknown`, and everything built on state goes quiet: `mu agent wait`
|
|
135
|
+
never fires, `mu task wait --stuck-after` / `--on-stall exit` never detects
|
|
136
|
+
a worker waiting on you, and spawn skips its readiness check. Tasks, claims,
|
|
137
|
+
`mu task wait` on status, workspaces, spawn and send still work. murmur also
|
|
138
|
+
provides one attention-sorted list across machines and owns the ssh egress.
|
|
121
139
|
|
|
122
140
|
```bash
|
|
123
141
|
# on every node that runs agents
|
|
@@ -130,13 +148,9 @@ murmur peer add dev # an ssh target; identity is discovered
|
|
|
130
148
|
murmur peer list # which hosts are reachable, and when last seen
|
|
131
149
|
```
|
|
132
150
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
`orchestrated` — "crew" — and hides them unless they are blocked or
|
|
137
|
-
crashed, since a supervisor consumes anything else. Useful for
|
|
138
|
-
picking a host before spawning a remote worker, and for spotting a
|
|
139
|
-
blocked agent on a machine you are not looking at.
|
|
151
|
+
mu exports `MU_MANAGED_AGENT`, `MU_AGENT_NAME`, and `MU_WORKSTREAM`
|
|
152
|
+
into every pane it spawns. murmur uses them to identify crew agents.
|
|
153
|
+
See murmur's [stable contract](https://github.com/mu-crew/murmur/blob/main/ARCHITECTURE.md#contract).
|
|
140
154
|
|
|
141
155
|
**Update:** `npm install -g @mu-crew/mu@latest` for the CLI;
|
|
142
156
|
`npx skills update mu` for the skill.
|