Interactive changelog generator with commit picker. Choose which commits to include in your changelog with multiple output formats (JSON, Markdown, HTML). Perfect for teams who want full control over their release notes.
- 🎯 Interactive commit selection with checkboxes
- 📝 Supports conventional commits (feat, fix, perf)
- 📊 Multiple output formats: JSON, Markdown, HTML
- 🏷️ Automatic version detection from git tags
- 🔄 Updates existing versions or creates new ones
Run the following in any project:
npx cherry-changelog
The tool will:
- Scan your git commits for conventional commits
- Show an interactive checkbox list for commit selection
- Let you choose output formats (JSON, MD, HTML)
- Generate changelog files with your selections
Option | Alias | Type | Default | Description |
---|---|---|---|---|
--format |
-f |
string | markdown |
Export formats (comma-separated: json,markdown,html) |
--output |
-o |
string | . |
Output directory |
--version |
-v |
string | - | Override version (defaults to latest git tag) |
--types |
-t |
string | feat,fix,perf |
Commit types to include (comma-separated) |
--auto-select |
-a |
boolean | false |
Auto-select all commits without prompting |
--input-file |
-i |
string | changelog.json |
Input changelog file |
Note
Any type that doesn't match perf
, fix
, or feat
will be categorized under "Other" in the changelog (if included). We feel this is neatest way to do this.
Generate multiple formats:
cherry-changelog --format json,markdown,html
Auto-select all commits:
cherry-changelog --auto-select
Specify custom version and output directory:
cherry-changelog --version v2.1.0 --output ./dist
Filter specific commit types:
cherry-changelog --types feat,fix
[
{
"version": "v1.2.0",
"date": "2025-06-23",
"entries": [
{
"type": "feature",
"text": "add user authentication"
},
{
"type": "fix",
"text": "resolve memory leak"
}
]
}
]
# Changelog
## v1.2.0 - 2025-06-23
### ✨ Features
- add user authentication
### 🐛 Fixes
- resolve memory leak
Clean, responsive HTML with built-in styling for easy sharing.
MIT