Release
End-to-end release workflow for vercel-plugin.
Workflow
- 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.
- 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.
- Bump version
Update the version field in .plugin/plugin.json . This is the only version source of truth.
- Rebuild generated artifacts
bun run build # hooks (tsup) + manifest
This compiles hooks/src/.mts → hooks/.mjs and regenerates generated/skill-manifest.json .
- 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.json version bumped
-
bun run build succeeded
-
commit includes all changes
-
pushed to main