@mutmutco/claude-plugin 4.5.227 → 4.5.228
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/.claude-plugin/plugin.json +1 -1
- package/cli/dist/main.cjs +429 -201
- package/cli/package.json +1 -1
- package/package.json +1 -1
- package/skills/board/SKILL.md +2 -2
- package/skills/bootstrap/SKILL.md +1 -1
- package/skills/bootstrap/seeds/suite-gate.template.yml +1 -1
- package/skills/hotfix/SKILL.md +1 -1
- package/skills/mmi-help/SKILL.md +1 -1
- package/skills/org-guide/references/getting-started.md +4 -5
- package/skills/org-guide/references/work-and-releases.md +7 -1
- package/skills/rcand/SKILL.md +1 -1
- package/skills/release/SKILL.md +3 -1
- package/skills/secrets/SKILL.md +1 -1
package/cli/package.json
CHANGED
package/package.json
CHANGED
package/skills/board/SKILL.md
CHANGED
|
@@ -21,7 +21,7 @@ accepts an incomplete board. The CLI partitions rows into **Yours**, **Free to c
|
|
|
21
21
|
stamps (4 hours without work) hold nothing. Partition rules, stamp details and `--out` rationale:
|
|
22
22
|
[reference.md](reference.md).
|
|
23
23
|
|
|
24
|
-
**Under the App pool, never type raw `gh` for a read** (`gh issue list/view --jq`, `gh run view --jq`, `gh api -q` all bounce). Use `MMI_ACTOR=app mmi-cli devops read issue view <n> --repo <owner/repo> --json <fields>` (or `issue list`, `pr view`, `run view`); `--jq '<expr>'` on that typed read filters locally. Filter in a pipe or save output (`>`, `2>&1`, `--out`) under this worktree's `.jerv/tmp/` (`mkdir -p .jerv/tmp` first), never `../` or a sibling path: the workspace output guard refuses those. Body edits are read-then-edit: `MMI_ACTOR=app mmi-cli devops read issue view <n> --repo <owner/repo> --json body > .jerv/tmp/issue-body.json`, append or filter the JSON locally (`node -e`; the typed read's own `--jq` also filters locally), then write back with `gh issue edit <n> --repo <owner/repo> --body-file .jerv/tmp/issue-body.md` — `gh` writes pass under the pool. When `node -e` reads saved JSON, pass an absolute path or use `JSON.parse(require('fs').readFileSync(process.argv[1],'utf8'))`: `require()` of a relative path (e.g. `tmp\board.json` from `cygpath -w`) throws MODULE_NOT_FOUND.
|
|
24
|
+
**Under the App pool, never type raw `gh` for a read** (`gh issue list/view --jq`, `gh run view --jq`, `gh api -q` all bounce). Use `MMI_ACTOR=app mmi-cli devops read issue view <n> --repo <owner/repo> --json <fields>` (or `issue list`, `pr view`, `run view`); `--jq '<expr>'` on that typed read filters locally. Those typed reads take **one** number per call, exactly like native gh: a second number is refused as `too many arguments`, so read several issues by repeating the typed read once per number (one `--jq` each, joined `&&`). Filter in a pipe or save output (`>`, `2>&1`, `--out`) under this worktree's `.jerv/tmp/` (`mkdir -p .jerv/tmp` first), never `../` or a sibling path: the workspace output guard refuses those. Body edits are read-then-edit: `MMI_ACTOR=app mmi-cli devops read issue view <n> --repo <owner/repo> --json body > .jerv/tmp/issue-body.json`, append or filter the JSON locally (`node -e`; the typed read's own `--jq` also filters locally), then write back with `gh issue edit <n> --repo <owner/repo> --body-file .jerv/tmp/issue-body.md` — `gh` writes pass under the pool. When `node -e` reads saved JSON, pass an absolute path or use `JSON.parse(require('fs').readFileSync(process.argv[1],'utf8'))`: `require()` of a relative path (e.g. `tmp\board.json` from `cygpath -w`) throws MODULE_NOT_FOUND.
|
|
25
25
|
|
|
26
26
|
## Step 2 — render it
|
|
27
27
|
|
|
@@ -58,7 +58,7 @@ Present the plan — batch count, issue count, one line per batch naming its sha
|
|
|
58
58
|
mmi-cli oracle board claim <ref> <ref> <ref> --json
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
Announce issue/PR counts; refresh `mmi-cli oracle board read`
|
|
61
|
+
Announce issue/PR counts; refresh `mmi-cli oracle board read` immediately before each claim (a list read earlier in the session may already be stale) and select ordinary claims from **Free to claim**. Read every result: failures exit nonzero. On conflict, do not blindly retry: stop that batch, never retry the same ref, refresh and reselect from the fresh **Free to claim** list, or coordinate a handoff; `--force` only for an owner-authorized intentional takeover. Run writes separately, never `;`; dependent follow-ups use `&&`.
|
|
62
62
|
|
|
63
63
|
Run each `mmi-cli oracle issue create` as its own simple command with plain double-quoted arguments — never a shell
|
|
64
64
|
helper function or nested escaped quotes around a long body in the same call: the workspace env-enumeration guard
|
|
@@ -3,7 +3,7 @@ name: bootstrap
|
|
|
3
3
|
description: Provision an org repo with board, registry, rules, and plugin setup.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:bootstrap` · Codex `$mmi:bootstrap` · jervcode `/bootstrap
|
|
6
|
+
**Host-native invocation:** Claude `/mmi:bootstrap` · Codex `$mmi:bootstrap` · jervcode `/bootstrap`. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
7
|
|
|
8
8
|
# /bootstrap — provision a repo into the org
|
|
9
9
|
|
|
@@ -73,7 +73,7 @@ jobs:
|
|
|
73
73
|
# Suite only: generic product gates must not load or require design-agent content.
|
|
74
74
|
- name: Check kit agent-file drift
|
|
75
75
|
if: ${{ steps.development-gate.outputs.reuse != 'true' }}
|
|
76
|
-
uses: mutmutco/MMI-Hub/.github/actions/check-kit-agent-files@{{
|
|
76
|
+
uses: mutmutco/MMI-Hub/.github/actions/check-kit-agent-files@{{KIT_AGENT_FILES_SHA}} # #9161: own pin — this action postdates the shared runner pin
|
|
77
77
|
- uses: mutmutco/MMI-Hub/.github/actions/run-with-budget@{{GATE_BUDGET_SHA}}
|
|
78
78
|
if: ${{ steps.development-gate.outputs.reuse != 'true' }}
|
|
79
79
|
with:
|
package/skills/hotfix/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: hotfix
|
|
|
3
3
|
description: Promote a merged development fix to main and production via the Hub train.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:hotfix` · Codex `$mmi:hotfix` · jervcode `/hotfix
|
|
6
|
+
**Host-native invocation:** Claude `/mmi:hotfix` · Codex `$mmi:hotfix` · jervcode `/hotfix`.
|
|
7
7
|
|
|
8
8
|
**Argument:** none; PATCH-only (leave `MMI_BUMP_INTENT`, `MMI_RELEASE_VERSION` unset).
|
|
9
9
|
|
package/skills/mmi-help/SKILL.md
CHANGED
|
@@ -6,7 +6,7 @@ description: Introduce MMI and its commands.
|
|
|
6
6
|
# MMI help
|
|
7
7
|
|
|
8
8
|
This is the MMI help command: Claude `/mmi:mmi-help`, Codex `$mmi:mmi-help`, JervCode
|
|
9
|
-
`/mmi-help`, or
|
|
9
|
+
`/mmi-help`, or OpenBot `use the mmi-help skill`. These are host skill invocations, not shell
|
|
10
10
|
commands. The distinct name avoids colliding with a host's built-in help command.
|
|
11
11
|
|
|
12
12
|
Read the [org guide entry](../org-guide/SKILL.md) and
|
|
@@ -19,11 +19,10 @@ also keeps the one-line installer's launcher current when one is installed.
|
|
|
19
19
|
`mmi-hub install --dry-run` previews changes without enabling the schedule.
|
|
20
20
|
|
|
21
21
|
Complete the host's trust and reload step: reload plugins or restart Claude Code, restart Codex,
|
|
22
|
-
restart JervCode, or start a fresh
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
vault access.
|
|
22
|
+
restart JervCode, or start a fresh OpenBot agent run. An existing session may still hold the old skill
|
|
23
|
+
catalog until then. The updater manages the MMI plugin on each supported host present on the machine.
|
|
24
|
+
On OpenBot it copies the skills into each agent workspace's `.agents/skills`, leaving any skill folder
|
|
25
|
+
it did not install in place and reporting it. It does not grant repository or vault access.
|
|
27
26
|
|
|
28
27
|
Authenticate GitHub for your assigned repository. In its checkout, run `mmi-cli onboard` for
|
|
29
28
|
readiness and `mmi-cli oracle board read` for work. Use `mmi-cli commands --json` to discover routes
|
|
@@ -4,7 +4,8 @@ GitHub repository admins hold project-admin authority on their own projects with
|
|
|
4
4
|
registry enrollment. Registry-listed admins with repository write access remain supported.
|
|
5
5
|
Use `mmi-cli oracle org access role <owner/repo> --json` to verify authority for release,
|
|
6
6
|
candidate, hotfix, and runtime operations. Organization membership role alone is not this check.
|
|
7
|
-
The Hub distribution train remains organization-master-only.
|
|
7
|
+
The Hub distribution train remains organization-master-only. It runs in the `hub-release` workflow on
|
|
8
|
+
our self-hosted runners, dispatched by an org owner, never on a workstation (#9137).
|
|
8
9
|
A 503 `github-rate-limited` answer means the org App's hourly GitHub allowance is used up. It is
|
|
9
10
|
not a denial: wait for the reset time it names, then retry.
|
|
10
11
|
|
|
@@ -27,6 +28,11 @@ For the last N comments (here, 3), use the typed JSON read with local filtering,
|
|
|
27
28
|
```bash
|
|
28
29
|
MMI_ACTOR=app mmi-cli devops read issue view <id> --repo <owner/repo> --json comments --jq '.comments[-3:][] | {createdAt, body}'
|
|
29
30
|
```
|
|
31
|
+
PR lists take the same shape — `read pr list` answers a `--head <branch>` PR lookup that raw
|
|
32
|
+
`gh pr list --jq` bounces on, and its `--jq` also runs locally:
|
|
33
|
+
```bash
|
|
34
|
+
MMI_ACTOR=app mmi-cli devops read pr list --repo <owner/repo> --head <branch> --json number,state,title,headRefName,baseRefName --jq '.[] | {number,state,title,headRefName,baseRefName}'
|
|
35
|
+
```
|
|
30
36
|
For run logs, never native `gh run view --log`/`--log-failed`: use
|
|
31
37
|
`MMI_ACTOR=app mmi-cli devops read run log <runId> --repo <owner/repo> [--failed | --job <name>] [--tail N]`.
|
|
32
38
|
A refused command writes no output, so a `> file` redirect leaves it empty or missing: read the
|
package/skills/rcand/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: rcand
|
|
|
3
3
|
description: Promote development to a release candidate.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:rcand` · Codex `$mmi:rcand` · jervcode `/rcand
|
|
6
|
+
**Host-native invocation:** Claude `/mmi:rcand` · Codex `$mmi:rcand` · jervcode `/rcand`.
|
|
7
7
|
|
|
8
8
|
**Argument:** `/rcand minor|major|patch` — a bare bump word, never a flag or env var; none → `patch`.
|
|
9
9
|
|
package/skills/release/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: release
|
|
|
3
3
|
description: Ship rc or direct-track development to main and production.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:release` · Codex `$mmi:release` · jervcode `/release
|
|
6
|
+
**Host-native invocation:** Claude `/mmi:release` · Codex `$mmi:release` · jervcode `/release`. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
7
|
|
|
8
8
|
# /release — ship to main + prod
|
|
9
9
|
|
|
@@ -27,6 +27,8 @@ mktemp .jerv/tmp/release-receipt.XXXXXX
|
|
|
27
27
|
mmi-cli devops release --apply --watch --announce-summary-file "<summary-path>" --json --out "<result-path>"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
MMI-Hub itself releases through the `hub-release` workflow instead: an org owner runs `gh workflow run hub-release.yml --repo mutmutco/MMI-Hub --ref development -f summary='line | line | line'` and watches that run; never build a Hub release on a workstation.
|
|
31
|
+
|
|
30
32
|
Run mktemp alone, copy its path; no channel: drop the summary flag. `mmi-cli devops release --apply --ack <sha>` only for a verified main-only commit the hotfix-coverage guard refused. It runs the version fold (automatic, inside `mmi-cli devops release --apply`) bumping manifests unconditionally, pushes the tag first (`gate.yml` runs on `v*` tags), deploys (`tenant-deploy.yml` for tenant-container), announces. Nothing by hand.
|
|
31
33
|
|
|
32
34
|
## Verify
|
package/skills/secrets/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: secrets
|
|
|
3
3
|
description: Manage the project vault and granted org-infra secrets.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**Host-native invocation:** Claude `/mmi:secrets` · Codex `$mmi:secrets` · jervcode `/secrets
|
|
6
|
+
**Host-native invocation:** Claude `/mmi:secrets` · Codex `$mmi:secrets` · jervcode `/secrets`. A backticked `/name` in this doc names the matching workflow (this skill or a sibling), not a literal command.
|
|
7
7
|
|
|
8
8
|
# /secrets — two-tier project secrets
|
|
9
9
|
|