@mutmutco/kilo-plugin 3.95.0 → 3.97.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
|
@@ -42,5 +42,4 @@ current state, they read the code or a generated ref — not this file.
|
|
|
42
42
|
## Ownership
|
|
43
43
|
|
|
44
44
|
Bootstrap seeds this README once (`ownership: repo`) and never clobbers it. Individual decision
|
|
45
|
-
files are authored in the same PR as the change
|
|
46
|
-
by a human.
|
|
45
|
+
files are authored in the same PR as the change and merged by a human. There is no scheduled docs-janitor backstop (Hub#4119/#4164).
|
|
@@ -85,8 +85,8 @@ jobs:
|
|
|
85
85
|
working-directory: {{GATE_WORKDIR}}
|
|
86
86
|
# MMI-Hub#3329: the deterministic doc ref-gate — every file:line ref, command name,
|
|
87
87
|
# relative link, and pin comment in docs/** + README.md + architecture.md must resolve.
|
|
88
|
-
#
|
|
89
|
-
#
|
|
88
|
+
# Routing-index + ref integrity only — not a living-docs keeper (topology D retired, Hub#4119/#4164).
|
|
89
|
+
# Fleet-portable via the released CLI; runs from the repo root.
|
|
90
90
|
# MMI-Hub#3406: check the GENERATED index before resolving refs. docs/index.md is produced by
|
|
91
91
|
# `mmi-cli docs index --write`, and a stale one silently re-hosts child docs' relative links and
|
|
92
92
|
# backticked paths at the index's own depth — where they no longer resolve. Every finding it
|
package/skills/doctor/SKILL.md
CHANGED
|
@@ -1,76 +1,55 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: doctor
|
|
3
|
-
description: One hygiene pass —
|
|
3
|
+
description: One hygiene pass — mmi-cli doctor heals and cleans by default.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /doctor — one hygiene pass
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
gaps, merged/closed worktrees and branches left behind, and a stale plugin/CLI. Run it when a session
|
|
10
|
-
opens messy or before a handoff. Each step wraps a real `mmi-cli` command — inspect first, fix on a go.
|
|
11
|
-
|
|
12
|
-
## Step 0 — toolchain integrity
|
|
8
|
+
One command. Run it when a session opens messy or before a handoff.
|
|
13
9
|
|
|
14
10
|
```bash
|
|
15
|
-
mmi-cli doctor
|
|
11
|
+
mmi-cli doctor
|
|
16
12
|
```
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
mmi-cli plugin heal # reinstall + re-enable the MMI plugin; then restart Claude Code / reopen the workspace
|
|
24
|
-
```
|
|
14
|
+
By default this **heals and cleans** (MMI-Hub#3975): CLI/plugin/marketplace env repairs, managed
|
|
15
|
+
`.gitignore`, merged-branch / dead-worktree reap (including deferred IDE-locked removals), light board
|
|
16
|
+
mechanical fixes, docs-index working-tree heal, and related full-lane checks. Secrets stay **out** of
|
|
17
|
+
default doctor — use `mmi-cli secrets diff` when you need a catalog gap check.
|
|
25
18
|
|
|
26
|
-
##
|
|
19
|
+
## Flags
|
|
27
20
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
| Flag | Role |
|
|
22
|
+
|------|------|
|
|
23
|
+
| *(none)* | Heal + clean (default). |
|
|
24
|
+
| `--verbose` | Full checklist + per-row evidence. |
|
|
25
|
+
| `--no-repo-writes` | Env/plugin repairs only — no working-tree mutates (train preflight). |
|
|
26
|
+
| `--self` / `--fast` / `--banner` / `--preflight` | Cheap / read-oriented lanes (see `docs/doctor-contract.md`). |
|
|
27
|
+
| `--apply` | **Deprecated no-op** — kept so older instructions still parse. |
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
with `--fix` to apply. Never hand-move a board item — the fixer does the mechanical writes.
|
|
29
|
+
## Do not run the old multi-step ritual
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
Do **not** chain these as a `/doctor` substitute:
|
|
37
32
|
|
|
38
33
|
```bash
|
|
39
|
-
mmi-cli
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
Repeat `--stage rc` / `--stage main` for a repo that promotes. A clean diff exits 0. **Values are never
|
|
44
|
-
printed** — this only names keys. Skip for a repo with no runtime-secret contract.
|
|
45
|
-
|
|
46
|
-
## Step 3 — stale worktree + branch sweep
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
mmi-cli worktree gc # dry-run (default): merged/closed-PR local+remote branches, linked worktrees, stale refs
|
|
50
|
-
mmi-cli worktree gc --apply # remove only the listed clean items
|
|
51
|
-
mmi-cli worktree gc sweep-deferred # retry any IDE-locked worktree removals queued from a prior land
|
|
34
|
+
mmi-cli doctor --self
|
|
35
|
+
mmi-cli board doctor
|
|
36
|
+
mmi-cli secrets diff
|
|
37
|
+
mmi-cli worktree gc
|
|
52
38
|
```
|
|
53
39
|
|
|
54
|
-
`
|
|
55
|
-
|
|
56
|
-
local stages at a glance before sweeping.
|
|
57
|
-
|
|
58
|
-
## Step 4 — report
|
|
59
|
-
|
|
60
|
-
One line per step: toolchain OK/healed, board findings fixed, secret gaps by stage, worktrees/branches
|
|
61
|
-
swept. Name anything that needs a human decision (an unowned drift, a secret only the master can grant).
|
|
40
|
+
Plain `mmi-cli doctor` already covers heal + clean. Reach for the individual verbs only when you want
|
|
41
|
+
that surface alone (e.g. a secrets catalog review, or an interactive `board doctor` without the rest).
|
|
62
42
|
|
|
63
43
|
## Notes
|
|
64
44
|
|
|
65
|
-
- `/doctor` is the hygiene pass; `/resume` is the lighter read-only session open.
|
|
66
|
-
|
|
67
|
-
- `secrets diff` and `board doctor` read live state — never cache their output; re-run to confirm a fix.
|
|
45
|
+
- `/doctor` is the hygiene pass; `/resume` is the lighter read-only session open.
|
|
46
|
+
- Prefer one doctor run over hand-editing board items, gitignore blocks, or marketplace pins.
|
|
68
47
|
|
|
69
48
|
## Retro — one check before you finish
|
|
70
49
|
Before your final report, answer one question honestly: did **this skill's own instructions** misfire
|
|
71
50
|
this run — ambiguous wording, a misleading message, or an environment failure it should have warned
|
|
72
|
-
about? (Process only — never the user's code or task; e.g. a
|
|
73
|
-
branch
|
|
74
|
-
|
|
75
|
-
|
|
51
|
+
about? (Process only — never the user's code or task; e.g. a doctor run that proposed deleting a live
|
|
52
|
+
branch.) If yes, file **one** lesson and move on; a clean run is silent (hard cap: one per run). It
|
|
53
|
+
lands on the Hub board (deduped) and is fixed only via a reviewed PR — never edit the skill live; the
|
|
54
|
+
retro is advisory, so if the call fails, note it and continue:
|
|
76
55
|
`mmi-cli skill-lesson --skill doctor --title "<what misfired>" --body "<what; evidence; proposed amendment>"`
|
package/skills/release/SKILL.md
CHANGED
|
@@ -192,61 +192,16 @@ ancestor of `origin/rc` (immune to conflict-resolved ports); a matching `git pat
|
|
|
192
192
|
the authorized human has manually verified the content is in the candidate, rerun with
|
|
193
193
|
`mmi-cli release --apply --ack <sha>[,<sha>…]` — the ack is recorded in the verdict. Never ack to save time.
|
|
194
194
|
|
|
195
|
-
## Step 0d —
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
**The two in-repo docs (`README.md`, `architecture.md`): in the released commit.**
|
|
206
|
-
Run this **at the probe, before Step 1**. First scan both against the shipping diff. **If nothing a
|
|
207
|
-
shipped change touches made them drift, skip this docs pass entirely — no PR, no wait** (the common case).
|
|
208
|
-
|
|
209
|
-
When a shipped change did make a doc drift, establish **where the drifted text comes from** before editing
|
|
210
|
-
it — from the repo's own tooling: a generator script, a "do not edit" header, a generated-region marker.
|
|
211
|
-
**If you cannot establish that a region is hand-written, treat it as generated.** Hand-written prose takes
|
|
212
|
-
the fast path below; a generated region does not, and never lands by hand.
|
|
213
|
-
|
|
214
|
-
**Hand-written prose — the fast docs-only path:**
|
|
215
|
-
- Edit the doc to current truth (no change-comments — AGENTS docs rule).
|
|
216
|
-
- Land it on `development`: open a PR touching **only** `README.md` /
|
|
217
|
-
`architecture.md` and auto-merge it (`mmi-cli pr merge <n> --auto --squash` — raw `gh pr merge` is
|
|
218
|
-
denied by the org command ladder, #2347). Because the PR touches only
|
|
219
|
-
those two docs, it runs **only the checks its paths trigger** — the repo's gate skips the code/test
|
|
220
|
-
jobs a docs change can't affect — so it normally goes green + merges in about a minute, with no
|
|
221
|
-
force-push and no protected-branch bypass (CI stays honest). (On the Hub that is the fast `docs` job
|
|
222
|
-
while `cli` / `infra` no-op; a single-gate repo short-circuits its one gate the same way.) A
|
|
223
|
-
docs-only PR also can't expand the release scope (it touches only those two files).
|
|
224
|
-
|
|
225
|
-
**Generated surface — fix the source, and default to the next cycle** (#2916). The Hub's compact README
|
|
226
|
-
agent loop and `docs/Architecture/agent-playbook.md` come from the CLI loop definitions via
|
|
227
|
-
`scripts/generate-agent-playbook.mjs`; CLI `--help` comes from Commander descriptions. There, the fast path
|
|
228
|
-
does not apply:
|
|
229
|
-
- **Never hand-edit the generated file.** It is a band-aid the next regen silently overwrites, and it
|
|
230
|
-
leaves `--help` — the surface users actually hit — still wrong.
|
|
231
|
-
- **Fix the source, not the artifact:** edit the loop in `cli/src/explain-command.ts` or the relevant
|
|
232
|
-
`.description()` in `cli/src/index.ts`, then rebuild/regenerate.
|
|
233
|
-
- **Do not race the train with it.** That fix touches code + built artifacts, so it runs the **full** gate,
|
|
234
|
-
and it would add a **code commit to the very diff Step 1 is about to cut**. This docs pass is freshness, not
|
|
235
|
-
a scope hatch. So **default to deferring it**: land the source fix on `development` as an ordinary
|
|
236
|
-
CI-gated PR **after** the release, note the deferral in the release report, and let it ship next cycle.
|
|
237
|
-
The drift is cosmetic and already shipped; one more cycle costs nothing.
|
|
238
|
-
- Only the **human release owner** may pull a generated-surface fix into the current release, and only by
|
|
239
|
-
saying so explicitly. An agent never makes that call on its own drift judgment, and never `--auto`-merges
|
|
240
|
-
a code-bearing PR at the probe.
|
|
241
|
-
|
|
242
|
-
**Bounded, never a hang (fast path):** wait for that docs-only auto-merge up to a short bound (~5 min). If
|
|
243
|
-
CI is contended and it has not merged in time, **do not block the train** — proceed with the release as-is.
|
|
244
|
-
Leave the auto-merge armed: the doc fix is not lost, it just lands whenever CI clears. Docs freshness
|
|
245
|
-
improves the release; it never holds it hostage.
|
|
246
|
-
|
|
247
|
-
Then **Step 1** cuts `development → main` from the current HEAD. Because an armed auto-merge can still land
|
|
248
|
-
between the bound and the cut, **re-check the PR's state right before Step 1** and report what actually
|
|
249
|
-
shipped — never predict it from the bound.
|
|
195
|
+
## Step 0d — no docs-keeping on the release train (Hub#4164)
|
|
196
|
+
|
|
197
|
+
Scheduled docs-janitor / wiki-keeper / living-docs freshness passes are **retired** (#4117/#4119).
|
|
198
|
+
The release train does **not** open docs-only PRs, wait on README/architecture auto-merges, or
|
|
199
|
+
treat prose refresh as a gate.
|
|
200
|
+
|
|
201
|
+
Current state is compute-at-read + the estate repo-index (`mmi-cli repo-index search`,
|
|
202
|
+
`mmi-cli org project`, board/schedules verbs). Durable WHY stays in `docs/decisions/`.
|
|
203
|
+
If shipping code made a hand-written surface wrong, fix it on `development` as an ordinary PR
|
|
204
|
+
**outside** the train — never as a release Step.
|
|
250
205
|
|
|
251
206
|
## Step 1 — merge to main (never force)
|
|
252
207
|
|
|
@@ -450,16 +405,11 @@ correct). Read the model from the registry (`mmi-cli org project get {owner}/{re
|
|
|
450
405
|
|
|
451
406
|
Name the sanctioned dispatch mechanism you used in the train report.
|
|
452
407
|
|
|
453
|
-
## Step 4b — re-sync project info (in-repo docs
|
|
408
|
+
## Step 4b — re-sync project info (no in-repo docs pass)
|
|
454
409
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
current `README.md` / `architecture.md` (and, in the hub, `docs/org-readme.md` /
|
|
459
|
-
`docs/org-architecture.md`). The `distribution` gate also blocks empty/retired-term descriptions at PR
|
|
460
|
-
time. Nothing to author here. `mmi-cli release --apply` now re-syncs the **Project** short description +
|
|
461
|
-
thin README from those docs and the registry's current member repos through the command ladder. For a
|
|
462
|
-
manual repair or preview use:
|
|
410
|
+
In-repo README/architecture freshness is **not** a train step (Step 0d retired, Hub#4164).
|
|
411
|
+
`mmi-cli release --apply` re-syncs the GitHub **Project** short description + thin README from the
|
|
412
|
+
released commit and the registry member list through the command ladder. For a manual repair or preview use:
|
|
463
413
|
```bash
|
|
464
414
|
mmi-cli org project sync-info --apply # omit --apply for the read-only plan
|
|
465
415
|
```
|