README

herald

Go CLI tool that generates GitHub release notes by analyzing git diffs between releases using Claude.

Requirements

Installation

go install github.com/AndreyAkinshin/herald/cmd/herald@latest

Or build from source:

mise run build

Usage

herald <tag|last> ["instructions"] [options]

Arguments:
  tag                  Release tag or "last" for latest
  instructions         Custom instructions for Claude (optional)

Options:
  -o, --output <file>  Save notes to file (default: <tmpdir>/herald/<repo>-<tag>.md)
  --no-confirm         Skip confirmation prompt
  --no-footer          Omit herald attribution footer
  --dry-run            Generate notes but don't update release
  -v, --verbose        Detailed output
  --version            Print version and exit

Examples

Generate and preview release notes without updating:

herald v1.2.0 --dry-run

Generate notes for the latest release:

herald last --dry-run

Generate notes with custom instructions:

herald v1.2.0 "Very detailed api section" --dry-run

Generate and update release notes:

herald v1.2.0

Skip confirmation prompt:

herald v1.2.0 --no-confirm

Using via mise

Herald can be installed as a mise tool via go:github.com/AndreyAkinshin/herald/cmd/herald, then wrapped in a mise task for convenient per-project use.

Local (user-wide)

Install globally so herald is available everywhere:

mise use -g go:github.com/AndreyAkinshin/herald/cmd/herald@latest

Per-project

Add herald as a tool and create a task in your project's mise.toml:

[tools]
"go:github.com/AndreyAkinshin/herald/cmd/herald" = "latest"

[tasks.release-notes]
description = "Generate release notes for a tag"
usage = '''
arg "<tag>"
arg "[instructions]"
'''
run = 'herald "$usage_tag" "$usage_instructions" --dry-run'

Then run:

mise run release-notes v1.2.0

License

MIT