_____ __
/ _ / __ __ ____ ___ ____ _____ / /_ ___ _____
/ __ |/ / / // __ `__ \ / __ \ / ___// __// _ \ / ___/
/ /_/ // /_/ // / / / / // /_/ /(__ )/ /_ / ___// /
/_____/ \__,_//_/ /_/ /_// .___//____/ \__/ \___//_/
/_/
Bumpster is a powerful utility that automates the process of semantic version bumping. The name is derived from "bump" and "buster", reflecting its ability to quickly and easily bump the version number of your software project.
With Bumpster, you can easily manage the versioning of your project, ensuring that your releases are always up-to-date and properly labeled. The utility supports major, minor, and patch-level bumps for bug fixes and other changes.
- Automatic version bumping for major, minor, and patch versions.
- Easy integration with
git-flow
for release management. - Customizable branch names for
master
anddevelop
. - Optional logging of all operations to a log file.
- Minimal footprint: installs in
~/.bumpster
directory, similar to rbenv. - Clean removal: to uninstall, simply delete the
.bumpster
directory. - Works on Linux, macOS, and Git Bash on Windows.
You can install Bumpster with a single command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/phoenixweiss/Bumpster/main/install.sh)"
This will download and install Bumpster in your home directory under ~/.bumpster
.
After installation, add Bumpster to your PATH by running the following command:
echo 'export PATH="$HOME/.bumpster/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
For Git Bash on Windows, use:
echo 'export PATH="$HOME/.bumpster/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
Once installed, Bumpster is available as a command-line tool. You can bump your project's version, customize branch names, enable logging, check the version of Bumpster itself, or get help with the following commands:
Bump major version:
bumpster --major
# or
bumpster -M
Bump minor version:
bumpster --minor
# or
bumpster -m
Bump patch version:
bumpster --patch
# or
bumpster -p
To display the current version of Bumpster:
bumpster --version
# or
bumpster -v
To display help and see available options:
bumpster --help
# or
bumpster -h
If a newer version is available, it will be indicated next to the version number in the help output.
To update Bumpster to the latest version, run:
bumpster --update
# or
bumpster -u
This will download and replace the existing installation with the latest version.
You can specify custom branch names for master
and develop
branches by providing a configuration file or setting them via environment variables. By default, Bumpster uses master
and develop
, but you can change them like this:
bumpster --branch-master main --branch-develop dev
Alternatively, set them in the configuration file ~/.bumpsterrc
or a local config .bumpsterrc
in the project directory:
# ~/.bumpsterrc or ./your_project/.bumpsterrc
GIT_MASTER_BRANCH="main"
GIT_DEVELOP_BRANCH="dev"
Bumpster supports optional logging. To enable logging of all operations to bumpster.log
, add the following line to the configuration file:
ENABLE_LOGGING="true"
Once enabled, Bumpster will create and append logs to bumpster.log
in the current directory.
To create a local .bumpsterrc
configuration file in your current project directory, run:
bumpster --create-local-config
This will guide you through an interactive setup process and generate a .bumpsterrc
file in the current directory.
Bumpster uses a configuration file (.bumpsterrc
) to store customizable options like branch names and logging settings. There are two types of configuration files:
- Global Configuration: Located in
~/.bumpsterrc
, applies to all projects. - Local Configuration: Located in the root of a project (
./your_project/.bumpsterrc
), has higher priority over the global config.
Example configuration:
# ~/.bumpsterrc or ./your_project/.bumpsterrc
GIT_MASTER_BRANCH="main"
GIT_DEVELOP_BRANCH="dev"
ENABLE_LOGGING="true"
Before using Bumpster, ensure that git-flow
is installed and initialized using:
git flow init
To completely remove Bumpster, simply delete the ~/.bumpster
directory:
rm -rf ~/.bumpster
Bumpster is open-source and available under the MIT license.