Introduction
A powerful, modern version bumping tool with comprehensive Git integration and monorepo support.
What is bumpx?
bumpx is a version management tool that simplifies the process of bumping versions across your projects. It focuses on:
- Semantic versioning with full semver compliance
- Git workflow automation with commits, tags, and pushing
- Multi-file version management across different file types
- Monorepo support with flexible versioning strategies
- Cross-platform compatibility on macOS, Linux, and Windows
Whether you're managing a single package or a complex monorepo, bumpx provides the tools you need to automate your release process with confidence and consistency.
Key Features
- 🔢 Semantic Versioning — Full support for patch, minor, major, and prerelease versions
- 🔄 Git Integration — Automated commits, tags, signing, and push operations
- 📦 Multi-File Support — Update versions across package.json, VERSION files, and source code
- 🏗️ Monorepo Ready — Independent or synchronized versioning for multiple packages
- 🌐 Cross-Platform — Consistent behavior on macOS, Linux, and Windows
- 🚀 CI/CD Integration — Built-in support for GitHub Actions and other CI platforms
- 🎯 Interactive Mode — Guided version selection with commit history context
- 🔍 Dry Run Mode — Preview changes before applying them
- ⚡ Fast & Reliable — Efficient file processing with comprehensive error handling
How It Works
bumpx automates your entire version bumping workflow:
- Detects current versions across your project files
- Calculates new versions based on semantic versioning rules
- Updates all relevant files with intelligent pattern matching
- Creates Git commits and tags with customizable messages
- Pushes changes to your remote repository
- Runs post-bump scripts for builds, tests, or deployments
All of this happens in a single command, with full transparency and control over each step.
Quick Example
Here's how simple version bumping becomes with bumpx:
# Install bumpx
npm install -g bumpx
# Basic version bump
bumpx patch
# 1.0.0 → 1.0.1
# Version bump with Git workflow
bumpx minor --commit --tag --push
# 1.0.1 → 1.1.0, creates commit and tag, pushes to remote
# Interactive version selection
bumpx prompt --commits
# Shows recent commits and version options
# Monorepo version management
bumpx patch --recursive
# Updates all packages in your monorepo
# Custom files and post-bump actions
bumpx major --files "package.json,VERSION.txt,src/version.ts" \
--commit --tag \
--execute "bun run build && bun test"
# Prerelease versions
bumpx prerelease --preid beta --commit --tag
# 1.1.0 → 1.1.1-beta.0
# Dry run to preview changes
bumpx minor --dry-run --verbose
# Shows what would be changed without making changes
Configuration
Configure bumpx to match your workflow:
// bumpx.config.ts
export default {
commit: true,
tag: true,
push: false,
message: 'chore: release v%s',
tagMessage: 'Release v%s',
execute: 'bun run build && bun test'
}
Or in package.json:
{
"bumpx": {
"commit": true,
"tag": true,
"message": "chore: release v%s"
}
}
Why Choose bumpx?
bumpx offers significant advantages over manual version management and other tools:
- Comprehensive: Handles files, Git operations, and post-bump actions
- Reliable: Extensive validation and error handling prevent mistakes
- Flexible: Works with any project structure or workflow
- Fast: Efficient processing even for large monorepos
- Modern: Built with TypeScript and modern Node.js features
- Well-documented: Extensive guides and examples
Real-World Scenarios
Single Package Release
bumpx patch --commit --tag --push
Feature Release with Testing
bumpx minor --commit --tag --execute "bun run build && bun test" --push
Monorepo Synchronized Release
bumpx major --recursive --current-version 1.0.0 --commit --tag
CI/CD Automation
bumpx patch --commit --tag --push --no-verify --execute "bun run deploy"
Next Steps
Ready to streamline your version management? Check out these guides:
- Installation Guide — Install bumpx on your system
- Basic Usage — Learn the essential commands
- Configuration — Customize bumpx for your workflow
- Git Integration — Automate your Git workflows
- Monorepo Support — Manage multiple packages
Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
For casual chit-chat with others using this package:
Join the Stacks Discord Server
Postcardware
"Software that is free, but hopes for a postcard." We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.
Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094
Sponsors
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
Credits
version-bump-prompt
- for the initial inspiration- Antony Fu - for creating bumpp
- Chris Breuer
- All Contributors
License
The MIT License (MIT). Please see LICENSE for more information.
Made with 💙