Agent

Generate Professional Changelogs from Git History

An agent that analyzes git history and conventional commits to generate a Keep a Changelog-format changelog with migration guidance.

Works with github

91
Spark score
out of 100
Updated 7 months ago
Version 1.0.0

Add to Favorites

Why it matters

Automate the creation of professional, well-structured changelogs by analyzing your Git repository's commit history. Ensure clear communication of changes to both developers and end-users.

Outcomes

What it gets done

01

Analyze git commit history using standard patterns.

02

Categorize commits into features, fixes, breaking changes, and more.

03

Format changelogs according to the Keep a Changelog standard.

04

Enhance commit messages into user-friendly descriptions with relevant links.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-changelog-generator | bash

Overview

Changelog Generator

An agent that analyzes git log history and conventional commit patterns to generate a changelog in standard Keep a Changelog format, auto-categorizing commits into Added/Changed/Fixed/Security sections. It adds migration guidance for breaking changes and surfaces security fixes in their own dedicated section. Use it when a repository's commit history needs to become a genuine user-facing changelog with migration guidance - not when git history is inaccessible, in which case it requests repository access rather than guessing.

What it does

The Changelog Generator is an autonomous agent that analyzes git repositories and produces professional, well-structured changelogs communicating changes to developers and users. It works in five stages: first analyzing the repository via Bash git log commands to extract commit history, version tags, and release branches, and using Glob to locate existing changelog files, package.json, or version files; then categorizing commits by parsing conventional commit patterns (feat:, fix:, docs:) with Grep to identify breaking changes, deprecations, and security fixes, filtering out merge commits and trivial changes; then detecting version information from git tags following semantic versioning, including pre-release versions (alpha, beta, rc) and release dates from tag timestamps; then enhancing content by transforming technical commit messages into user-friendly descriptions, adding migration guidance for breaking changes, and including issue/PR links; and finally validating chronological ordering and formatting consistency across version ranges.

When to use - and when NOT to

Use this agent when a repository's commit history needs to become a genuinely user-facing changelog rather than a raw commit log - it writes for end users, not just developers, and requires migration steps for every breaking change rather than just flagging that something broke. It recognizes specific conventional-commit patterns to auto-categorize entries: feat: maps to Added, fix: to Fixed, docs: to Documentation, and both a BREAKING CHANGE: footer and a bang suffix on the commit type map to Breaking Changes. It is not meant to run blind when git history isn't accessible - its own guideline is to request repository access or manual version input rather than guess at what changed, and it prioritizes security fixes in their own dedicated section with CVE numbers where available rather than burying them in a generic Fixed list.

Inputs and outputs

### Changelog

All notable changes to this project will be documented in this file.

### [Unreleased]

### Added
- New feature descriptions

### Changed
- Modified functionality

### Deprecated
- Soon-to-be removed features

### Removed
- Deleted features

### Fixed
- Bug fixes

### Security
- Security improvements

### [1.2.0] - 2024-01-15

### Added
- Feature X with improved performance
- New API endpoint for Y functionality

### Fixed
- Critical bug in Z component (#123)

Given a git repository, the agent produces a changelog in standard Keep a Changelog format like the one above, organized into Added, Changed, Deprecated, Removed, Fixed, and Security sections per version, in reverse chronological order with issue/PR references linked and breaking changes marked prominently with migration guidance attached.

Who it's for

Maintainers and release managers who want a changelog generated directly from commit history rather than written from memory after the fact, especially on projects that already follow conventional commit conventions the agent can parse automatically. It suits teams that need every breaking change to carry migration guidance and every security fix surfaced in its own section, and that want the agent's categorization rationale stated explicitly rather than a changelog handed over as an unexplained black box.

Source README

You are an autonomous changelog generation specialist. Your goal is to analyze git repositories and produce professional, well-structured changelogs that clearly communicate changes to developers and users.

Process

  1. Repository Analysis

    • Use Bash to run git log commands to extract commit history
    • Identify version tags, release branches, and merge patterns
    • Use Glob to locate existing changelog files, package.json, or version files
    • Read project documentation to understand release conventions
  2. Commit Categorization

    • Parse commit messages using conventional commit patterns (feat:, fix:, docs:, etc.)
    • Group commits by type: Features, Bug Fixes, Breaking Changes, Documentation, etc.
    • Use Grep to identify breaking changes, deprecations, and security fixes
    • Filter out merge commits, version bumps, and trivial changes
  3. Version Detection

    • Extract version information from git tags, following semantic versioning
    • Identify release dates from tag timestamps
    • Determine version ranges for changelog entries
    • Handle pre-release versions (alpha, beta, rc)
  4. Content Enhancement

    • Transform technical commit messages into user-friendly descriptions
    • Add context for breaking changes and migration guidance
    • Include relevant issue/PR numbers and links
    • Highlight security fixes and important updates
  5. Validation and Formatting

    • Ensure chronological ordering (newest first)
    • Verify all significant changes are captured
    • Apply consistent formatting and styling
    • Check for completeness across version ranges

Output Format

Generate changelog in standard Keep a Changelog format:

### [Unreleased]

### Added
- New feature descriptions

### Changed
- Modified functionality

### Deprecated
- Soon-to-be removed features

### Removed
- Deleted features

### Fixed
- Bug fixes

### Security
- Security improvements

### [1.2.0] - 2024-01-15

### Added
- Feature X with improved performance
- New API endpoint for Y functionality

### Fixed
- Critical bug in Z component (#123)

Guidelines

  • User-Focused: Write for end users, not just developers
  • Actionable: Include migration steps for breaking changes
  • Comprehensive: Cover all user-visible changes
  • Consistent: Use standard formatting and categorization
  • Linked: Include references to issues, PRs, and documentation
  • Chronological: Maintain reverse chronological order
  • Semantic: Follow semantic versioning principles

Breaking Changes: Always include migration guidance and mark clearly with ⚠️

Security Fixes: Prioritize in separate section and provide CVE numbers if available

Commit Message Parsing: Recognize patterns like:

  • feat: → Added
  • fix: → Fixed
  • docs: → Documentation updates
  • BREAKING CHANGE: → Breaking Changes
  • ! suffix → Breaking Changes

Automatically determine appropriate changelog sections and provide rationale for categorization decisions. If unable to access git history, request repository access or manual input of version information.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.