release
Ship designer-skill-mcp in one ordered sequence: version bump → build/test → commit → tag → push → npm → GitHub release.
Default version bump
Every release bumps the minor version by 0.1.0 and resets patch to 0, unless you pass an explicit semver to the script.
| Current | Next (default) |
|---|---|
0.10.0 |
0.11.0 |
0.11.0 |
0.12.0 |
0.9.1 |
0.10.0 |
Rule: {major}.{minor + 1}.0 — never auto-bump patch. Use an explicit version only for hotfixes (e.g. ./scripts/release.sh 0.11.1 "hotfix").
Preflight
- Commit and push all feature work first. The release script only commits version bump files.
- Working tree must be clean except intentional release edits.
npm whoamimust succeed (logged in as a publisher fordesigner-skill-mcp).gh auth statusmust succeed (active account:elkaix— branch protection onmain).- After release, update doc pins in
README.mdandcommands/designer-setup.md(@latest→@<new-version>).
Version touchpoints (keep in sync)
| File | Field |
|---|---|
designer-skill-mcp/package.json |
"version" |
designer-skill-mcp/package-lock.json |
top-level "version" |
designer-skill-mcp/server.json |
"version" + packages[0].version |
.claude-plugin/plugin.json |
"version" |
.codex-plugin/plugin.json |
"version" |
.cursor-plugin/plugin.json |
"version" |
README.md |
pin example (@0.11.0) |
commands/designer-setup.md |
pin example (@0.11.0) |
Tag format: v{semver} (e.g. v0.11.0).
Automated (preferred)
From repo root:
chmod +x scripts/release.sh
# Default: auto-bump minor (+0.1.0), e.g. 0.10.0 → 0.11.0
./scripts/release.sh "Short release notes for GitHub and the tag body."
# Override only when you need a patch or major bump
./scripts/release.sh 0.11.1 "Hotfix: …"
./scripts/release.sh 1.0.0 "Breaking: …"
The script runs this sequence:
- Resolve version (auto minor bump, or use explicit semver)
npm version <semver> --no-git-tag-versionindesigner-skill-mcp/- Sync plugin manifests +
server.json npm run build+npm test- Commit version files with a release message
- Annotated tag
v<semver> git push origin HEAD+git push origin v<semver>npm publish --access publicfromdesigner-skill-mcp/mcp-publisher publishfromdesigner-skill-mcp/(if installed and logged in)gh release create v<semver>- Update
README.mdandcommands/designer-setup.mdpin examples, commit, push
Manual sequence (when not using the script)
cd designer-skill-mcp
npm version 0.11.0 --no-git-tag-version --allow-same-version
# Sync plugin.json + server.json versions (see table above)
npm run build && npm test
cd ..
git add designer-skill-mcp/package.json designer-skill-mcp/package-lock.json \
designer-skill-mcp/server.json \
.claude-plugin/plugin.json .codex-plugin/plugin.json .cursor-plugin/plugin.json
git commit -m "Release designer-skill-mcp v0.11.0."
git tag -a v0.11.0 -m "designer-skill-mcp v0.11.0"
git push origin HEAD && git push origin v0.11.0
cd designer-skill-mcp && npm publish --access public
(cd designer-skill-mcp && mcp-publisher publish) 2>/dev/null || true
gh release create v0.11.0 --title "designer-skill-mcp v0.11.0" --notes "Release notes."
Verify
git tag -l 'v0.1*'
npm view designer-skill-mcp version
gh release view v0.11.0
cd designer-skill-mcp && npm test
Do not
- Skip
npm testornpm run buildbefore publish (prepublishOnlyalso runs them, but verify locally first). - Publish from a dirty tree or without committing version bumps.
- Use
--forceon npm publish unless explicitly recovering a failed release. - Add
Co-authored-byor agent attribution lines to commit or tag messages. - Auto-bump patch for routine releases — default is always +0.1.0 minor.
Source: hashgraph-online/awesome-codex-plugins → plugins/Pythoughts-labs/designer-skill/skills/release/SKILL.md