feat: automated release workflow with conventional commits

 Set up standard-version for automated releases
- Auto-generates changelogs from conventional commits
- Version bumping based on commit types
- Beautiful emoji-formatted changelog
- Integrated with npm scripts

🔧 Release Commands:
- npm run release (auto-detect version)
- npm run release:patch/minor/major (force version)
- npm run release:dry (preview changes)

📚 Added comprehensive CLAUDE.md workflow
- Step-by-step release process
- Conventional commit guidelines
- Emergency procedures for bad releases
- Quality checklist for releases

🎯 Benefits:
- Consistent release notes across all releases
- No more manual changelog maintenance
- Semantic versioning enforcement
- GitHub + npm integration ready
This commit is contained in:
David Snelling 2025-08-27 12:19:32 -07:00
parent 1ef01f394a
commit 045f53bc8a
3 changed files with 2119 additions and 12 deletions

60
.versionrc.json Normal file
View file

@ -0,0 +1,60 @@
{
"types": {
"feat": {
"description": "✨ New Features",
"title": "✨ Features"
},
"fix": {
"description": "🐛 Bug Fixes",
"title": "🐛 Bug Fixes"
},
"docs": {
"description": "📚 Documentation",
"title": "📚 Documentation"
},
"style": {
"description": "💄 Code Style",
"title": "💄 Styles",
"hidden": true
},
"refactor": {
"description": "♻️ Code Refactoring",
"title": "♻️ Code Refactoring"
},
"perf": {
"description": "⚡ Performance Improvements",
"title": "⚡ Performance Improvements"
},
"test": {
"description": "✅ Tests",
"title": "✅ Tests"
},
"build": {
"description": "🔧 Build System",
"title": "🔧 Build System"
},
"ci": {
"description": "🔄 CI/CD",
"title": "🔄 CI/CD"
},
"chore": {
"description": "🔧 Chores",
"title": "🔧 Chores",
"hidden": true
}
},
"compareUrlFormat": "https://github.com/soulcraftlabs/brainy/compare/{{previousTag}}...{{currentTag}}",
"commitUrlFormat": "https://github.com/soulcraftlabs/brainy/commit/{{hash}}",
"issueUrlFormat": "https://github.com/soulcraftlabs/brainy/issues/{{id}}",
"userUrlFormat": "https://github.com/{{user}}",
"releaseCommitMessageFormat": "chore(release): {{currentTag}}",
"issuePrefixes": ["#"],
"header": "# Changelog\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n",
"scripts": {
"postbump": "echo 'Version bumped to' $(node -p \"require('./package.json').version\")",
"precommit": "npm run build && npm test",
"postcommit": "echo 'Release commit created. Ready to push and publish!'",
"pretag": "echo 'Creating tag...'",
"posttag": "echo 'Tag created. Use: git push --follow-tags origin main && npm publish'"
}
}