@mutmutco/kilo-plugin 3.129.0 → 3.130.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 +1 -1
- package/skills/rcand/SKILL.md +6 -7
- package/skills/release/SKILL.md +31 -15
package/package.json
CHANGED
package/skills/rcand/SKILL.md
CHANGED
|
@@ -100,8 +100,8 @@ exists — a tag minted before the conflict resolution points at the wrong SHA.
|
|
|
100
100
|
## Step 3 — tag the rc
|
|
101
101
|
|
|
102
102
|
The shared helper derives the next rc tag from existing tags (re-run-safe — `-rc.N` increments). `rc` mode
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
reads `MMI_BUMP_INTENT`; unset it resolves to `patch` (#4929) — declare `minor`/`major` explicitly for a
|
|
104
|
+
planned feature cycle:
|
|
105
105
|
```bash
|
|
106
106
|
TAG=$(MMI_BUMP_INTENT=minor node scripts/next-version.mjs rc) # -> vX.Y.0-rc.N
|
|
107
107
|
git tag "$TAG"
|
|
@@ -191,11 +191,10 @@ Version `vX.Y.0-rc.N` · merged commits · rc deploy run + env URL.
|
|
|
191
191
|
- **MAJOR / exact-target cycle:** for a release the tag math can't derive (a MAJOR like `2.0.0`, or skipping
|
|
192
192
|
a version already on npm), export `MMI_RELEASE_VERSION=X.Y.Z` before `/rcand` — `next-version.mjs rc` then
|
|
193
193
|
opens that exact cycle (validated to move strictly forward). Keep it exported through `/release`.
|
|
194
|
-
- **`MMI_BUMP_INTENT=major|minor|patch`
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
leaves the apply to fail after the preflight has already passed. This is
|
|
194
|
+
- **`MMI_BUMP_INTENT=major|minor|patch` selects the increment for `next-version.mjs rc`** (Step 3); absent,
|
|
195
|
+
it defaults to `patch` (#4929). **Export it for the whole run:** `mmi-cli devops rcand --apply` resolves
|
|
196
|
+
the intent itself with the same default, so a one-off prefix on the `next-version.mjs` command leaves the
|
|
197
|
+
apply deriving a different increment than the tag you minted. This is
|
|
199
198
|
a different knob from `MMI_RELEASE_VERSION` above: `MMI_BUMP_INTENT` picks the increment,
|
|
200
199
|
`MMI_RELEASE_VERSION` overrides the computed version entirely and is for the exceptional case only.
|
|
201
200
|
|
package/skills/release/SKILL.md
CHANGED
|
@@ -5,6 +5,11 @@ description: Ship rc or direct-track development to main and production.
|
|
|
5
5
|
|
|
6
6
|
**Host-native invocation:** Claude `/mmi:release` · Codex `$mmi:release` · jervcode/Kimi `/skill:release` · Kilo `skill` tool. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
7
|
|
|
8
|
+
**Argument (#4929):** `/release minor`, `/release major`, or `/release patch` — a bare bump word, never a
|
|
9
|
+
`--flag` or env var. Map it to `MMI_BUMP_INTENT` exported for the whole run (the train and
|
|
10
|
+
`next-version.mjs` both read it). No argument → `patch`: a `/release patch` from development is a
|
|
11
|
+
legitimate ordinary release; `/hotfix` remains the cherry-pick promotion lane.
|
|
12
|
+
|
|
8
13
|
# /release — ship to main + prod
|
|
9
14
|
|
|
10
15
|
Full-track repos ship **exactly what is on `rc`** (never pulls `development`): merge `rc → main`, tag
|
|
@@ -56,9 +61,13 @@ mean "unverified", never an authority verdict:**
|
|
|
56
61
|
denial, and retrying will never change it: fix the `{owner}/{repo}` argument, then re-probe. Before the
|
|
57
62
|
fix this string came back `role: master, train: true, verified: true` for anything owner/name-shaped.
|
|
58
63
|
|
|
59
|
-
- An `unknown command '
|
|
60
|
-
installed CLI can't even parse the probe. Jump to Step 0a, heal the CLI, then re-run
|
|
61
|
-
conclude the command form is wrong from a pre-heal failure (#3150).
|
|
64
|
+
- An `unknown command 'oracle'` error is a STALE CLI — the house-prefixed namespaces ship in newer
|
|
65
|
+
trains, so an old installed CLI can't even parse the probe. Jump to Step 0a, heal the CLI, then re-run
|
|
66
|
+
this probe; never conclude the command form is wrong from a pre-heal failure (#3150). The mirror-image
|
|
67
|
+
failure is a Wave-3 flat alias on a CURRENT CLI: the un-housed `org …`, `secrets …`, and
|
|
68
|
+
`release …` forms were removed in #4316 and fail closed with a house-prefix error — rewrite to the
|
|
69
|
+
house form (`mmi-cli oracle org …`, `mmi-cli vault secrets …`, `mmi-cli devops release …`); that is
|
|
70
|
+
never a stale CLI and never an authority verdict.
|
|
62
71
|
- A **TIMEOUT or network error** (`operation aborted due to timeout`, DNS/socket failures) is **not** a
|
|
63
72
|
`train: false` denial (#3321). Read the probe's own `verified` field: `verified: false` means the verdict
|
|
64
73
|
could not be established, so the `train: false` beside it carries NO authority meaning. The client
|
|
@@ -70,8 +79,10 @@ mean "unverified", never an authority verdict:**
|
|
|
70
79
|
|
|
71
80
|
Then
|
|
72
81
|
preconditions: clean tree; full-track repos run from `rc` (or from `development` with `--dev`), while
|
|
73
|
-
direct-track repos run from `development`. Ordinary `/release`
|
|
74
|
-
|
|
82
|
+
direct-track repos run from `development`. Ordinary `/release` takes its bump intent from the bare
|
|
83
|
+
argument (`/release minor|major|patch` → `MMI_BUMP_INTENT`, exported for the whole run); unstated, the
|
|
84
|
+
train defaults to `patch` (#4929). An invalid intent fails `--apply` closed at intent resolution
|
|
85
|
+
(`MMI_BUMP_INTENT must be one of major|minor|patch`), before any merge, tag, or fold.
|
|
75
86
|
|
|
76
87
|
**Run from the checkout that already has that branch — never a fresh isolated worktree (#2770).** This is
|
|
77
88
|
a shared-branch train operation (merge/tag/push against origin's protected `main`/`rc`), not an isolated
|
|
@@ -288,8 +299,10 @@ Nothing to do by hand; the `--apply` result reports the fold outcome (`versionFo
|
|
|
288
299
|
## Step 2 — tag the release
|
|
289
300
|
|
|
290
301
|
Full-track repos drop the `-rc.N` suffix from the open cycle. Direct-track repos use the next cycle directly
|
|
291
|
-
because they have no rc tag —
|
|
292
|
-
|
|
302
|
+
because they have no rc tag — `cycle` mode reads `MMI_BUMP_INTENT` (the `/release` argument; unset →
|
|
303
|
+
`patch`, #4929). The Step 0 export is what covers the apply run — the inline prefix below only resolves
|
|
304
|
+
the tag for display; `mmi-cli devops release --apply` re-derives intent itself and fail-closes before any
|
|
305
|
+
merge, tag, or fold when the value is invalid:
|
|
293
306
|
```bash
|
|
294
307
|
TAG=$(node scripts/next-version.mjs release) # full-track repos -> vX.Y.0
|
|
295
308
|
TAG=$(MMI_BUMP_INTENT=minor node scripts/next-version.mjs cycle) # direct-track repos -> vX.Y.0
|
|
@@ -546,12 +559,15 @@ deploy run + URL + **green/red** · branch-alignment note · npm publish run + C
|
|
|
546
559
|
|
|
547
560
|
## Notes
|
|
548
561
|
|
|
549
|
-
-
|
|
550
|
-
directly)
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
run, not a one-off prefix on `next-version.mjs cycle`:
|
|
554
|
-
|
|
562
|
+
- `/hotfix` stays the cherry-pick promotion lane (a hotfix always skips rc — it cherry-picks
|
|
563
|
+
`development → main` directly), but a `/release patch` from development is a legitimate ordinary
|
|
564
|
+
release (#4929). Never force-push `main`.
|
|
565
|
+
- **`MMI_BUMP_INTENT=major|minor|patch` comes from the bare `/release` argument; unstated it defaults to
|
|
566
|
+
`patch`** (#4929). Export it for the whole run, not a one-off prefix on `next-version.mjs cycle`:
|
|
567
|
+
`mmi-cli devops release --apply` (and `rcand --apply`) resolve intent themselves **before any merge,
|
|
568
|
+
tag, or fold** — direct-track included — defaulting to `patch` when the env is absent and failing closed
|
|
569
|
+
there with `MMI_BUMP_INTENT must be one of major|minor|patch` on an invalid value, so the tree stays
|
|
570
|
+
clean on the start branch. `MMI_RELEASE_VERSION`
|
|
555
571
|
below is a different knob: it overrides the computed version; it does not replace the intent export
|
|
556
572
|
unless you set that exact-target env instead.
|
|
557
573
|
- **`--dev` (full-track only):** releases `development → main` skipping rc, with the same fold/tag/Release/
|
|
@@ -561,8 +577,8 @@ deploy run + URL + **green/red** · branch-alignment note · npm publish run + C
|
|
|
561
577
|
- **MAJOR / exact-target release:** to ship a version the tag math can't derive (a MAJOR like `2.0.0`, or
|
|
562
578
|
skipping a version already on npm), product repos export `MMI_RELEASE_VERSION=X.Y.Z` for **both** `/rcand`
|
|
563
579
|
and `/release`; MMI-Hub exports it for `/release` only. Steps 1b/2 then fold and tag exactly that
|
|
564
|
-
version. Unset, the train uses the declared `MMI_BUMP_INTENT` increment
|
|
565
|
-
|
|
580
|
+
version. Unset, the train uses the declared `MMI_BUMP_INTENT` increment, defaulting to `patch` when
|
|
581
|
+
neither the argument nor the env declares one (#4929).
|
|
566
582
|
|
|
567
583
|
## Retro — one check before you finish
|
|
568
584
|
Before your final report, answer one question honestly: did **this skill's own instructions** misfire
|