Maintainer checklist for cutting a new release of the koin-migration plugin.
- All intended changes merged into
master -
./build.shsucceeds locally (validates bothplugin.jsonandmarketplace.json, and that plugin names are consistent across the two) - Local smoke test passes:
claude --plugin-dir .and run one trigger prompt per migration path you changed - Marketplace install flow still works from a fresh Claude Code session:
/plugin marketplace add InsertKoinIO/koin-migrationthen/plugin install koin-migration@koin-migration - At least one eval from
skills/di-migration/evals/evals.jsonruns end-to-end on a real sample - No uncommitted changes (
git statusclean)
- Bump
versionin.claude-plugin/plugin.jsonfollowing semver:- MAJOR — breaking changes to SKILL.md workflow, removed references, incompatible file layout
- MINOR — new migration path, new feature, new reference
- PATCH — fixes, wording, typo, clarifications
- Add a matching
## [X.Y.Z] - YYYY-MM-DDsection toCHANGELOG.mdlisting user-visible changes - Commit:
chore: release vX.Y.Z
- Run
./release.sh— this tagsvX.Y.Z, pushes the tag, and creates a GitHub Release with the.skillbundle and plugin.zipattached - Verify the release page shows both assets and the notes rendered from
CHANGELOG.md
- If this is a marketplace-facing change, re-test install from the published Anthropic Plugin Directory entry (once approved)
- Announce in Koin channels (Slack, Twitter/X, release notes mailing) — optional for PATCH
- For first-time marketplace submission: submit via https://claude.ai/settings/plugins/submit with the repo URL
If a release is bad:
-
gh release delete vX.Y.Z --cleanup-tagto remove the release and tag - Revert the offending commits
- Cut a PATCH release with the fix
Do not force-push over a published tag — consumers may have cached the bundle.