Skip to content

Automated changelog tool for preparing releases with lots of customization options

License

Notifications You must be signed in to change notification settings

miniscruff/changie

Repository files navigation

Changie Logo

Changie

Separate your changelog from commit messages without conflicts.

codecov Go Report Card Release GitHub Workflow Status PkgGoDev Mentioned in Awesome Go

asciicast

Features

  • 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.

Getting Started

Need help?

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.

Media

pull requests encouraged to add your own media here

Want to Contribute?

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.

Semantic Version Compatibility

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.

Tasks

Below is a list of common development tasks, these can easily be run using xc. For example xc test will run the test suite.

test

Run unit test suite with code coverage enabled

go test -coverprofile=c.out ./...

coverage

requires: test

go tool cover -html=c.out

lint

goimports -w -local github.com/miniscruff/changie .
golangci-lint run ./...

gen

Generate config and CLI docs

go run main.go gen

docs-serve

Serve a locally running hugo instance for documentation

requires: gen

hugo serve -s docs

License

Distributed under the MIT License.