This plugin is distributed through the Cursor Marketplace, straight from this GitHub repo. A release is a git tag plus a GitHub Release — there is no build or package step. Cursor installs the repo at a ref, so the tag is the artifact.
We follow Semantic Versioning: MAJOR.MINOR.PATCH, tagged with the
bare version (no v prefix). The current version lives in
.cursor-plugin/plugin.json.
| Bump | When |
|---|---|
| MAJOR | Breaking changes: renamed/removed skills or rules, or MCP changes that break existing installs. |
| MINOR | New skill, rule, or tool guidance, or an additive capability. |
| PATCH | Fixes, doc/README tweaks, prompt refinements with no new surface. |
When your PR changes plugin content (skills/, rules/, mcp.json),
add an entry under ## [Unreleased] in CHANGELOG.md, grouped as
Added / Changed / Fixed / Removed. Do not bump plugin.json yourself — the release
workflow does that. The PR Check workflow fails if you change content without a changelog entry.
- Make sure
[Unreleased]inCHANGELOG.mdreflects everything onmainto be shipped. - Go to Actions → Release → Run workflow.
- Pick the
bump(patch/minor/major) and run.
The workflow then:
- bumps
versionin.cursor-plugin/plugin.json, - renames
## [Unreleased]to## [X.Y.Z] - <date>and opens a fresh empty[Unreleased], - commits
chore(release): X.Y.Ztomain, - creates and pushes the annotated tag
X.Y.Z, - publishes a GitHub Release whose notes are that version's changelog section.
It fails fast if [Unreleased] is empty or the target tag already exists.