Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action> sub-command pattern. Git-flow consolidated from 8→5 commands (commit variants absorbed into --push/--merge/--sync flags). Dispatch files, name: frontmatter, and cross-reference updates for all plugins. Phase 2: Design documents for 8 new plugins in docs/designs/. Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate, saas-react-platform, saas-test-pilot, data-seed, ops-release-manager, ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents, skills, README, and claude-md-integration. Marketplace grows from 12→20. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
122 lines
2.1 KiB
Markdown
122 lines
2.1 KiB
Markdown
---
|
|
name: changelog-format
|
|
description: Keep a Changelog format and Conventional Commits parsing
|
|
---
|
|
|
|
# Changelog Format
|
|
|
|
## Purpose
|
|
|
|
Defines Keep a Changelog format and how to parse Conventional Commits.
|
|
|
|
## When to Use
|
|
|
|
- **doc changelog-gen**: Generating changelog entries from commits
|
|
- **git-flow integration**: Validating commit message format
|
|
|
|
---
|
|
|
|
## Conventional Commits Pattern
|
|
|
|
```
|
|
<type>(<scope>): <description>
|
|
|
|
[optional body]
|
|
|
|
[optional footer(s)]
|
|
```
|
|
|
|
---
|
|
|
|
## Type to Section Mapping
|
|
|
|
| Commit Type | Changelog Section |
|
|
|-------------|------------------|
|
|
| `feat` | Added |
|
|
| `fix` | Fixed |
|
|
| `docs` | Documentation |
|
|
| `perf` | Performance |
|
|
| `refactor` | Changed |
|
|
| `style` | Changed |
|
|
| `test` | Testing |
|
|
| `build` | Build |
|
|
| `ci` | CI/CD |
|
|
| `chore` | Maintenance |
|
|
| `BREAKING CHANGE` | Breaking Changes |
|
|
|
|
---
|
|
|
|
## Keep a Changelog Sections
|
|
|
|
Standard order (only include non-empty):
|
|
1. Breaking Changes
|
|
2. Added
|
|
3. Changed
|
|
4. Deprecated
|
|
5. Removed
|
|
6. Fixed
|
|
7. Security
|
|
|
|
---
|
|
|
|
## Breaking Changes Detection
|
|
|
|
Detected by:
|
|
- `!` suffix on type: `feat!: new auth system`
|
|
- `BREAKING CHANGE` in footer
|
|
- `BREAKING-CHANGE` in footer
|
|
|
|
---
|
|
|
|
## Entry Formatting
|
|
|
|
For each commit:
|
|
1. Extract scope (if present) as bold prefix: `**scope**: `
|
|
2. Use description as entry text
|
|
3. Link to commit hash if repository URL available
|
|
4. Include PR/issue references from footer
|
|
|
|
### Example Output
|
|
|
|
```markdown
|
|
## [Unreleased]
|
|
|
|
### Breaking Changes
|
|
- **auth**: Remove deprecated OAuth1 support
|
|
|
|
### Added
|
|
- **api**: New batch processing endpoint
|
|
- User preference saving feature
|
|
|
|
### Changed
|
|
- **core**: Improve error message clarity
|
|
|
|
### Fixed
|
|
- **api**: Handle null values in response
|
|
```
|
|
|
|
---
|
|
|
|
## Non-Conventional Handling
|
|
|
|
Commits not following format:
|
|
- List under "Other" section
|
|
- Flag for manual categorization
|
|
- Skip if `--strict` flag used
|
|
|
|
---
|
|
|
|
## Commit Range Detection
|
|
|
|
1. Default: commits since last tag
|
|
2. First release: all commits from initial
|
|
3. Explicit: `--from <tag> --to <ref>`
|
|
|
|
```bash
|
|
# Find last tag
|
|
git describe --tags --abbrev=0
|
|
|
|
# Commits since tag
|
|
git log v1.0.0..HEAD --oneline
|
|
```
|