chglog is a changelog management library and tool
## Why While there are other tool out there that will create a changelog output as part of their workflow none of the ones I could find did so in a way that allowed formatting the output via multiple templates. The need to multiple output formats was being driven by the desire to add changelog support to https://github.com/goreleaser/nfpm and the deb and rpm changelog formats not being the same. ## Goals - [x] be simple to use - [x] provide decent default templates for deb, rpm, release and repository style changelog formats - [x] be distributed as a single binary - [x] reproducible results - [x] depend on the fewer external things as possible - [x] store changelog in a transportable format (.yml) - [x] be possible to use it as a lib in other go projects (namely [goreleaser](https://goreleaser.com) itself) ## Install ```bash go install github.com/goreleaser/chglog/cmd/chglog@latest ``` ## Usage The first steps are to run `chglog config` to initialize a configuration file (`.chglog.yml`) and edit the generated file according to your needs: ```yaml conventional-commits: false exclude-merge-commits: false deb: distribution: [] urgency: "" debug: false owner: "" package-name: "" ``` The next step is to run `chglog init`. ```yaml - semver: 0.0.1 date: 2019-10-18T16:05:33-07:00 packager: dj gilcrease