feat(release): narrow plugin vendor to hooks+skills, idempotent, marketplace-owned manifest #453

Merged
hexajon merged 1 commit from feat/443-plugin-assemble-narrow into main 2026-08-25 21:39:31 +00:00
Owner

Summary

The shipped Claude Code plugin is now hooks + skills only, and the marketplace repo (sixfold-space/claude-plugins) owns the plugin metadata. This reworks the madtea side to match.

  • assemble-plugin-artifact.sh vendors only the madtea-tracked content (hooks, skills, LICENSE, NOTICE) into plugins/madtea/, replacing only those paths. It no longer copies, stamps, or version-bumps plugin.json, marketplace.json, or README - those belong to the marketplace repo. It refuses to scaffold the plugin dir if it is absent.
  • No plugin version field. Claude Code keys update detection off the marketplace commit hash, so the vendor step is idempotent: it branches, commits, and opens a PR only when the content actually changed. An unchanged release is a clean no-op, so no phantom plugin update reaches users.
  • Removed stamp_plugin_json_version, bump_marketplace_version, the versioned README generation, and the now-unused artifact semver.
  • Deleted the source .claude-plugin/ directory.
  • Updated the assemble drift-guard test: metadata-not-written assertions, the idempotent no-op path (via a local fake-marketplace seam), and the change-detected path. Refreshed release.sh and the contributing docs.
  • ADR 0010: dated inline amendment recording marketplace-owned manifest, no version (hash-based updates), no bundled server, and the idempotent assemble. Body preserved.

The marketplace side is already merged (the claude-plugins narrowing). Full gate green.

Refs #450, #437.

Closes #[443]

## Summary The shipped Claude Code plugin is now hooks + skills only, and the marketplace repo (sixfold-space/claude-plugins) owns the plugin metadata. This reworks the madtea side to match. - `assemble-plugin-artifact.sh` vendors only the madtea-tracked content (hooks, skills, LICENSE, NOTICE) into `plugins/madtea/`, replacing only those paths. It no longer copies, stamps, or version-bumps `plugin.json`, `marketplace.json`, or `README` - those belong to the marketplace repo. It refuses to scaffold the plugin dir if it is absent. - No plugin `version` field. Claude Code keys update detection off the marketplace commit hash, so the vendor step is idempotent: it branches, commits, and opens a PR only when the content actually changed. An unchanged release is a clean no-op, so no phantom plugin update reaches users. - Removed `stamp_plugin_json_version`, `bump_marketplace_version`, the versioned README generation, and the now-unused artifact `semver`. - Deleted the source `.claude-plugin/` directory. - Updated the assemble drift-guard test: metadata-not-written assertions, the idempotent no-op path (via a local fake-marketplace seam), and the change-detected path. Refreshed `release.sh` and the contributing docs. - ADR 0010: dated inline amendment recording marketplace-owned manifest, no version (hash-based updates), no bundled server, and the idempotent assemble. Body preserved. The marketplace side is already merged (the claude-plugins narrowing). Full gate green. Refs #450, #437. Closes #[443]
feat(release): narrow plugin vendor to hooks+skills, idempotent, marketplace-owned manifest
All checks were successful
drift / govulncheck (pull_request) Has been skipped
drift / surface-diff (pull_request) Successful in 45s
drift / forgejo-smoke (pull_request) Has been skipped
drift / govulncheck (push) Has been skipped
ci / gate (push) Successful in 12m37s
ci / mcp-conformance (pull_request) Successful in 1m47s
ci / mcp-conformance (push) Successful in 1s
drift / surface-diff (push) Successful in 3s
drift / forgejo-smoke (push) Has been skipped
ci / gate (pull_request) Successful in 17m14s
90c68c2a0a
Closes #[443]
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea!453
No description provided.