Skip to main content

AI-powered changelog generator from git commits

Project description

brose-changelog-cli

An AI-powered changelog generator that creates structured, user-friendly changelogs from your git history.

Features

  • 🤖 AI-powered analysis of git commits
  • 📝 Structured changelog generation
  • 🌐 Web viewer for changelogs
  • 🔍 Smart filtering of relevant changes
  • 🎯 Relevance scoring for changes
  • 🚫 Automatic exclusion of non-essential files

Installation

uv install brose-changelog-cli

Usage

Generate Changelog

Create or update your changelog based on new git commits:

changelog generate

This will:

  • Analyze new commits in your repository
  • Generate structured changelog entries
  • Create/update changelog/changelog.json
  • Generate a formatted CHANGELOG.md

Web Viewer

Launch a web interface to view your changelog:

changelog web

By default, the web viewer runs at http://127.0.0.1:8000. You can customize the host and port:

changelog web --host 0.0.0.0 --port 3000

Configuration

  1. Set up your OpenAI API key:
export OPENAI_API_KEY=your-api-key
  1. Optional: Create a .env file:
OPENAI_API_KEY=your-api-key

How It Works

  1. Commit Analysis: The tool analyzes your git commits, excluding non-essential files like documentation, tests, and configuration files.

  2. AI Processing: Each commit is processed through OpenAI's GPT model to:

    • Categorize changes (Added, Fixed, Changed, Removed)
    • Generate user-friendly descriptions
    • Assign relevance scores (1-10)
  3. Changelog Generation: Changes are organized by:

    • Week
    • Commit
    • Change category
    • Relevance (prioritizing high-impact changes)

Requirements

  • Python ≥ 3.12
  • Git repository
  • OpenAI API key

Optional Dependencies

Web viewer requires additional packages:

  • FastAPI
  • Uvicorn
  • Jinja2
  • Markdown

These are automatically installed when using the [web] extra:

uv install "brose-changelog-cli[web]"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brose_changelog_cli-0.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brose_changelog_cli-0.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file brose_changelog_cli-0.1.0.tar.gz.

File metadata

  • Download URL: brose_changelog_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for brose_changelog_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 24ca0dea25036c45bbb243111e754dd0d07c1f0876e38041beec66e722b9dad4
MD5 34c9f59a037dd3e14bc96c724069d6fe
BLAKE2b-256 17514b18f990294dbfd481ea710660b59a9cb8bc7e6202511d5a531a45079ef1

See more details on using hashes here.

File details

Details for the file brose_changelog_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for brose_changelog_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2ff414cf3b4957c62ba727b5bc046a6df7ae427fa3c2856dbd7b6ae914c7222
MD5 d069124335e1e95e7c17830db306c691
BLAKE2b-256 3ff18cea61bc84adf8fd7fb9f9f81fcc028830e1c35ac25d272f8b5f4b9fee32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page