@mutmutco/kilo-plugin 3.96.0 → 3.98.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/package.json
CHANGED
|
@@ -130,11 +130,15 @@ FIRST=main # trunk (content)
|
|
|
130
130
|
|
|
131
131
|
# One-time namespace + first-ref creation uses the authenticated master-admin GitHub session. The current
|
|
132
132
|
# mmi-cli has no App-backed command for a repository that does not exist; this is the named exception.
|
|
133
|
-
gh repo create "$OWNER/$REPO" --private
|
|
133
|
+
gh repo create "$OWNER/$REPO" --private --disable-wiki
|
|
134
134
|
gh api -X PUT "repos/$OWNER/$REPO/contents/.gitkeep" \
|
|
135
135
|
-f message="chore: initial commit" -f content="Cg==" -f branch="$FIRST"
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
+
`--disable-wiki` seeds `has_wiki=false` at creation: wikis are retired org-wide (compute-at-read, #4206),
|
|
139
|
+
GitHub defaults new repos to `has_wiki=true`, and `bootstrap apply --execute` / `bootstrap reconcile --apply`
|
|
140
|
+
enforce the same rule as drift checks afterwards.
|
|
141
|
+
|
|
138
142
|
On an empty repo that PUT creates `$FIRST` **and leaves it the default branch**, so no `gh repo edit
|
|
139
143
|
--default-branch` is needed here. Skip this step when the repo already exists with the track's default branch.
|
|
140
144
|
|
package/skills/epic/SKILL.md
CHANGED
|
@@ -48,6 +48,8 @@ Write a JSON array (one object per child) to a scratch path under `tmp/`. Each r
|
|
|
48
48
|
create, so you do not need a separate `link-child` pass. Cross-repo is fine (a Hub umbrella can parent
|
|
49
49
|
product-repo children).
|
|
50
50
|
- `priority` — `urgent|high|medium|low` (defaults to `medium`); sets the board Priority **field**.
|
|
51
|
+
- `repo` — optional per-row target repo (`owner/repo`); defaults to `--repo`, then the current repo.
|
|
52
|
+
This is how one batch fans children out across repos under a single umbrella.
|
|
51
53
|
- `surface` — required when the target repo uses `surface:*` taxonomy; accepts the value with or without
|
|
52
54
|
the prefix. A top-level `--surface <value>` may supply the default for every applicable row.
|
|
53
55
|
|
package/skills/mmi/SKILL.md
CHANGED
|
@@ -31,33 +31,34 @@ it on every move). Closed/finished items auto-archive after they go quiet; archi
|
|
|
31
31
|
- Known login → `👋 Welcome back, @<login> — pulling up your board…`
|
|
32
32
|
- `source: unknown` → generic `👋 Welcome back — pulling up your board…`
|
|
33
33
|
2. **Keep the board fast: read first, run doctor only when evidence says it can change this render (#2112).**
|
|
34
|
-
The normal happy path is identity → board read. Do **not** block the board on
|
|
34
|
+
The normal happy path is identity → board read. Do **not** block the board on a doctor run just to
|
|
35
35
|
check freshness. Run doctor synchronously only after a hard signal that the current setup may be broken:
|
|
36
36
|
`mmi-cli` is missing, `board read` reports missing auth/project scope, the command surface is absent, or a
|
|
37
37
|
cached/session-start health line explicitly says a heal is needed.
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
mmi-cli board read --json # Step 1 — first useful render on the happy path
|
|
41
|
-
mmi-cli doctor --
|
|
41
|
+
mmi-cli doctor --no-repo-writes # only after a hard setup signal — foreground, one at a time
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Since #
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
Since #4199 `--preflight` is **READ-ONLY** (docs/doctor-contract.md § Flag Grammar — the canon
|
|
45
|
+
reversal; jerv semantics win estate-wide): it measures and reports with the shared exit code and performs
|
|
46
|
+
zero writes. The heal lane for "fix my env before work" is `doctor --no-repo-writes` — the default heal
|
|
47
|
+
run minus repo working-tree mutation. Its heals are `npm install -g` and a marketplace remove → add →
|
|
48
|
+
install, both machine-global, serialised behind a machine-wide lock (#3489), so two concurrent runs no
|
|
49
|
+
longer interleave inside the npm prefix or the marketplace clone — the second waits, and if the first is
|
|
50
|
+
still installing after two minutes the second reports the heal as skipped rather than forcing it.
|
|
49
51
|
|
|
50
|
-
Still run it in the foreground and wait. The lock stops corruption, not confusion: a backgrounded
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
Still run it in the foreground and wait. The lock stops corruption, not confusion: a backgrounded run
|
|
53
|
+
that reports "skipped — lock busy" has healed nothing, and an agent that does not read that line will
|
|
54
|
+
carry on believing its tooling was fixed.
|
|
53
55
|
|
|
54
|
-
`doctor --
|
|
55
|
-
half of the interactive doctor
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
when it prints `↻ MMI tooling updated — …`, relay the reload/restart guidance.
|
|
56
|
+
`doctor --no-repo-writes` heals a stale npm global or a stale/unresolved plugin install (the **env**
|
|
57
|
+
half of the interactive doctor, #3485/#3975) — it never touches the repo working tree. When it prints
|
|
58
|
+
`↻ Updating mmi tooling, one moment…`, relay that before waiting; when it prints `↻ MMI tooling
|
|
59
|
+
updated — …`, relay the reload/restart guidance.
|
|
59
60
|
|
|
60
|
-
What
|
|
61
|
+
What the env half heals:
|
|
61
62
|
|
|
62
63
|
- a behind npm global → `npm install -g @mutmutco/cli@<released version>`, pinned, never the floating
|
|
63
64
|
`@latest`, which npm can resolve off a cached packument and reinstall the stale version right after a
|
|
@@ -67,14 +68,12 @@ What it actually heals, and nothing more:
|
|
|
67
68
|
reinstall, never `claude plugin update`, which nests into itself past MAX_PATH on Windows and wipes the
|
|
68
69
|
marketplace clone (#1126). Effective after a reload: **restart Claude Code / run `/reload-plugins`**
|
|
69
70
|
(native), or **reopen the workspace** (VS Code extension).
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
cache. Stale cached versions are a detect-only row; the verb that deletes them is `mmi-cli plugin prune
|
|
74
|
-
--apply`.
|
|
71
|
+
- superseded plugin cache versions → the guarded auto-prune (#4199, canon per
|
|
72
|
+
docs/doctor-contract.md § Guarded cache prune): never the running/newest/installed version, a cache a
|
|
73
|
+
live session holds is named "still held" and never forced.
|
|
75
74
|
|
|
76
75
|
- **Fast path** → `whoami` then `board read`; no foreground doctor.
|
|
77
|
-
- **Hard setup signal** → run `doctor --
|
|
76
|
+
- **Hard setup signal** → run `doctor --no-repo-writes`, relay `↻` lines, then retry `board read` when appropriate.
|
|
78
77
|
- **`mmi-cli: command not found`** → plugin PATH provisioning has not applied, or the standalone CLI is not installed.
|
|
79
78
|
In Claude Code, reopen the session; if it persists, install the MMI plugin:
|
|
80
79
|
`/plugin marketplace add mutmutco/MMI-Hub` → `/plugin install mmi@mutmutco` → `/reload-plugins`.
|
|
@@ -117,7 +116,7 @@ cache. Stale cached versions are a detect-only row; the verb that deletes them i
|
|
|
117
116
|
missing project/board coords → a master-admin registers or backfills the repo's `PROJECT#<slug>` META.
|
|
118
117
|
There's no reliable project to read until that is fixed, so stop here.
|
|
119
118
|
|
|
120
|
-
A broken setup surfaces from `doctor --preflight
|
|
119
|
+
A broken setup surfaces from `doctor --preflight` (read-only), a failed `board read`, or a gate that still fails after
|
|
121
120
|
heal — handle it then. A `command not found` from **either** command routes into the recovery paths above.
|
|
122
121
|
Don't block the all-green path on doctor noise.
|
|
123
122
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: doctor
|
|
2
|
+
name: mmi-doctor
|
|
3
3
|
description: One hygiene pass — mmi-cli doctor heals and cleans by default.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /doctor — one hygiene pass
|
|
6
|
+
# /mmi-doctor — one hygiene pass
|
|
7
7
|
|
|
8
8
|
One command. Run it when a session opens messy or before a handoff.
|
|
9
9
|
|
|
@@ -28,7 +28,7 @@ default doctor — use `mmi-cli secrets diff` when you need a catalog gap check.
|
|
|
28
28
|
|
|
29
29
|
## Do not run the old multi-step ritual
|
|
30
30
|
|
|
31
|
-
Do **not** chain these as a `/doctor` substitute:
|
|
31
|
+
Do **not** chain these as a `/mmi-doctor` substitute:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
mmi-cli doctor --self
|
|
@@ -42,7 +42,7 @@ that surface alone (e.g. a secrets catalog review, or an interactive `board doct
|
|
|
42
42
|
|
|
43
43
|
## Notes
|
|
44
44
|
|
|
45
|
-
- `/doctor` is the hygiene pass; `/resume` is the lighter read-only session open.
|
|
45
|
+
- `/mmi-doctor` is the hygiene pass; `/resume` is the lighter read-only session open.
|
|
46
46
|
- Prefer one doctor run over hand-editing board items, gitignore blocks, or marketplace pins.
|
|
47
47
|
|
|
48
48
|
## Retro — one check before you finish
|
|
@@ -52,4 +52,4 @@ about? (Process only — never the user's code or task; e.g. a doctor run that p
|
|
|
52
52
|
branch.) If yes, file **one** lesson and move on; a clean run is silent (hard cap: one per run). It
|
|
53
53
|
lands on the Hub board (deduped) and is fixed only via a reviewed PR — never edit the skill live; the
|
|
54
54
|
retro is advisory, so if the call fails, note it and continue:
|
|
55
|
-
`mmi-cli skill-lesson --skill doctor --title "<what misfired>" --body "<what; evidence; proposed amendment>"`
|
|
55
|
+
`mmi-cli skill-lesson --skill mmi-doctor --title "<what misfired>" --body "<what; evidence; proposed amendment>"`
|