- name
- release-notes
- description
- Generate release notes from commit history. Use when asked to draft release notes, create a changelog, or summarize changes for a release.
- source
- Internal engineering practices
- domain
- documentation
- level
- foundational
- agents
- ["orchestrator","backend-dev"]
- created_date
- 2026-04-27
- last_validated
- validated_by
- status
- draft
# Release Notes
## Overview
A structured process for generating release notes from commit history. Groups changes by type, highlights breaking changes, and produces user-friendly summaries.
## Patterns & Techniques
### Generation Process
**Step 1: Gather changes**
```bash
git log --oneline $(git describe --tags --abbrev=0)..HEAD
```
**Step 2: Categorize** using conventional commit prefixes:
- **🚀 Features** (`feat:`)
- **🐛 Bug Fixes** (`fix:`)
- **📚 Documentation** (`docs:`)
- **🔧 Maintenance** (`chore:`, `refactor:`)
- **⚠️ Breaking Changes** (`BREAKING CHANGE` or `!`)
**Step 3: Write** using the template:
```markdown
# Release vX.Y.Z
## Highlights
Brief summary of the most important changes (2-3 sentences).
## 🚀 Features
- Description of feature (#PR)
## 🐛 Bug Fixes
- Description of fix (#PR)
## ⚠️ Breaking Changes
- What changed and migration steps
## 📚 Documentation
- What was updated
## 🔧 Maintenance
- Internal changes
```
**Step 4: Review**
- All significant changes included
- PR/issue references correct
- Breaking changes include migration instructions
## Common Pitfalls
- **Listing commit messages verbatim** — Rewrite for the reader, not the committer
- **Missing breaking changes** — Always call these out prominently with migration steps
- **No highlights section** — Users want a 2-sentence summary, not a raw list
GitHubで見る