Initial release of herald — a CLI tool that automates GitHub release note generation using Claude AI. It analyzes git commits between releases, constructs a detailed prompt, and produces well-structured Markdown release notes.

Features

  • AI-powered release note generation via the claude CLI with customizable model selection (--model)
  • Smart release detection: automatically resolves the previous release by publication date to compute commit diffs
  • Flexible tag resolution with support for explicit tags or last keyword for the latest release
  • Custom instructions support to guide Claude's output for specific release emphasis
  • Interactive confirmation prompt before updating GitHub releases
  • Dry-run mode (--dry-run) to preview generated notes without modifying releases
  • Verbose mode (--verbose) for detailed intermediate output
  • Automatic remote tag fetching to handle CI-created releases
  • File output with configurable path (--output) and default temp directory storage
  • Optional attribution footer (--no-footer to omit)

Internal

  • Clean modular architecture: cli, git, github, claude, prompt, errors, term packages
  • Embedded Go template for prompt construction with full commit context
  • Typed error system with distinct exit codes: runtime (1), configuration (2), environment (3), user abort (4)
  • ANSI terminal color utilities with NO_COLOR environment variable support
  • Preamble stripping to remove unwanted headings from Claude output
  • CI workflow for linting, testing, and cross-platform builds
  • Automated publish workflow for GitHub releases with goreleaser-style multi-platform binaries
  • Comprehensive test suite across all packages

Release notes generated by herald v1.0.0