@mutmutco/cursor-plugin 4.2.7 → 4.3.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/.cursor-plugin/plugin.json +2 -3
- package/package.json +1 -1
- package/scripts/edit-tool-paths.mjs +4 -4
- package/skills/bootstrap/SKILL.md +2 -2
- package/skills/bootstrap/seeds/README.template.md +2 -2
- package/skills/bootstrap/seeds/gate.template.yml +5 -5
- package/skills/bootstrap/seeds/manifest.json +1 -0
- package/skills/bootstrap/seeds/test-policy.template.json +4 -0
- package/skills/hotfix/SKILL.md +1 -1
- package/skills/rcand/SKILL.md +1 -1
- package/skills/release/SKILL.md +34 -9
- package/skills/secrets/SKILL.md +1 -1
- package/skills/stage/SKILL.md +1 -1
- package/bin/mmi-hook +0 -2
- package/bin/mmi-hook-console.cmd +0 -16
- package/bin/mmi-hook.exe +0 -0
- package/hooks/cursor-hooks.json +0 -26
- package/scripts/command-ladder-core.mjs +0 -339
- package/scripts/command-ladder-gate.mjs +0 -126
- package/scripts/deny-gate-crash.mjs +0 -179
- package/scripts/env-write-lint.mjs +0 -146
- package/scripts/hook-io.mjs +0 -22
- package/scripts/hook-policy.mjs +0 -78
- package/scripts/hook-run.mjs +0 -434
- package/scripts/hook-trace.mjs +0 -151
- package/scripts/pretooluse-shell-gates.mjs +0 -720
- package/scripts/secret-echo-lint.mjs +0 -177
- package/scripts/test-command-policy-core.mjs +0 -294
- package/scripts/throttle-core.mjs +0 -332
- package/scripts/vault-edit-gate.mjs +0 -94
- package/skills/browser-automation/SKILL.md +0 -122
- package/skills/mmi/SKILL.md +0 -544
- package/skills/mmi-doctor/SKILL.md +0 -66
- package/skills/mmi-resume/SKILL.md +0 -123
- package/skills/onboard/SKILL.md +0 -72
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mmi-resume
|
|
3
|
-
description: Open a session — self-check, repo status, and the next actionable board item in one pass.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:mmi-resume` · Codex `$mmi:mmi-resume` · jervcode/Kimi `/skill:mmi-resume` · Kilo `skill` tool. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
|
-
|
|
8
|
-
# /mmi-resume — start of session
|
|
9
|
-
|
|
10
|
-
One flow to re-anchor at the top of a session: is the toolchain sound, what does this repo/worktree look
|
|
11
|
-
like right now, and what is the single next thing worth doing. Read-only — it renders the picture and gets
|
|
12
|
-
out of the way. `/mmi` is the board-only hello-to-work; `/mmi-resume` is the wider session open that folds in
|
|
13
|
-
the toolchain self-check and the current-branch snapshot.
|
|
14
|
-
|
|
15
|
-
## Step 0 — toolchain self-check
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
mmi-cli doctor --self
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
`doctor --self` verifies the two things that silently break a session: CLI/plugin version parity against
|
|
22
|
-
the published version, and whether the active `gh` token can resolve this repo. It is fast, but it reads
|
|
23
|
-
npm and GitHub — it is not offline-safe, and it checks neither PATH nor hook wiring (#3485). On a **hard**
|
|
24
|
-
gap it points at the heal path — relay it and run it before working:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
mmi-cli plugin heal # only on a hard version/plugin gap; then restart Claude Code / reopen the workspace
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
A clean self-check is silent-enough — move straight on. Do not block the snapshot on a soft/advisory note.
|
|
31
|
-
|
|
32
|
-
## Step 1 — repo snapshot
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
mmi-cli status
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
`status` is the unified current-state read for **this** checkout: branch, **release track** (when the repo is
|
|
39
|
-
registered — `releaseTrack` + branch topology from Hub META), linked worktrees, your open PRs, your claimed
|
|
40
|
-
board items, and whether a local stage is running. It is the "where am I" line — render it, don't re-derive
|
|
41
|
-
it from raw `git`/`gh`. Keep the case-preserving `repo` value it reports; that is the workspace identity the
|
|
42
|
-
next step must use (for example `mutmutco/MMC-ZuberShade`).
|
|
43
|
-
|
|
44
|
-
**Release-track doctrine (#5244):** direct-track repos (`releaseTrack: direct`, plus MMI-Hub via the
|
|
45
|
-
`isHubControlRepo` special case) have **only** `development` and `main` — no `rc` branch exists. Never hunt
|
|
46
|
-
for, clean up, or run `/rcand` against an `rc` ref on direct-track. When `status` omits `releaseTrack`
|
|
47
|
-
(unregistered repo or registry unavailable), resolve it before any train/rc/hotfix/release or branch-hygiene
|
|
48
|
-
work:
|
|
49
|
-
```bash
|
|
50
|
-
mmi-cli oracle org project get {owner}/{repo} --json
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Step 1a — report deferred host cleanup, never perform it here (#5182)
|
|
54
|
-
|
|
55
|
-
`/mmi-resume` remains read-only. When `status` names linked worktrees or the workspace has previously
|
|
56
|
-
reported a Windows `deferred-lock`, inventory before recommending new work:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
git worktree list --porcelain
|
|
60
|
-
git -C <linked-worktree> status --porcelain
|
|
61
|
-
gh pr view <known-pr> --repo <owner/repo> --json state,headRefName,headRefOid,mergeCommit
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Do not treat a deleted remote branch, a branch name, or `state: MERGED` alone as deletion permission.
|
|
65
|
-
Classify the residue using the host-owned cleanup contract in the `mmi` skill:
|
|
66
|
-
|
|
67
|
-
- **cleanup candidate** — PR is merged, its `headRefName` and `headRefOid` exactly match the local branch
|
|
68
|
-
name/OID, and the registered worktree is clean;
|
|
69
|
-
- **deferred-lock** — that exact proof passed, but a prior Windows lock left the path or registration;
|
|
70
|
-
- **retained-ambiguous** — dirty/untracked, OID mismatch, unknown PR, active owner/context, or unreadable proof.
|
|
71
|
-
|
|
72
|
-
Render the state and the exact path; never delete during `/mmi-resume`. Cleanup happens only in the owning
|
|
73
|
-
agent/host flow, from outside the worktree, after draining every context that used it. The SOP deliberately
|
|
74
|
-
uses `git branch -D` only after exact merged-PR/head-OID proof because squash delivery can never satisfy
|
|
75
|
-
`git branch -d` ancestry. It retries a Windows lock once, then retains and reports—no process killing,
|
|
76
|
-
blind recursive delete, or MMI lifecycle command.
|
|
77
|
-
|
|
78
|
-
## Step 2 — the next move
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
mmi-cli oracle next --repo <repo reported by status>
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Never the retired flat `mmi-cli next` — Wave 3 (#4316) removed that alias; a `flat 'next' alias was
|
|
85
|
-
removed` exit means follow the printed `oracle next` path (and `mmi-cli plugin heal` when
|
|
86
|
-
`doctor --self` says the plugin is behind). Pass the repository from `status` explicitly; never
|
|
87
|
-
reconstruct it by changing case or punctuation. `next` recommends the single most actionable
|
|
88
|
-
claimable board item (unblocked, priority-ranked) and prints the exact
|
|
89
|
-
`mmi-cli oracle board claim <n>` to take it. Offer it; do not claim on the user's behalf without a go.
|
|
90
|
-
For the full board partition (yours / claimable / taken) run `/mmi`.
|
|
91
|
-
|
|
92
|
-
## Step 3 — render, then stop
|
|
93
|
-
|
|
94
|
-
Lead with one line: toolchain OK (or the heal to run), the branch + what's in flight, and the one next
|
|
95
|
-
item with its claim command. Then stop. The user drives — claim, continue, or file when they say so.
|
|
96
|
-
|
|
97
|
-
## Current-state doors (Hub#4120)
|
|
98
|
-
|
|
99
|
-
When answering “what is true now”, **ask the CLI**, not committed markdown inventories or weekly janitor prose.
|
|
100
|
-
|
|
101
|
-
| Ask | Verb |
|
|
102
|
-
| --- | --- |
|
|
103
|
-
| Schedules / harbour lanes | `mmi-cli harbour org schedules` / `--json` |
|
|
104
|
-
| Boxes / IPs | `mmi-cli devops runtime box list` |
|
|
105
|
-
| Registry / projects | `mmi-cli oracle org project list\|get` |
|
|
106
|
-
| Board | `mmi-cli oracle board read` / `mmi-cli oracle next` |
|
|
107
|
-
| Docs index freshness | `mmi-cli oracle docs index --check` |
|
|
108
|
-
|
|
109
|
-
## Notes
|
|
110
|
-
|
|
111
|
-
- `/mmi-resume` is read-only session orientation. It never claims, moves, or writes.
|
|
112
|
-
- Board status moves are automatic (claim, PR open, merge). Never suggest a manual status move.
|
|
113
|
-
- Slower, board-partition view → `/mmi`. Readiness-gate view for a new repo/first session → `/onboard`.
|
|
114
|
-
|
|
115
|
-
## Retro — one check before you finish
|
|
116
|
-
Before your final report, answer one question honestly: did **this skill's own instructions** misfire
|
|
117
|
-
this run — ambiguous wording, a misleading message, or an environment failure it should have warned
|
|
118
|
-
about? (Process only — never the user's code or task; e.g. a self-check that reported a false gap, or a
|
|
119
|
-
snapshot that named the wrong branch.) If yes, file **one** lesson and move on; a clean run is silent
|
|
120
|
-
(hard cap: one per run). It lands on the Hub board (deduped) and is fixed only via a reviewed PR — never
|
|
121
|
-
edit the skill live; the retro is advisory, so if the call fails, note it and continue:
|
|
122
|
-
`mmi-cli learning skill-lesson --skill mmi-resume --title "<what misfired>" --body "<what; evidence; proposed amendment>"`
|
|
123
|
-
(never the retired flat `mmi-cli skill-lesson`).
|
package/skills/onboard/SKILL.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: onboard
|
|
3
|
-
description: Guided first session — readiness check, repo status, and the first command to run.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:onboard` · Codex `$mmi:onboard` · jervcode/Kimi `/skill:onboard` · Kilo `skill` tool. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
|
-
|
|
8
|
-
# /onboard — guided first session
|
|
9
|
-
|
|
10
|
-
For a developer's first session in a repo (or a fresh checkout): confirm the repo is wired into the org,
|
|
11
|
-
show what state it's in, and hand over the one concrete next command. Read-only — it diagnoses and points,
|
|
12
|
-
it does not change anything.
|
|
13
|
-
|
|
14
|
-
## Step 0 — readiness gate
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
mmi-cli onboard
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
`onboard` reports the five things a machine needs to be workable and the exact next command to fix the
|
|
21
|
-
first gap:
|
|
22
|
-
|
|
23
|
-
- **Track** — the repo's branch + origin (is this an org checkout at all).
|
|
24
|
-
- **Board** — is the Project board reachable, and how many items are on it.
|
|
25
|
-
- **Registry** — is the repo registered in the Hub (`PROJECT#<slug>` META).
|
|
26
|
-
- **Secrets** — is a GitHub token available for the vault path.
|
|
27
|
-
- **MMI Hub** — does `mmi-hub status` find the installed CLI and every present host surface at the
|
|
28
|
-
gated fleet version, with hourly automatic updates healthy.
|
|
29
|
-
|
|
30
|
-
The **Plugin** row is per machine, not per repo. The Hub's thin Claude/Codex catalogs pin exact npm
|
|
31
|
-
packages; Git no longer transports plugin content, and background marketplace auto-update stays **off**
|
|
32
|
-
so it cannot race Hub maintenance. `mmi-hub` gates a release tag+BOM, converges each present host,
|
|
33
|
-
and records last-run evidence. A red row names `mmi-hub install`, `mmi-hub update`, or
|
|
34
|
-
`mmi-hub autoupdate on`; no marketplace ref or hand-edited auto-update ceremony remains.
|
|
35
|
-
|
|
36
|
-
A `✗` on any line comes with a `Next command:` — run **that** first. Common ones:
|
|
37
|
-
|
|
38
|
-
- Hub maintenance missing or stale → `npm install -g @mutmutco/hub` then `mmi-hub install`.
|
|
39
|
-
- Hub API URL not configured → `mmi-cli doctor` (safe tooling wiring only; no repository cleanup).
|
|
40
|
-
- Repo not registered → a master-admin runs `/bootstrap` (or `mmi-cli oracle org project set <owner/repo>`).
|
|
41
|
-
- GitHub auth missing → the dev runs `gh auth login --hostname github.com --git-protocol https --web --scopes "project"`.
|
|
42
|
-
|
|
43
|
-
## Step 1 — the picture
|
|
44
|
-
|
|
45
|
-
Once the gates are green:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
mmi-cli status # branch, worktrees, your PRs, your claimed items, stage
|
|
49
|
-
mmi-cli oracle next # the first claimable item + its claim command
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Step 2 — hand over the first move
|
|
53
|
-
|
|
54
|
-
Close with one grounding line: gates green (or the one gate to fix), and the single first command —
|
|
55
|
-
usually `mmi-cli oracle board claim <n>` for the recommended item, or the readiness fix if a gate is red. Don't
|
|
56
|
-
claim on the user's behalf; let them take the first item when ready.
|
|
57
|
-
|
|
58
|
-
## Notes
|
|
59
|
-
|
|
60
|
-
- `/onboard` is the first-session, readiness-first wrapper. Once a repo is known-good, `/mmi-resume` is the
|
|
61
|
-
faster daily open and `/mmi` is the board.
|
|
62
|
-
- Everything here is read-only. The heavier setup (`/bootstrap`) is master-admin only.
|
|
63
|
-
|
|
64
|
-
## Retro — one check before you finish
|
|
65
|
-
Before your final report, answer one question honestly: did **this skill's own instructions** misfire
|
|
66
|
-
this run — ambiguous wording, a misleading message, or an environment failure it should have warned
|
|
67
|
-
about? (Process only — never the user's code or task; e.g. a readiness gate that reported green while a
|
|
68
|
-
board read actually failed, or a next command that pointed at the wrong fix.) If yes, file **one** lesson
|
|
69
|
-
and move on; a clean run is silent (hard cap: one per run). It lands on the Hub board (deduped) and is
|
|
70
|
-
fixed only via a reviewed PR — never edit the skill live; the retro is advisory, so if the call fails,
|
|
71
|
-
note it and continue:
|
|
72
|
-
`mmi-cli learning skill-lesson --skill onboard --title "<what misfired>" --body "<what; evidence; proposed amendment>"`
|