git-release-notes-generator
v1.0.1
Published
Professional CLI tool for generating release notes from Git commits using conventional commit format
Maintainers
Readme
Git Release Notes Generator
🚀 Professional CLI tool for generating beautiful release notes from Git commits using conventional commit format.
✨ Features
- 🎯 Conventional Commits Support - Automatically parses
feat:,fix:,docs:, etc. - 📊 Rich Statistics - Commit counts, type breakdown, and summaries
- 🎨 Multiple Formats - Generates both Markdown and HTML output
- 🏷️ Flexible Ranges - Support for Git tags, branches, commits, and date ranges
- 🚀 Zero Configuration - Works out of the box with any Git repository
- 💡 Smart Categorization - Groups commits by type with emoji indicators
- ⚡ Fast & Lightweight - Built with TypeScript and modern tooling
📦 Installation
Global Installation (Recommended)
npm install -g git-release-notes-generatorAfter installation, use the rn or git-release-notes command anywhere:
# Navigate to any Git repository
cd /path/to/your/repo
rn --since "1 month ago" .
# Or specify repository path
rn --repo-path "/path/to/repo" --from v1.0.0 --to v2.0.0 .Local Installation
npm install git-release-notes-generator
npx rn --help🚀 Quick Start
# Generate release notes for the last month
rn --since "1 month ago" .
# Generate notes between two Git tags
rn --from v1.0.0 --to v2.0.0 .
# Use Git range syntax
rn --range "v1.0.0..v2.0.0" .
# Preview without creating files
rn --since "1 week ago" preview
# Generate for another repository
rn --repo-path "/path/to/other/repo" --since "2 weeks ago" .📖 Usage
Basic Commands
# Show help
rn --help
# List all available commit types
rn list-types
# Show configuration
rn config
# Preview mode (no files written)
rn --since "1 month ago" previewDate Filtering
# Relative dates
rn --since "1 week ago" .
rn --since "2 months ago" .
rn --since "last friday" .
# Absolute dates
rn --since "2024-01-01" .
rn --since "2024-01-01" --until "2024-12-31" .Git References
# Tags
rn --from v1.0.0 --to v2.0.0 .
# Branches
rn --from main --to develop .
# Commit hashes
rn --from abc123 --to def456 .
# Git range syntax
rn --range "v1.0.0..HEAD" .
rn --range "main...develop" .Options
# Exclude commit types
rn --since "1 month ago" --exclude chore docs test .
# Custom filename
rn --since "1 month ago" --filename "release-v2.0" .
# Verbose output
rn --since "1 month ago" --verbose .
# Specify repository
rn --repo-path "/path/to/repo" --since "1 month ago" .📝 Output Examples
Markdown Output (release-notes.md)
# Release Notes - v1.0.0..v2.0.0
**Branch:** main
**Generated:** November 13, 2025 at 02:30 PM
## 🚀 Features
- **auth:** add OAuth2 authentication support ([abc123](https://github.com/user/repo/commit/abc123))
- **api:** implement user profile endpoints ([def456](https://github.com/user/repo/commit/def456))
## 🐛 Bug Fixes
- **ui:** fix responsive layout on mobile devices ([ghi789](https://github.com/user/repo/commit/ghi789))
## 📊 Statistics
- **Total Commits:** 15
- **Features:** 8
- **Bug Fixes:** 4HTML Output (release-notes.html)
Professional HTML format with:
- 🎨 Beautiful CSS styling
- 📱 Responsive design
- 🔗 Clickable commit links
- 📊 Interactive statistics
- 🎯 Clean typography
🎯 Conventional Commits
The tool automatically recognizes conventional commit formats:
feat:- New features 🚀fix:- Bug fixes 🐛docs:- Documentation 📚style:- Code style changes 💄refactor:- Code refactoring ♻️perf:- Performance improvements ⚡test:- Tests 🧪build:- Build system changes 🔧ci:- CI/CD changes 👷chore:- Maintenance tasks 🔧revert:- Reverts ⏪
Scopes and Breaking Changes
# With scope
feat(auth): add login functionality
# Breaking change
feat!: redesign user API
feat(api)!: change authentication method
# Will be highlighted in output with ⚠️ warnings⚙️ Configuration
No configuration files needed! The tool works with sensible defaults:
- Output Directory: Current directory (
.) - Filename:
release-notes(generates.mdand.html) - Commit Types: All conventional types included
- Max Commits: 1000 (configurable)
- Include Merges: No (configurable)
🛠️ Development
# Clone and install
git clone https://github.com/rohitprabhakaran/git-release-notes-generator.git
cd git-release-notes-generator
npm install
# Build
npm run build
# Test
npm test
# Lint
npm run lint📄 License
MIT License - see LICENSE for details.
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📞 Support
Made with ❤️ by Rohit Prabhakaran
