|
| 1 | +# Contributing |
| 2 | + |
| 3 | +## Cutting a release |
| 4 | + |
| 5 | +Five version locations must agree on every release. The |
| 6 | +`scripts/check-versions.sh` script enforces this and is run by CI on every |
| 7 | +tag push. Maintainer flow: |
| 8 | + |
| 9 | +1. **Bump the five version locations** to the new semver string (e.g. `2.2.0`): |
| 10 | + - `.claude-plugin/plugin.json` → `version` |
| 11 | + - `.copilot/plugin.yaml` → `version` |
| 12 | + - `jetpack-compose-expert-skill/SKILL.md` → frontmatter `version:` |
| 13 | + - The git tag you will push (e.g. `v2.2.0`) |
| 14 | + - `CHANGELOG.md` → new `## [2.2.0] - YYYY-MM-DD` heading |
| 15 | +2. **Update `CHANGELOG.md`** with an entry that includes, for any breaking |
| 16 | + change, a `### Migration notes` subsection. |
| 17 | +3. **Run the version check locally** before tagging: |
| 18 | + |
| 19 | + ``` |
| 20 | + bash scripts/check-versions.sh v2.2.0 |
| 21 | + ``` |
| 22 | + |
| 23 | + Expected: `OK: versions aligned at 2.2.0`. |
| 24 | +4. **Commit, tag, and push**: |
| 25 | + |
| 26 | + ``` |
| 27 | + git add -A |
| 28 | + git commit -m "release: v2.2.0" |
| 29 | + git tag v2.2.0 |
| 30 | + git push && git push --tags |
| 31 | + ``` |
| 32 | +5. **Verify the GitHub Release** was created by the `release.yml` workflow. |
| 33 | + It should contain the CHANGELOG section plus the install/update header. |
| 34 | + |
| 35 | +## Semver rules for skill content |
| 36 | + |
| 37 | +| Change type | Bump | |
| 38 | +|---|---| |
| 39 | +| Typo fix, link fix, small rewording | patch | |
| 40 | +| New reference file, new example, clarifying text | minor | |
| 41 | +| Plugin manifest schema change (new host, new field) | minor | |
| 42 | +| Removed/renamed reference, changed trigger routing, banner escalation | major | |
| 43 | + |
| 44 | +## Pre-release validation checklist |
| 45 | + |
| 46 | +Run before tagging a release: |
| 47 | + |
| 48 | +- [ ] Fresh Claude Code install: marketplace add + install works; SKILL.md loads. |
| 49 | +- [ ] `/plugin update` picks up a trivial change tagged as the next patch. |
| 50 | +- [ ] Copilot CLI install works. |
| 51 | +- [ ] Codex symlink install works. |
| 52 | +- [ ] Stale-install banner surfaces when old-format SKILL.md (no `version:`) is loaded. |
0 commit comments