Changie is a version and change log manager for releases. It's designed for projects using Git, Semantic Versioning, and Keep a Changelog.
- Semantic versioning support (major, minor, patch)
- Automatic CHANGELOG.md management
- Git integration for version tagging
- Support for different remote repository providers (GitHub, Bitbucket)
To install changie, use the following command:
go get -u github.com/peiman/changie
- Initialize your project:
changie init
- Add a changelog entry:
changie changelog added "New feature: Improved error handling"
- Bump the version:
changie minor
To add a new entry to the changelog, use one of the following commands:
changie changelog added "Description of new feature"
changie changelog changed "Description of changes in existing functionality"
changie changelog deprecated "Description of soon-to-be removed features"
changie changelog removed "Description of removed features"
changie changelog fixed "Description of any bug fixes"
changie changelog security "Description of security vulnerabilities fixed"
To bump the version, use one of the following commands:
changie major # Bump major version (e.g., 1.3.2 -> 2.0.0)
changie minor # Bump minor version (e.g., 1.3.2 -> 1.4.0)
changie patch # Bump patch version (e.g., 1.3.2 -> 1.3.3)
To bump the version and automatically push changes and tags, use the --auto-push
flag:
changie minor --auto-push
By default, changie assumes you're using GitHub. To specify a different provider, use the --rrp
flag:
changie --rrp bitbucket major
Changie doesn't require any configuration files. It uses command-line flags for customization.
If you encounter a warning about version mismatch, ensure that your Git tags and CHANGELOG.md are in sync. You may need to manually edit the changelog or create a new Git tag.
Changie requires Git to be installed and available in your system's PATH. Ensure Git is properly installed and accessible from the command line.
Contributions to changie are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
To contribute to changie or modify it for your own needs, you'll need to clone the repository and set up your development environment. Ensure you have Go installed on your system.
- Clone the repository:
git clone https://github.com/peiman/changie.git
cd changie
- Install dependencies:
go mod tidy
The Makefile provides several commands to streamline common development tasks.
-
Lint the code:
make lint
This command runs
golangci-lint
to check for linting issues. -
Run tests:
make test
This command runs all tests to ensure everything is working correctly.
-
Install the binary:
make install
This command installs the binary into your
GOBIN
directory, making it available for use system-wide. -
Build the project:
make build
This command compiles the project.
-
Clean the build cache:
make clean
This command cleans the build cache, test cache, and module cache.
-
Development mode (lint and test):
make dev
This command runs both the lint and test commands to ensure your code is clean and functioning before you commit.
This project is licensed under the MIT License - see the LICENSE.md file for details.