changelog
Generate a changelog from git history since a tag, date, or commit
Generate changelog from $ARGUMENTS:
- Parse arguments: Extract the starting point (tag, date, or commit hash) and optional repo path (default: current directory)
- Read git log: Run
git log --oneline --no-mergessince the specified point - Categorize commits by conventional commit prefixes:
- Features (feat:, add:, new:)
- Bug Fixes (fix:, bugfix:)
- Documentation (docs:)
- Performance (perf:)
- Refactoring (refactor:)
- Other (chore:, ci:, test:, style:, build:)
- If no conventional commits found: Analyze commit messages and categorize by intent
- Format output:
[version/date range]
Features
- Description (commit-hash)
Bug Fixes
- Description (commit-hash)
Other Changes
- Description (commit-hash)