release
Release
End-to-end release workflow for vercel-plugin.
Workflow
1. Pre-flight checks
Run all gates in parallel:
bun run typecheck # tsc --noEmit on hooks/src
bun test # all test files
bun run validate # skill frontmatter + manifest integrity
Stop if any gate fails. Fix issues before proceeding.
2. Determine version bump
Read the current version from .plugin/plugin.json. Ask the user which semver component to bump if not specified:
| Bump | When |
|---|---|
| patch | Bug fixes, test/fixture updates, docs |
| minor | New skills, new hooks, new features |
| major | Breaking changes to hook API or skill map |
Default to patch if the user says "release" without specifying.
3. Bump version
Update the version field in .plugin/plugin.json. This is the only version source of truth.
4. Rebuild generated artifacts
bun run build # hooks (tsup) + manifest
This compiles hooks/src/*.mts → hooks/*.mjs and regenerates generated/skill-manifest.json.
5. Stage, commit, and push
git add -A
git commit -m "<summary>; bump to <new-version>"
git push
Commit message style: match existing convention — descriptive summary followed by ; bump to X.Y.Z (see git log for examples).
The pre-commit hook will re-run typecheck and recompile hooks automatically. If it fails, fix the issue and create a new commit (never amend).
Version source of truth
.plugin/plugin.json — the version field. There is no package.json version to sync.
Checklist (copy into your reasoning)
- typecheck passes
- tests pass
- validate passes
-
.plugin/plugin.jsonversion bumped -
bun run buildsucceeded - commit includes all changes
- pushed to main