2.2 KiB
2.2 KiB
How to Release a New Version
Automated Releases (Recommended)
The easiest way to release new versions is through automatic semantic releases. Just commit with the right message format and push - everything else happens automatically!
Commit Message Format
Use these prefixes to control what type of release happens:
fix: resolve CLI argument parsing bug # → patch release (4.1.0 → 4.1.1)
feat: add new agent orchestration mode # → minor release (4.1.0 → 4.2.0)
feat!: redesign CLI interface # → major release (4.1.0 → 5.0.0)
What Happens Automatically
When you push commits with fix: or feat:, GitHub Actions will:
- ✅ Analyze your commit messages
- ✅ Bump version in
package.json - ✅ Generate changelog
- ✅ Create git tag
- ✅ Publish to NPM automatically
- ✅ Create GitHub release with notes
Your Simple Workflow
# Make your changes
git add .
git commit -m "feat: add team collaboration mode"
git push
# That's it! Release happens automatically 🎉
# Users can now run: npx bmad-method (and get the new version)
Commits That DON'T Trigger Releases
These commit types won't create releases (use them for maintenance):
chore: update dependencies # No release
docs: fix typo in readme # No release
style: format code # No release
test: add unit tests # No release
Test Your Setup
npm run release:test # Safe to run locally - tests the config
Manual Release Methods (Exceptions Only)
⚠️ Only use these methods if you need to bypass the automatic system
Quick Manual Version Bump
npm run version:patch # 4.1.0 → 4.1.1 (bug fixes)
npm run version:minor # 4.1.0 → 4.2.0 (new features)
npm run version:major # 4.1.0 → 5.0.0 (breaking changes)
# Then manually publish:
npm publish
git push && git push --tags
Manual GitHub Actions Trigger
You can also trigger releases manually through GitHub Actions workflow dispatch if needed.
Summary
For 99% of releases: Just use fix: or feat: commit messages and push. Everything else is automatic!
Manual methods: Only needed for special cases or if you want to bypass the automated system.