Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frgrisk/gotaglog
https://github.com/frgrisk/gotaglog
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/frgrisk/gotaglog
- Owner: frgrisk
- License: mit
- Created: 2023-08-15T11:12:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-04T00:47:34.000Z (3 months ago)
- Last Synced: 2024-11-04T01:26:37.290Z (3 months ago)
- Language: Go
- Size: 191 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# gotaglog
[![Go Report Card](https://goreportcard.com/badge/github.com/frgrisk/gotaglog)](https://goreportcard.com/report/github.com/frgrisk/gotaglog)
GoTagLog is a simple command-line application to automatically generate a
changelog from git tags based on the semantic versioning. It categorizes
commits into groups and outputs them in a formatted markdown file or
directly to the terminal with highlighting.## Prerequisites
To use GoTagLog, you'll need to have:
- [Go](https://golang.org/dl/) installed on your local machine.
## Installation
```bash
go install github.com/frgrisk/gotaglog@latest
```## Usage
To generate a changelog, use the following command:
```bash
gotaglog
```### Flags
The application accepts several flags:
- `--config`: path to configuration file (default is `$HOME/.gotaglog.yaml`).
- `-o, --output`: path to output file (default if to print to stdout).
- `-r, --repo`: repo to generate changelog for (default is current directory).
- `-t, --tag`: semantic version tag for unreleased changes (default is
"unreleased").
- `--inc-patch`: increment patch version (default is false). Takes
precedence over `--tag`.
- `--inc-minor`: increment patch version (default is false). Takes
precedence over `--inc-patch` and `--tag`.
- `--inc-major`: increment patch version (default is false). Takes
precedence over `--inc-minor`, `--inc-patch`, and `--tag`.
- `--unreleased`: show only unreleased changes.### Environment variables
In addition to flags and the configuration file, you can also use
environment variables to set parameters. The application will automatically
look for any environment variables beginning with `GOTAGLOG_`. For
instance, to set the repo, you could use the following command:```bash
export GOTAGLOG_REPO=/path/to/repo
```## License
GoTagLog is released under the MIT License. See the [LICENSE](./LICENSE)
file for more details.## Acknowledgments
- Inspired by [git-cliff](https://github.com/orhun/git-cliff)
- Built with [go-git](https://github.com/go-git/go-git)
- Command line interface powered by [cobra](https://github.com/spf13/cobra)
- Configuration management using [viper](https://github.com/spf13/viper)
- Markdown rendering by [glamour](https://github.com/charmbracelet/glamour)