| name | release-process |
| description | Complete release workflow for project versioning. Covers branch creation, testing validation, documentation updates, PR creation via skills, and GitHub Release creation. Emphasizes stability through branch isolation strategy. |
_release-process
Overview
Manages the complete release process from pre-release preparation through GitHub Release creation. Uses branch isolation to keep master stable.
When to use: Version releases, feature launches, bug fix releases
Related skills: _git-commit (formatting commits), _pr-creator (PR automation)
Release Flow (10 Steps)
Prerequisites
- ✅ All features complete in master
- ✅ Code reviewed and approved
- ✅ Tests passing, no compilation errors
- ✅ Target version decided (major/minor/patch)
Step 0: Pre-release Validation (master branch)
git checkout master
git pull origin master
git status
Checklist:
Why: Ensures master is stable baseline for release branch
Step 1: Create Release Branch
git checkout -b release/v<VERSION>
git branch
Convention: release/v<VERSION> (semantic versioning)
Why: Isolates all release work, keeps master clean
Step 2: Pre-release Cleanup (on release branch)
rm -rf .plasmo build/ coverage/
rm -rf dist/ out/
git status --short
Checklist:
Step 3: Quality Checks (on release branch)
npm run test:run
npm run test:coverage
npm run build
npm run pre-push
Checklist:
If tests fail: Fix in master, recreate release branch from master
Step 4: Update Documentation (on release branch)
4.1) Update CHANGELOG.md
## [<VERSION>] - <YYYY-MM-DD>
### Added
- New feature descriptions
### Changed
- Improvement descriptions
### Fixed
- Bug fix descriptions
### Removed
- Removed feature descriptions
Checklist:
4.2) Update README.md
- Update version references (if any)
- Update feature descriptions (if changed)
- Update install/setup instructions (if changed)
Checklist:
4.3) Update other docs (if applicable)
- Architecture docs (if design changed)
- API docs (if interface changed)
- Configuration docs (if options changed)
Step 5: Verify Updated Content (on release branch)
Review all changes on release branch:
git log --oneline master..release/v<VERSION>
git diff master...release/v<VERSION> -- docs/
git status
Checklist:
Step 6: Create Release Commit (on release branch)
Use _git-commit skill to create a well-formatted release commit:
git add -A
Step 7: Create Pull Request (via _pr-creator skill)
Use _pr-creator skill to create professional PR:
PR Title: release: v<VERSION> release preparation
PR Description includes:
- Summary of changes from CHANGELOG
- Release checklist (test pass, docs updated, etc)
- Instructions for manual merge by user
- Note that CI must pass before merging
Important: Do NOT auto-merge - user reviews and merges manually
git push origin release/v<VERSION>
Checklist:
Step 8: Create GitHub Release (on master after PR merge)
After PR is merged to master:
git checkout master
git pull origin master
npm run version:patch
git push origin master --tags
Checklist:
Alternatively, create release manually:
gh release create v<VERSION> --generate-notes
Step 9: Post-release Cleanup (on master)
git branch -d release/v<VERSION>
git push origin --delete release/v<VERSION>
git branch -a | grep release
Checklist:
Key Principles
-
Branch Isolation: All release work happens on release/v<VERSION> branch
- Protects master from incomplete changes
- Allows reverting entire release if needed
- Clear separation of concerns
-
Quality Gates: Tests and builds must pass before PR creation
- Ensures release doesn't introduce regressions
- Documentation verified before release
- No surprises after merge
-
Manual User Control: User manually merges PR and approves final release
- Respects human review step
- Allows last-minute adjustments
- Clear accountability for releases
-
Clean History: Use commit skills for professional messages
- Release commits are documented
- Changelog is canonical source of change history
- CI/CD integration requires proper formatting
Troubleshooting
Tests fail
- Fix issues in master
- Delete release branch
- Recreate from master
- Reattempt
Forgot to update documentation
- Add commits to release branch
- Update PR with additional commits
- Or add supplementary commit after merge
GitHub Release not auto-created
gh release create v<VERSION> --generate-notes
Need to cancel release
git branch -d release/v<VERSION>
git push origin --delete release/v<VERSION>
git tag -d v<VERSION>
git push origin --delete v<VERSION>
Related Skills
- _git-commit: Format release commit messages
- _pr-creator: Create release PR with proper description
- _code-health-check: Verify code quality before release