πͺ AI-powered changelog generator that transforms your Git commit history into beautiful, professional changelogs following Keep a Changelog standards.
Magic Release automatically generates comprehensive, well-structured changelogs from your Git commit history using advanced AI. Simply run magicr in your repository and watch as it intelligently categorizes commits, creates semantic release notes, and produces professional documentation that your users will love. β¨
- π€ Multiple AI Providers - Support for OpenAI GPT-4, Anthropic Claude, and Azure OpenAI
- π Keep a Changelog Format - Industry-standard changelog structure and formatting
- π― Smart Categorization - AI-powered commit analysis into features, fixes, breaking changes, and more
- β‘ Zero Configuration - Works out of the box with intelligent defaults
- π οΈ Flexible Setup - Interactive configuration wizard and project initialization
- π Range Support - Generate changelogs for specific commit ranges or versions
- π No Installation Required - Use with
npxwithout global installation - π Conventional Commits - Full support for conventional commit format
- π Smart Linking - Automatic GitHub/GitLab issue and PR linking
- π¨ Customizable - Configurable output format and content inclusion
Have suggestions? Let me know!
Important
This project is currently in beta (v0.1.0-beta). While fully functional, expect occasional improvements and refinements. Report any issues you encounter - your feedback helps make it better! π
Get up and running in seconds with these simple steps:
# Navigate to your project
cd your-project
# Generate changelog instantly
npx magicr
# Or with custom options
npx magicr --from v1.0.0 --to HEAD --verbose# Install globally
npm install -g magicr
# Use anywhere
cd your-project
magicr- π Analyzes your Git commit history intelligently
- π€ Categorizes commits using AI into proper changelog sections
- π Generates a beautiful
CHANGELOG.mdfollowing Keep a Changelog standards - π― Preserves existing changelog content and adds new entries
- π Links to issues, PRs, and commits automatically
πΉ Coming soon! In the meantime, try it out in your project.
# Basic usage - generate changelog from all commits
magicr
# or with npx
npx magicr
# Generate changelog from specific commit range
magicr --from v1.0.0 --to v2.0.0
# or with npx
npx magicr --from v1.0.0 --to v2.0.0
# Preview without writing files
magicr --dry-run
# Include verbose output for debugging
magicr --verbose
# Set up API key (auto-detects OpenAI)
magicr --set-key sk-your-openai-key
# or with npx
npx magicr --set-key sk-your-openai-key
# Interactive configuration setup
magicr --config
# Initialize project configuration
magicr --init
# Switch or list AI providers
magicr --providerNote
Magic Release supports multiple AI providers including OpenAI, Anthropic, and Azure OpenAI. By default, it uses OpenAI's gpt-4o-mini model. You'll need an API key from your chosen provider:
OpenAI: Get your API key at platform.openai.com Anthropic: Get your API key at console.anthropic.com Azure OpenAI: Configure through your Azure portal
# Set up your API key (auto-detects provider)
magicr --set-key your-api-key
# or with npx
npx magicr --set-key your-api-key
# Or specify provider explicitly
magicr --provider anthropic --set-key your-anthropic-key
# or with npx
npx magicr --provider anthropic --set-key your-anthropic-keyRequirements:
- Node.js β₯ 20.0.0
- Yarn β₯ 4.0.0 (recommended) or npm
# Using npm
npm install -g magicr
# Using yarn
yarn global add magicr# Run directly without installing
npx magicr
# You can use all the same options
npx magicr --set-key your-api-key
npx magicr --from v1.0.0 --to v2.0.0Creating and maintaining changelogs is often a tedious, time-consuming task that many developers either skip or do inconsistently. Magic Release was born from the frustration of manually categorizing commits, writing user-friendly descriptions, and maintaining proper changelog formatting across multiple projects.
By leveraging the power of modern AI, Magic Release transforms this chore into an effortless, automated process. It not only saves countless hours but also ensures consistency, professionalism, and adherence to industry standards like Keep a Changelog format.
The vision: Every project deserves a professional changelog that helps users understand what changed, when, and why - without the developer overhead. π―
Magic Release is built with a modular, extensible architecture:
- π§ LLM Service - Unified interface supporting multiple AI providers
- π Commit Parser - Analyzes conventional commits and semantic patterns
- π·οΈ Tag Manager - Handles version detection and semantic versioning
- π Git Service - Interfaces with Git repository operations
- π Changelog Generator - Produces Keep a Changelog format output
- βοΈ Configuration Store - Secure credential and settings management
- OpenAI - GPT-4, GPT-3.5 Turbo models
- Anthropic - Claude 3 family models
- Azure OpenAI - Enterprise-grade AI with custom deployments
- Repository Analysis β Extract commits, tags, and metadata
- AI Processing β Categorize and enhance commit descriptions
- Content Generation β Create structured changelog entries
- Format & Output β Generate final changelog following standards
We welcome contributions! Here's how you can help make Magic Release even better:
- π Report bugs - Found an issue? Create a bug report
- π‘ Request features - Have an idea? Suggest a feature
- π Improve docs - Help us make the documentation clearer
- π§ Submit PRs - Fix bugs or implement new features
- β Give feedback - Share your experience using Magic Release
# Clone the repository
git clone https://github.com/warengonzaga/magic-release.git
cd magic-release
# Install dependencies
npm install
# Run tests
npm test
# Build the project
npm run build
# Test locally
npm run dev- Please read our Contributing Guide first
- Submit pull requests to the
devbranch - Follow the existing code style and conventions
- Add tests for new features
- Update documentation as needed
Your contributions help make changelog generation effortless for developers worldwide! π
Please report any issues and bugs by creating a new issue here, also make sure you're reporting an issue that doesn't exist. Any help to improve the project would be appreciated. Thanks! πβ¨
Like this project? Leave a star! βββββ
Want to support my work and get some perks? Become a sponsor! π
Or, you just love what I do? Buy me a coffee! β
Recognized my open-source contributions? Nominate me as GitHub Star! π«
Read the project's code of conduct.
This project is licensed under GNU General Public License v3.0.
This project is created by Waren Gonzaga, with the help of awesome contributors.
π» with β€οΈ by Waren Gonzaga and Him π

