Prepare Release
Prepare and validate release packages with comprehensive testing, documentation, and automation
$ npx claude-code-templates@latest --command="deployment/prepare-release" --yesRequires Claude Code. The command adds this command to your project's .claudedirectory — nothing runs on ToolZip's servers.
What's inside this command
Component source
Release Preparation
Prepare and validate release: $ARGUMENTS
Current Release Context
- Current version: !
git describe --tags --abbrev=0 2>/dev/null || echo "No previous releases" - Package version: @package.json or @setup.py or @pyproject.toml or @go.mod (if exists)
- Unreleased changes: !
git log $(git describe --tags --abbrev=0)..HEAD --oneline 2>/dev/null | wc -l || echo "All commits" - Branch status: !
git status --porcelain | wc -l || echo "0"uncommitted changes - Build status: !
npm test 2>/dev/null || python -m pytest 2>/dev/null || go test ./... 2>/dev/null || echo "Test framework detection needed"
Task
Systematic release preparation: $ARGUMENTS
- Release Planning and Validation
- Review and validate all features included in release
- Check that all planned issues and features are complete
- Verify release criteria and acceptance requirements
- Pre-Release Checklist
- Verify code coverage meets project standards
- Complete security vulnerability scanning
- Perform performance testing and validation
- Review and approve all pending pull requests
- Version Management
# Check current version
git describe --tags --abbrev=0
# Determine next version (semantic versioning)
# MAJOR.MINOR.PATCH
# MAJOR: Breaking changes
# MINOR: New features (backward compatible)
# PATCH: Bug fixes (backward compatible)
# Example version updates
# 1.2.3 -> 1.2.4 (patch)
# 1.2.3 -> 1.3.0 (minor)
# 1.2.3 -> 2.0.0 (major)
- Code Freeze and Branch Management
# Create release branch from main
git checkout main
git pull origin main
git checkout -b release/v1.2.3
# Alternative: Use main branch directly for smaller releases
# Ensure no new features are merged during release process
- Version Number Updates
- Update version in application configuration
- Update version in documentation and README
- Update API version if applicable
# Node.js projects
npm version patch # or minor, major
# Python projects
# Update version in setup.py, __init__.py, or pyproject.toml
# Manual version update
sed -i 's/"version": "1.2.2"/"version": "1.2.3"/' package.json
- Changelog Generation
# CHANGELOG.md
## [1.2.3] - 2024-01-15
### Added
- New user authentication system
- Dark mode support for UI
- API rate limiting functionality
### Changed
- Improved database query performance
- Updated user interface design
- Enhanced error handling
### Fixed
- Fixed memory leak in background tasks
- Resolved issue with file upload validation
- Fixed timezone handling in date calculations
### Security
- Updated dependencies with security patches
- Improved input validation and sanitization
- Documentation Updates
- Revise user documentation and guides
- Update installation and deployment instructions
- Review and update README.md
- Update migration guides if needed
- Dependency Management
# Update and audit dependencies
npm audit fix
npm update
# Python
pip-audit
pip freeze > requirements.txt
# Review security vulnerabilities
npm audit
snyk test
- Build and Artifact Generation
# Clean build environment
npm run clean
rm -rf dist/ build/
# Build production artifacts
npm run build
# Verify build artifacts
ls -la dist/
# Test built artifacts
npm run test:build
- Testing and Quality Assurance
- Perform manual testing of critical features
- Execute regression testing
- Conduct user acceptance testing
- Validate in staging environment
# Run all tests
npm test
npm run test:integration
npm run test:e2e
# Check code coverage
npm run test:coverage
# Performance testing
npm run test:performance
- Security and Compliance Verification
- Verify compliance with security standards
- Check for exposed secrets or credentials
- Validate data protection and privacy measures
- Release Notes Preparation
# Release Notes v1.2.3
## 🎉 What's New
- **Dark Mode**: Users can now switch to dark mode in settings
- **Enhanced Security**: Improved authentication with 2FA support
- **Performance**: 40% faster page load times
## 🔧 Improvements
- Better error messages for form validation
- Improved mobile responsiveness
- Enhanced accessibility features
## 🐛 Bug Fixes
- Fixed issue with file downloads in Safari
- Resolved memory leak in background tasks
- Fixed timezone display issues
## 📚 Documentation
- Updated API documentation
- New user onboarding guide
- Enhanced troubleshooting section
## 🔄 Migration Guide
- No breaking changes in this release
- Automatic database migrations included
- See [Migration Guide](link) for details
- Release Tagging and Versioning
# Create annotated tag
git add .
git commit -m "chore: prepare release v1.2.3"
git tag -a v1.2.3 -m "Release version 1.2.3
Features:
- Dark mode support
- Enhanced authentication
Bug fixes:
- Fixed file upload issues
- Resolved memory leaks"
# Push tag to remote
git push origin v1.2.3
git push origin release/v1.2.3
- Deployment Preparation
- Update environment variables and secrets
- Plan deployment strategy (blue-green, rolling, canary)
- Set up monitoring and alerting for release
- Prepare rollback procedures
- Staging Environment Validation
# Deploy to staging
./deploy-staging.sh v1.2.3
# Run smoke tests
npm run test:smoke:staging
# Manual validation checklist
# [ ] User login/logout
# [ ] Core functionality
# [ ] New features
# [ ] Performance metrics
# [ ] Security checks
- Production Deployment Planning
- Notify stakeholders and users
- Prepare maintenance mode if needed
- Set up deployment monitoring
- Plan communication strategy
- Release Automation Setup
# GitHub Actions Release Workflow
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Build
run: npm run build
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- Communication and Announcements
- Update status page and documentation
- Notify customers and users
- Share on relevant communication channels
- Update social media and marketing materials
- Post-Release Monitoring
- Track user adoption of new features
- Monitor system metrics and alerts
- Collect user feedback and issues
- Prepare hotfix procedures if needed
- Release Retrospective
- Review release process effectiveness
- Identify improvement opportunities
- Update release procedures
- Plan for next release cycle
Release Types and Considerations: Patch Release (1.2.3 → 1.2.4):- Bug fixes only
- No new features
- Minimal testing required
- Quick deployment
- New features (backward compatible)
- Enhanced functionality
- Comprehensive testing
- User communication needed
- Breaking changes
- Significant new features
- Migration guide required
- Extended testing period
- User training and support
# Emergency hotfix process
git checkout main
git pull origin main
git checkout -b hotfix/critical-bug-fix
# Make minimal fix
git add .
git commit -m "hotfix: fix critical security vulnerability"
# Fast-track testing and deployment
npm test
git tag -a v1.2.4-hotfix.1 -m "Hotfix for critical security issue"
git push origin hotfix/critical-bug-fix
git push origin v1.2.4-hotfix.1
Remember to:
- Test everything thoroughly before release
- Communicate clearly with all stakeholders
- Have rollback procedures ready
- Monitor the release closely after deployment
- Document everything for future releases
Related Claude Code Commands
Add Changelog
Generate and maintain project changelog with Keep a Changelog format
Containerize Application
Containerize application with optimized Docker configuration, security, and multi-stage builds
Ci Setup
Setup comprehensive CI/CD pipeline with automated testing, building, and deployment
Setup Automated Releases
Setup automated release workflows with semantic versioning, conventional commits, and comprehensive automation
Rollback Deploy
Rollback deployment to previous version with safety checks, database considerations, and monitoring
Deployment Monitoring
Comprehensive deployment monitoring with observability, alerting, health checks, and performance tracking
Catalog data and component content are sourced from the open-source davila7/claude-code-templates project (MIT license). ToolZip curates the listing and writes original descriptions; every component links back to its original source. Claude Code is a product of Anthropic. ToolZip is an independent catalog and is not affiliated with or endorsed by Anthropic.