Separate your changelog from commit messages without conflicts.
- File based changelog management keeps your commit history and release notes separate.
- Track changes while you work while the knowledge is fresh.
- Extensive configuration options to fit your project.
- Language and framework agnostic using a single go binary.
- User documentation is available on the website.
- Specifically, the guide is a good place to start.
- There is also a Changie GitHub Action you can use
- View Changie's Changelog for an example.
Use the discussions page for help requests and how-to questions.
Please open GitHub issues for bugs and feature requests. File an issue before creating a pull request, unless it is something simple like a typo.
- Introduction to Changelog Management
- Get help with Changie
- Headers, footers, bumping, latest, dry run
- Prereleases and metadata
- Choices and Replacements
- Auto mode and GitHub action
pull requests encouraged to add your own media here
If you want to contribute through code or documentation, the Contributing guide is the place to start. If you need additional help create an issue or post on discussions.
Changie is focused around the CLI and its configuration options and aims to keep existing CLI commands and options suported in major versions. It is possible to use Changie as a dependent package but no support or compability is guaranteed.
Below is a list of common development tasks, these can easily be run using xc.
For example xc test
will run the test suite.
Run unit test suite with code coverage enabled
go test -coverprofile=c.out ./...
requires: test
go tool cover -html=c.out
goimports -w -local github.com/miniscruff/changie .
golangci-lint run ./...
Generate config and CLI docs
go run main.go gen
Serve a locally running hugo instance for documentation
requires: gen
hugo serve -s docs
Distributed under the MIT License.