herald

module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2026 License: MIT

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

Directories

Path Synopsis
cmd
herald command
Package main provides the entry point for herald.
Package main provides the entry point for herald.
internal
claude
Package claude provides Claude CLI wrapper functions.
Package claude provides Claude CLI wrapper functions.
cli
Package cli provides the main CLI orchestration.
Package cli provides the main CLI orchestration.
errors
Package errors defines error types and exit codes for the application.
Package errors defines error types and exit codes for the application.
git
Package git provides git repository operations.
Package git provides git repository operations.
github
Package github provides GitHub CLI (gh) wrapper functions.
Package github provides GitHub CLI (gh) wrapper functions.
prompt
Package prompt provides prompt template generation for Claude.
Package prompt provides prompt template generation for Claude.
term
Package term provides ANSI terminal color utilities.
Package term provides ANSI terminal color utilities.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL