@martintrojer/mu 0.4.1 → 0.4.2
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/dist/cli.js +286 -47
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +72 -48
- package/dist/index.js +58 -14
- package/dist/index.js.map +1 -1
- package/docs/USAGE_GUIDE.md +38 -0
- package/package.json +1 -1
package/docs/USAGE_GUIDE.md
CHANGED
|
@@ -393,6 +393,44 @@ form `<workstream>/<id>` when a global scope is needed. Blocks-edges
|
|
|
393
393
|
are always same-workstream — if a blocker resolves outside the target
|
|
394
394
|
workstream, mu refuses with a `CrossWorkstreamEdgeError`.
|
|
395
395
|
|
|
396
|
+
### Modeling external dependencies
|
|
397
|
+
|
|
398
|
+
When a task is waiting on something outside this repo (an upstream PR
|
|
399
|
+
shipping, a vendor releasing v3 of an API, a coworker's review), don't
|
|
400
|
+
reach for a new status — add a **placeholder task** for the external
|
|
401
|
+
thing and `--blocked-by` it. The DAG already encodes "blocked":
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
mu task add upstream_react_19_lands -w gchatui-node \
|
|
405
|
+
--title "Wait for React 19 release (vendor)" \
|
|
406
|
+
--impact 30 --effort-days 0.1
|
|
407
|
+
mu task note upstream_react_19_lands -w gchatui-node \
|
|
408
|
+
"Tracking https://github.com/facebook/react/issues/...
|
|
409
|
+
Last checked: 2026-05-15.
|
|
410
|
+
When this lands: bump react in package.json + re-run upgrade tasks."
|
|
411
|
+
|
|
412
|
+
mu task add migrate_to_use_action -w gchatui-node \
|
|
413
|
+
--title "Migrate ChatInput to React 19 useActionState" \
|
|
414
|
+
--impact 60 --effort-days 1 \
|
|
415
|
+
--blocked-by upstream_react_19_lands
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
When the upstream lands, `mu task close upstream_react_19_lands
|
|
419
|
+
--evidence "shipped 2026-08-12"` — the dependent flips from blocked
|
|
420
|
+
to ready in the same render. If the upstream gets cancelled, `mu task
|
|
421
|
+
reject upstream_react_19_lands --cascade --yes` propagates REJECTED
|
|
422
|
+
through every dependent so you re-think the cascade explicitly.
|
|
423
|
+
|
|
424
|
+
Benefits over a hypothetical `BLOCKED` status:
|
|
425
|
+
|
|
426
|
+
- The placeholder's notes are the audit trail ("who I nudged, when").
|
|
427
|
+
- One placeholder cleanly blocks N downstream tasks.
|
|
428
|
+
- Reject cascade just works.
|
|
429
|
+
- No new vocabulary; anyone who knows `--blocked-by` already knows this.
|
|
430
|
+
- The placeholder's own status carries nuance (`OPEN` = someone
|
|
431
|
+
external is working it, `DEFERRED` = parked indefinitely,
|
|
432
|
+
`IN_PROGRESS` = you're actively chasing it).
|
|
433
|
+
|
|
396
434
|
---
|
|
397
435
|
|
|
398
436
|
## 5. See the graph (dashboard + state API)
|
package/package.json
CHANGED