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
- Set up your OpenAI API key:
export OPENAI_API_KEY=your-api-key
- Optional: Create a
.envfile:
OPENAI_API_KEY=your-api-key
How It Works
-
Commit Analysis: The tool analyzes your git commits, excluding non-essential files like documentation, tests, and configuration files.
-
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)
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24ca0dea25036c45bbb243111e754dd0d07c1f0876e38041beec66e722b9dad4
|
|
| MD5 |
34c9f59a037dd3e14bc96c724069d6fe
|
|
| BLAKE2b-256 |
17514b18f990294dbfd481ea710660b59a9cb8bc7e6202511d5a531a45079ef1
|
File details
Details for the file brose_changelog_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: brose_changelog_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ff414cf3b4957c62ba727b5bc046a6df7ae427fa3c2856dbd7b6ae914c7222
|
|
| MD5 |
d069124335e1e95e7c17830db306c691
|
|
| BLAKE2b-256 |
3ff18cea61bc84adf8fd7fb9f9f81fcc028830e1c35ac25d272f8b5f4b9fee32
|