A comprehensive multi-format release notes generation command for Claude Code that analyzes Git commits and produces release notes for different audiences.
- Technical Release Notes - GitHub releases with conventional commit grouping
- Marketing Release Notes - App store descriptions with character limits
- Internal Release Notes - Team communication with business impact
- Security Release Notes - CVE disclosures and vulnerability documentation
- Changelog Maintenance - Keep a Changelog format automation
- Claude Code CLI installed and configured
- A Git repository with commit history
- Clone or download this repository
- Copy the folders to your project's
.claude/directory:
# From your project root
cp -r path/to/claude-code-release-notes/commands .claude/
cp -r path/to/claude-code-release-notes/release .claude/Your project structure should look like:
your-project/
├── .claude/
│ ├── commands/
│ │ └── release-notes.md
│ └── release/
│ ├── agents/
│ │ ├── technical-notes.md
│ │ ├── marketing-notes.md
│ │ ├── internal-notes.md
│ │ ├── security-notes.md
│ │ └── changelog.md
│ └── templates/
│ ├── technical-release.template.md
│ ├── marketing-release.template.md
│ ├── internal-release.template.md
│ └── CHANGELOG.template.md
├── src/
└── ...
- (Optional) Add
release-notes/to your.gitignore:
echo "release-notes/" >> .gitignoreAfter installation, you can optimize the release notes generator for your specific project. This produces more relevant release notes by understanding your commit conventions and release workflow.
Run this prompt in Claude Code:
I just installed the release-notes command in .claude/. Please:
1. Analyze my repository to detect my commit conventions, versioning strategy, and release workflow
2. Read the command files in .claude/commands/release-notes.md and .claude/release/agents/
3. Optimize each release notes agent by:
- Adjusting commit pattern detection to match my commit message format
- Customizing the marketing template for my product type (SaaS, mobile app, library, etc.)
- Configuring internal notes format based on my team communication style
- Setting up changelog format to match my existing CHANGELOG.md if present
4. Keep the agent structure, output formats, and Git analysis logic unchanged
Show me what you'll change before applying.
In Claude Code, run the release notes command:
/release-notes
| Argument | Description | Example |
|---|---|---|
--from=<ref> |
Starting point (tag, commit, branch) | --from=v1.0.0 |
--to=<ref> |
Ending point (default: HEAD) | --to=v1.1.0 |
--version=<semver> |
Version number for the release | --version=1.1.0 |
--date=<date> |
Release date (default: today) | --date=2025-01-15 |
| Command | Description |
|---|---|
/release-notes |
Interactive mode - asks which format to generate |
/release-notes technical |
GitHub-style technical release notes |
/release-notes marketing |
App store release notes with character limits |
/release-notes internal |
Team/stakeholder communication format |
/release-notes security |
Security-focused release notes (CVEs, vulnerabilities) |
/release-notes full |
Generate all formats |
# Generate technical notes for a specific version range
/release-notes technical --from=v1.0.0 --to=v1.1.0 --version=1.1.0
# Generate marketing notes for the latest release
/release-notes marketing --from=v1.0.0 --version=1.1.0
# Generate all formats
/release-notes full --from=v1.0.0 --version=1.1.0 --date=2025-01-15
# Interactive mode
/release-notesPerfect for GitHub releases, includes:
- Version number with semantic versioning
- Release date
- Breaking Changes section
- New Features (from
feat:commits) - Bug Fixes (from
fix:commits) - Performance Improvements (from
perf:commits) - Dependencies Updated
- Deprecations
- Migration Guide (if breaking changes exist)
- Full commit list with conventional commit grouping
- Contributors list
- Compare link to previous version
Optimized for app stores and end-user communication:
- Catchy headline summarizing the release
- What's New section with user benefits
- Bug fixes in user-friendly language
- Performance improvements with tangible benefits
- Coming soon teaser
Character Limits:
- App Store (iOS): 4000 characters
- Play Store (Android): 500 characters
- Tweet-length summary: 280 characters
For team and stakeholder communication:
- Release summary
- Business impact assessment
- Technical changes summary
- Risk assessment
- Rollback plan
- Monitoring checklist
- Known issues
- Support team notes
- Sales enablement notes
For security-focused releases:
- CVE references
- Vulnerability descriptions
- Severity ratings (CVSS)
- Affected versions
- Fixed versions
- Mitigation steps
- Credits to security reporters
- Timeline of disclosure
Maintains a changelog following Keep a Changelog:
- Unreleased section for ongoing work
- Version sections with release dates
- Category grouping:
- Added (new features)
- Changed (changes in existing functionality)
- Deprecated (soon-to-be removed features)
- Removed (now removed features)
- Fixed (bug fixes)
- Security (vulnerability fixes)
- Links to issues and PRs
- Compare URLs between versions
The generator analyzes commits for:
| Pattern | Detection |
|---|---|
feat: / feature: |
New features |
fix: / bugfix: |
Bug fixes |
perf: |
Performance improvements |
docs: |
Documentation changes |
style: |
Code style changes |
refactor: |
Code refactoring |
test: |
Test additions/changes |
chore: |
Maintenance tasks |
build: |
Build system changes |
ci: |
CI/CD changes |
BREAKING CHANGE: |
Breaking changes |
! after type |
Breaking changes (e.g., feat!:) |
Commits with scopes like feat(auth): are grouped by their scope for better organization.
Automatically detects:
#123- Issue/PR numberFixes #123- Closing referencesCloses #123- Closing referencesResolves #123- Closing references
| Agent | ID | Purpose |
|---|---|---|
| Technical Notes | REL01 | GitHub/developer-focused release notes |
| Marketing Notes | REL02 | App store/end-user release notes |
| Internal Notes | REL03 | Team/stakeholder communication |
| Security Notes | REL04 | CVE and vulnerability documentation |
| Changelog | REL05 | CHANGELOG.md maintenance |
To adapt for your specific needs:
- Commit patterns - Modify pattern recognition in agent files
- Output format - Edit templates in
release/templates/ - Character limits - Adjust limits in marketing agent
- Categories - Add/remove categories in changelog agent
Generated release notes are saved to:
release-notes/YYYY-MM-DD-<version>-technical.mdrelease-notes/YYYY-MM-DD-<version>-marketing.mdrelease-notes/YYYY-MM-DD-<version>-internal.mdrelease-notes/YYYY-MM-DD-<version>-security.mdCHANGELOG.md(project root, updated in place)
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
MIT License - see LICENSE file.
- Use Conventional Commits - The generator works best with conventional commit format
- Include Scopes - Use scopes like
feat(api):for better categorization - Mark Breaking Changes - Use
BREAKING CHANGE:in commit body or!after type - Reference Issues - Include issue numbers for automatic linking
- Write Good Commit Messages - First line should be a clear summary