# Changeloguru [![Go](https://github.com/haunt98/changeloguru/workflows/Go/badge.svg?branch=main)](https://github.com/haunt98/changeloguru/actions) [![Go Reference](https://pkg.go.dev/badge/github.com/haunt98/changeloguru.svg)](https://pkg.go.dev/github.com/haunt98/changeloguru) [![codecov](https://codecov.io/gh/haunt98/changeloguru/branch/main/graph/badge.svg?token=ZBG353F0CN)](https://codecov.io/gh/haunt98/changeloguru) Tool to generate `CHANGELOG.md`, `CHANGELOG.rst` from [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). ## Install With Go version `>= 1.16`: ```sh go install github.com/haunt98/changeloguru/cmd/changeloguru@latest ``` With Go version `< 1.16`: ```sh GO111module=on go get github.com/haunt98/changeloguru/cmd/changeloguru ``` ## Usage `--from` is commit in the future. `-to` is commit in the past. ```sh # Help changeloguru --help # Generate changelog v1.0.0 changeloguru generate --version v1.0.0 # Generate changelog v2.0.0 from HEAD to tag v1.0.0 changeloguru generate --version v2.0.0 --to v1.0.0 # Generate changelog in dry run mode (without changing anything) changeloguru generate --version v2.0.0 --to v1.0.0 --dry-run # Generate changelog only for scope changeloguru generate --version v2.0.0 --to v1.0.0 --scope projectA --scope projectB # Generate changelog in interactive mode (with instruction) and auto push commit, tag changeloguru generate -i --auto-commit --auto-tag --auto-push ``` ## Thanks - [Command Line Interface Guidelines](https://clig.dev/) - [fatih/color](https://github.com/fatih/color) - [go-git/go-git](https://github.com/go-git/go-git) - [google/go-cmp](https://github.com/google/go-cmp) - [sebdah/goldie](https://github.com/sebdah/goldie) - [stretchr/testify](https://github.com/stretchr/testify) - [urfave/cli](https://github.com/urfave/cli)