@event4u/agent-config 8.2.0 → 8.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.
Files changed (44) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +38 -0
  3. package/MIGRATION.md +18 -0
  4. package/README.md +86 -3
  5. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  6. package/dist/discovery/deprecation-report.md +1 -1
  7. package/dist/discovery/discovery-manifest.json +1 -1
  8. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  9. package/dist/discovery/discovery-manifest.summary.md +1 -1
  10. package/dist/discovery/orphan-report.md +1 -1
  11. package/dist/discovery/packs.json +1 -1
  12. package/dist/discovery/trust-report.md +1 -1
  13. package/dist/discovery/workspaces.json +1 -1
  14. package/dist/install/install.mjs +586 -386
  15. package/dist/mcp/registry-manifest.json +2 -2
  16. package/docs/contracts/CHANGELOG-conventions.md +8 -5
  17. package/docs/contracts/branch-protection-policy.md +14 -5
  18. package/docs/contracts/mcp-phase-1-scope.md +75 -0
  19. package/docs/contracts/mcp-tool-inventory.md +22 -15
  20. package/docs/contracts/release-pr-gating.md +22 -11
  21. package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
  22. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
  23. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
  24. package/docs/decisions/INDEX.md +3 -0
  25. package/docs/distribution/registry-submissions.md +1 -1
  26. package/docs/getting-started.md +8 -6
  27. package/docs/installation.md +13 -14
  28. package/docs/mcp-server.md +32 -20
  29. package/docs/setup/mcp-cloud-endpoints.md +9 -2
  30. package/package.json +2 -2
  31. package/src/scripts/_cli/cmd_doctor.ts +111 -11
  32. package/src/scripts/_cli/cmd_uninstall.ts +22 -0
  33. package/src/scripts/_cli/cmd_upgrade.ts +74 -13
  34. package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
  35. package/src/scripts/condense.ts +7 -29
  36. package/src/scripts/install +23 -4
  37. package/src/scripts/install.ts +30 -0
  38. package/src/scripts/lint_glama_drift.ts +75 -0
  39. package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
  40. package/src/scripts/mcp_registry_submit.sh +14 -3
  41. package/src/scripts/mcp_server/__main__.ts +6 -8
  42. package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
  43. package/src/scripts/mcp_server/tools.ts +731 -0
  44. package/src/scripts/release.ts +203 -39
@@ -5,8 +5,8 @@
5
5
  "email": "dev@event4u.app"
6
6
  },
7
7
  "metadata": {
8
- "description": "Shared agent configuration — skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
9
- "version": "8.2.0",
8
+ "description": "Shared agent configuration — skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI). DEPRECATED: install via `npx -y @event4u/agent-config init` instead — the file projection carries content AND hooks; this plugin remains only for existing installs during the migration window.",
9
+ "version": "8.3.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
@@ -26,7 +26,7 @@
26
26
  "plugins": [
27
27
  {
28
28
  "name": "agent-config",
29
- "description": "Full skill catalog — writing, reviewing, managing, and analyzing agent content, plus stack-specific skills for Laravel, PHP, Docker, AWS, Playwright, and more.",
29
+ "description": "Full skill catalog — writing, reviewing, managing, and analyzing agent content, plus stack-specific skills for Laravel, PHP, Docker, AWS, Playwright, and more. DEPRECATED: install via `npx -y @event4u/agent-config init` instead — the file projection carries content AND hooks; this plugin remains only for existing installs during the migration window.",
30
30
  "keywords": [
31
31
  "skills",
32
32
  "rules",
package/CHANGELOG.md CHANGED
@@ -989,6 +989,44 @@ our recommendation order, not its support status.
989
989
  > that forces a new era split (`# Era: 8.2.x`, etc.) — see
990
990
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
991
991
 
992
+ ## [8.3.0](https://github.com/event4u-app/agent-config/compare/8.2.0...8.3.0) (2026-07-08)
993
+
994
+ ### Features
995
+
996
+ * **ci:** add release.yml — merge a `release`-labeled PR to cut a release ([742aa91](https://github.com/event4u-app/agent-config/commit/742aa91c8dc3686a1618291dd425efbc1a69ac13))
997
+ * **release:** add --ci mode to release.ts for the label-triggered CI path ([2fc9db6](https://github.com/event4u-app/agent-config/commit/2fc9db6b98fa998a03e68c0e2ce676c40d63c6e8))
998
+ * **mcp:** ship the run_tests shell-exec pilot under a compiled safety envelope ([598a8a4](https://github.com/event4u-app/agent-config/commit/598a8a49f05f5e9ebd4c0c531a5424f079eb16b6))
999
+ * **guardrails:** hook-matrix single source, golden smoke, doctor-last upgrade step (Phase 4) ([d3ddd37](https://github.com/event4u-app/agent-config/commit/d3ddd37aa9f72dd65cebd54985e121d05a8bc0e6))
1000
+ * **mcp:** implement the 8 council-approved Phase 4 tools (17 implemented total) ([71f4074](https://github.com/event4u-app/agent-config/commit/71f4074b1b065dd455b361959322ae18c11e0d6d))
1001
+ * **doctor+docs:** plugin retirement — duplicate-surface/hook-wiring checks, migration flow, docs sweep (Phase 3) ([3f6234d](https://github.com/event4u-app/agent-config/commit/3f6234d82730d0210d72c5712ca49a84fb160c0e))
1002
+ * **upgrade:** register managed hooks on global deploy; decouple upgrade steps (Phase 2) ([9c06cdb](https://github.com/event4u-app/agent-config/commit/9c06cdba7622691ed8c6b175fbc0f32b975db311))
1003
+ * **install:** managed Claude hook registration in settings.json (Phase 1) ([f1a7644](https://github.com/event4u-app/agent-config/commit/f1a7644b89a4da1e67b95cf8dc15eda778f4dc67))
1004
+
1005
+ ### Bug Fixes
1006
+
1007
+ * **scripts:** make upstream-remote wiring idempotent in mcp_registry_submit ([b1c5ee1](https://github.com/event4u-app/agent-config/commit/b1c5ee18105cc2845e66b3595743dfe673292f8c))
1008
+ * **roadmap:** correct mcp-cloud-endpoints doc path in Phase 6 step text ([65ab1d6](https://github.com/event4u-app/agent-config/commit/65ab1d6611edd63242b3f334c4233087975d45b0))
1009
+ * **ci:** static yaml import + createRequire banner; no unchecked step indexing ([98c71c0](https://github.com/event4u-app/agent-config/commit/98c71c0f88c5e696dd0b5d00ed0e6a38c48717a1))
1010
+ * **mcp:** use process.stdout.write instead of console.log in glama drift lint ([80b53fe](https://github.com/event4u-app/agent-config/commit/80b53fea3f52f486395ebb9a7ede4ea583014b55))
1011
+ * **mcp:** fix stale glama build docs and dead pycache artifacts ([ea1cece](https://github.com/event4u-app/agent-config/commit/ea1cece30c097846f3475ac51211a2854223cae8))
1012
+ * **install:** accept --no-ui in the bash orchestrator (unblocks upgrade) ([a519b34](https://github.com/event4u-app/agent-config/commit/a519b34f9618c5c165d0bcc5c6ea04d7ce141361))
1013
+ * **release:** era-split gate measures the post-release state the drift test sees ([572e6ce](https://github.com/event4u-app/agent-config/commit/572e6ce83b74d37112213cb790c3a07a1d4e0968))
1014
+
1015
+ ### Documentation
1016
+
1017
+ * **release:** document the dual release path; fix stale release.py refs ([9ae0aee](https://github.com/event4u-app/agent-config/commit/9ae0aeed403376581d656b2682c6009694e9d1b1))
1018
+ * **adr:** ADR-113 — CI-native release, label trigger, bot-PR-approval finding ([7af715c](https://github.com/event4u-app/agent-config/commit/7af715cc0753fbb77facf904101c317f271863e1))
1019
+ * **mcp:** Phase 6 — ADR-112 stdio-lite verdict, cloud-scope note, fresh counts ([c6fe3ed](https://github.com/event4u-app/agent-config/commit/c6fe3ed07689b82ea349beb377bd4cf97ceddaca))
1020
+ * **context:** Phase 0 hook+agent parity findings — settings.json parity CONFIRMED ([b22bc38](https://github.com/event4u-app/agent-config/commit/b22bc38412d76315d4406f41fbd746a70952cdbb))
1021
+ * **roadmap:** add road-to-claude-code-single-surface (council 2026-07-07, Option B projection-primary) ([cb283c3](https://github.com/event4u-app/agent-config/commit/cb283c3c0dbc52f66337a30a8edb94e084caeda6))
1022
+ * **mcp:** resolve A0 amendment signoff, run council, record write/exec cut ([323def8](https://github.com/event4u-app/agent-config/commit/323def8c0692c26408791623374d28eee512686a))
1023
+ * **readme:** add troubleshooting section for install/upgrade failure modes ([ba33679](https://github.com/event4u-app/agent-config/commit/ba336790f6c8f8eac662e72ae2a408338b03b971))
1024
+
1025
+ ### Chores
1026
+
1027
+ * **roadmap:** archive road-to-ci-native-release; spawn first-run follow-up ([1544c3c](https://github.com/event4u-app/agent-config/commit/1544c3c3773f1eded3e3037e4abf04f66d9e5900))
1028
+ * **mcp:** record registry submission, fix submit-script PR head, park roadmap to later/ ([1f8f49f](https://github.com/event4u-app/agent-config/commit/1f8f49f97d0e443141d53736beea59ea45e780e7))
1029
+
992
1030
  ## [8.2.0](https://github.com/event4u-app/agent-config/compare/8.1.0...8.2.0) (2026-07-07)
993
1031
 
994
1032
  ### Features
package/MIGRATION.md CHANGED
@@ -1,3 +1,21 @@
1
+ # Migrating off the Claude Code marketplace plugin (single-surface model)
2
+
3
+ The marketplace plugin for Claude Code is deprecated. The npx/npm global
4
+ install is the single surface: it deploys content to `~/.claude/` and
5
+ registers the deterministic hooks in a managed `~/.claude/settings.json`
6
+ block. If you installed the plugin in the past:
7
+
8
+ ```bash
9
+ agent-config upgrade # wires the managed hooks
10
+ claude plugin uninstall agent-config@event4u-agent-config # removes the duplicate surface
11
+ ```
12
+
13
+ Then start a new Claude Code session. Nothing else changes: hooks keep
14
+ firing (now from `settings.json`), skills/commands stop listing twice, and
15
+ `agent-config doctor` verifies the end state (`hook-wiring` ok,
16
+ `claude-plugin` no longer reporting a duplicate surface). Augment CLI and
17
+ Copilot CLI plugins are unaffected.
18
+
1
19
  # Migrating to 6.0
2
20
 
3
21
  > Upgrading an existing install to the **6.0 experience-first** layout.
package/README.md CHANGED
@@ -364,12 +364,21 @@ Three classes of install/runtime behaviour look like package bugs but are host-h
364
364
 
365
365
  | Tool | Install |
366
366
  |---|---|
367
- | **Augment CLI** · **Claude Code** · **Copilot CLI** | [Install →](docs/installation.md) — rules + skills + commands, marketplace-updated |
367
+ | **Augment CLI** · **Copilot CLI** | [Install →](docs/installation.md) — rules + skills + commands, marketplace-updated |
368
+
369
+ > **Claude Code: the marketplace plugin is deprecated** (single-surface
370
+ > model). The npx/npm file projection now carries content **and** the
371
+ > deterministic hooks (registered in a managed `~/.claude/settings.json`
372
+ > block by `agent-config global` / `upgrade`), so the plugin only duplicates
373
+ > skill/command listings while its git-SHA snapshot rots silently. Existing
374
+ > installs: `claude plugin uninstall agent-config@event4u-agent-config` —
375
+ > `agent-config doctor` flags the duplicate surface.
368
376
 
369
377
  Keep the global install current with `agent-config upgrade` (latest) or
370
378
  `agent-config refresh --global` (same-version re-install); `agent-config doctor`
371
- flags a missing-from-`PATH` binary or binary↔plugin version drift. See
372
- [getting-started § Keeping current](docs/getting-started.md#keeping-current).
379
+ flags a missing-from-`PATH` binary or broken hook wiring. See
380
+ [getting-started § Keeping current](docs/getting-started.md#keeping-current) ·
381
+ [Troubleshooting](#troubleshooting).
373
382
 
374
383
  ### Cloud / Hosted-agent surfaces
375
384
 
@@ -442,6 +451,80 @@ Browse content: [all 166 commands](dist/agent-src/commands/) · [skills catalog]
442
451
 
443
452
  ---
444
453
 
454
+ ## Troubleshooting
455
+
456
+ First stop for any install problem: `agent-config doctor` — it flags a
457
+ missing-from-`PATH` binary, binary↔plugin version drift, stale orphans, and
458
+ manifest issues, each with a one-line fix hint.
459
+
460
+ ### A new command / skill is missing in Claude Code after an upgrade
461
+
462
+ Under the single-surface model, `agent-config upgrade` refreshes the
463
+ `~/.claude/` file projection — that IS the content surface, so a fresh
464
+ session picks the new commands up directly. If commands are still missing,
465
+ the usual cause is a leftover **marketplace plugin**: it is a git-SHA
466
+ snapshot that never moves with the npm upgrade, and it shadows nothing —
467
+ it just lists everything twice while lagging behind. Remove it:
468
+
469
+ ```bash
470
+ claude plugin uninstall agent-config@event4u-agent-config
471
+ ```
472
+
473
+ Then start a **new** Claude Code session. `agent-config doctor` reports a
474
+ leftover plugin as `claude-plugin: duplicate surface`; hooks are unaffected
475
+ (they live in a managed `~/.claude/settings.json` block — verify with the
476
+ `hook-wiring` check).
477
+
478
+ ### Skills / commands appear twice in Claude Code
479
+
480
+ Same cause as above: the deprecated marketplace plugin is installed next to
481
+ the `~/.claude/` file projection, so every skill lists plain **and**
482
+ `agent-config:`-prefixed. Uninstall the plugin (command above) and start a
483
+ new session.
484
+
485
+ ### `agent-config upgrade` fails with `Unknown argument: --no-ui`
486
+
487
+ Known bug in 8.2.0: `upgrade` passed a `--no-ui` flag that the install
488
+ orchestrator did not accept yet, so the run aborted early. Fixed on `main`;
489
+ until the next release, work around it with:
490
+
491
+ ```bash
492
+ AGENT_CONFIG_NO_UI=1 agent-config global # refresh the global install, no wizard
493
+ ```
494
+
495
+ ### Upgrade was interrupted (Ctrl-C, wizard closed, step failed)
496
+
497
+ Only the initial `npm install -g` hard-aborts an upgrade. Every later step
498
+ (global re-deploy with hook registration, settings sync, wrapper + git-hook
499
+ refresh) runs independently — a single failed step is reported in the
500
+ end-of-run summary instead of silently skipping the rest. Re-run
501
+ `agent-config upgrade` to converge, and use `agent-config doctor` to name
502
+ anything left in a mixed state.
503
+
504
+ ### `agent-config: command not found` / hooks stopped firing
505
+
506
+ Runtime hooks resolve the **global** binary on `PATH` — a project-local
507
+ install alone is not enough for them. Reinstall the binary:
508
+
509
+ ```bash
510
+ npm install -g @event4u/agent-config
511
+ agent-config doctor # verifies PATH + plugin wiring
512
+ ```
513
+
514
+ ### Project files look stale after a package update
515
+
516
+ Project-local projections are only rewritten on an explicit refresh:
517
+
518
+ ```bash
519
+ agent-config refresh # re-apply the installed version to this project
520
+ agent-config refresh --global # same-version re-install of the global root
521
+ ```
522
+
523
+ More per-version steps: [Migration](docs/MIGRATION.md) ·
524
+ [getting-started § Keeping current](docs/getting-started.md#keeping-current).
525
+
526
+ ---
527
+
445
528
  ## Development
446
529
 
447
530
  Working on the package itself? Edit `src/` (the source of truth — `src/skills`, `src/rules`, `src/agent-src/`), regenerate trees:
@@ -39,7 +39,7 @@ schema_version: 1
39
39
  # CI guard: a release bump of `package.json` must update this value
40
40
  # in lockstep — see scripts/check_template_pin_drift.ts (road-to-
41
41
  # portable-runtime-and-update-check P3.3).
42
- agent_config_version: "8.2.0"
42
+ agent_config_version: "8.3.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -1,6 +1,6 @@
1
1
  # Discovery — Deprecation Report
2
2
 
3
- - Generated: `2026-07-07T17:49:14Z`
3
+ - Generated: `2026-07-08T05:11:12Z`
4
4
  - Deprecated artefacts: **0**
5
5
 
6
6
  _None. Tree is clean._
@@ -12703,7 +12703,7 @@
12703
12703
  "reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
12704
12704
  }
12705
12705
  ],
12706
- "generated_at": "2026-07-07T17:49:14Z",
12706
+ "generated_at": "2026-07-08T05:11:12Z",
12707
12707
  "packs": [
12708
12708
  {
12709
12709
  "artefact_count": 95,
@@ -1 +1 @@
1
- c05ffa6acdbc37c03958938e24b594d44e05d694f8191e2dd6cb37b43feeb927 discovery-manifest.json
1
+ bbf8a859d7617913d0ff170cc99c99654291ebc17892739f41c365ebbfcdba8a discovery-manifest.json
@@ -1,6 +1,6 @@
1
1
  # Discovery Manifest — Summary
2
2
 
3
- - Generated: `2026-07-07T17:49:14Z`
3
+ - Generated: `2026-07-08T05:11:12Z`
4
4
  - Scanner: `6f13c4a07cc0`
5
5
  - Artefacts: **527**
6
6
  - Unassigned: **0**
@@ -1,6 +1,6 @@
1
1
  # Discovery — Orphan Report
2
2
 
3
- - Generated: `2026-07-07T17:49:14Z`
3
+ - Generated: `2026-07-08T05:11:12Z`
4
4
  - Orphan artefacts: **0**
5
5
 
6
6
  > An orphan is an artefact whose declared pack has no other members.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "checksum": "sha256:1e7905dc4de76032d102a27f6a9d7f35cbed3297696fc57820e933ac171f251e",
3
- "generated_at": "2026-07-07T17:49:14Z",
3
+ "generated_at": "2026-07-08T05:11:12Z",
4
4
  "packs": [
5
5
  {
6
6
  "always_on": false,
@@ -1,6 +1,6 @@
1
1
  # Discovery — Trust Report
2
2
 
3
- - Generated: `2026-07-07T17:49:14Z`
3
+ - Generated: `2026-07-08T05:11:12Z`
4
4
  - Workspaces tracked: **10**
5
5
  - Human-review-required artefacts: **3**
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "checksum": "sha256:1e7905dc4de76032d102a27f6a9d7f35cbed3297696fc57820e933ac171f251e",
3
- "generated_at": "2026-07-07T17:49:14Z",
3
+ "generated_at": "2026-07-08T05:11:12Z",
4
4
  "scanner_version": "6f13c4a07cc0",
5
5
  "workspaces": [
6
6
  {