Prevents manual version bumps in this repository. Use whenever changing package manifests, release metadata, changelogs, tags, or preparing commits and pull requests that could affect versions.
Install
npx skillscat add dgattey/dg/ci-managed-versioning Install via the SkillsCat registry.
SKILL.md
CI-Managed Versioning
Release versions are derived from semver git tags and the PR template checkboxes (Major, Minor, Patch), not from branch edits to the root package.json.
How release versioning works
.github/workflows/release.ymlruns two jobs:📦 Bump versionon open PRs: parses the checkedMajor/Minor/Patchbox in the PR body, computes the next semver version from the highestv*git tag, and updates the PR comment (🎉 This PR will be included in version X.Y.Z 🎉) without committing to the PR branch.🚀 Create releasewhen a PR merges tomain: computes the target version from the highestv*git tag and the PR body checkbox, creates thevX.Y.ZGitHub Release atmerge_commit_sha, and updates the PR comment.
- At build time,
apps/web/next.config.tsresolvesNEXT_PUBLIC_APP_VERSIONfrom the repository's remote semver tags (git ls-remote --tags --refs) and the commit's# Release infocheckbox so production and preview builds render the exact release version inFooter.tsx(getAppVersionInfo()) without mutatingpackage.json.
Rules
- Never edit
versionin the rootpackage.json. - Never run
npm version,pnpm version, or any local version bump command. - Always check the appropriate
Major,Minor, orPatchbox under# Release infoin the PR body. - If an older branch has a legacy
github-actions[bot]Bump version to v...commit, strip it and rebase ontoorigin/mainwithpnpm exec turbo drop-bot-commits.