Backend release-management
Manage releases with semantic-release, version bumps, and changelog generation. Use when preparing releases, debugging release failures, or understanding version history.
install
source · Clone the upstream repo
git clone https://github.com/sgcarstrends/sgcarstrends
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sgcarstrends/sgcarstrends "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/release-management" ~/.claude/skills/sgcarstrends-backend-release-management && rm -rf "$T"
manifest:
.claude/skills/release-management/SKILL.mdsource content
Release Management Skill
Automated releases via semantic-release with unified "v" prefix versioning.
How It Works
- Commits pushed to
triggermain.github/workflows/release.yml - Checks run first (test + lint matrix)
- semantic-release analyses commits since last tag
- Version bumped based on commit types (see
skill)conventional-commits
updated automaticallyCHANGELOG.md- All
files updated across the monorepo (package.json
)pnpm -r exec -- npm version - Git tag created with
prefix (e.g.,v
)v4.46.0 - GitHub Release created with auto-generated notes
- Release commit created:
chore(release): v{version} [skip ci] - Vercel auto-deploys the new version
Version Scheme
- Format:
(e.g.,v{major}.{minor}.{patch}
)v4.46.0 - Unified version across the entire monorepo
- Tag format configured in
:.releaserc.json"tagFormat": "v${version}"
Configuration
plugins:.releaserc.json
— conventionalcommits preset@semantic-release/commit-analyzer
— conventionalcommits preset@semantic-release/release-notes-generator
— writes@semantic-release/changelogCHANGELOG.md
— bumps all package.json versions@semantic-release/exec
— commits changelog + package.json changes@semantic-release/git
— creates GitHub Release, adds "released" label@semantic-release/github
Checking Release Status
# View recent releases gh release list --limit 5 # View specific release gh release view v4.46.0 # Check release workflow status gh run list --workflow=release.yml --limit 5 # View release workflow logs gh run view <run-id> --log
Debugging Release Failures
Release Not Triggered
- Verify commit type is
orfeat
(notfix
,chore
, etc.)docs - Check workflow ran:
gh run list --workflow=release.yml - Verify branch is
main
Version Not Bumped
- Check commit message format matches conventional commits
- Look for
in commit message (release commits include this)[skip ci]
Workflow Failed
- Check GitHub Actions logs:
gh run view <run-id> --log - Common causes: test failures, lint errors, npm publish issues
Manual Release (Emergency Only)
# Create tag manually git tag -a v4.47.0 -m "v4.47.0" git push origin v4.47.0 # Create GitHub release from tag gh release create v4.47.0 --generate-notes
Related
- See
skill for commit message formatconventional-commits - See
skill for changelog detailschangelog - See
skill for rolling back releasesdeployment-rollback - Workflow:
.github/workflows/release.yml - Config:
.releaserc.json