devopschangelog-generation
Solid自动生成 CHANGELOG,基于 git 提交历史和 pipeline 产物信息,遵循 Conventional Commits 和 Keep a Changelog 规范
AI & Automation 546 stars
46 forks Updated 1 weeks ago MIT
Install
Quality Score: 93/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# CHANGELOG 自动生成
## 适用场景
在部署成功完成后自动生成或追加 CHANGELOG,记录本次发布的所有变更。适用于:
- 部署完成后的发布记录
- 版本发布前的变更汇总
- 对外发布说明的自动生成
## 核心方法
### 步骤 1:信息收集
1. **Git 历史解析**:
```bash
# 获取从上次 tag 到 HEAD 的所有提交
git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --pretty=format:"%H|%s|%an|%ai"
```
- 如果没有 tag,取最近 50 条提交
- 解析 Conventional Commits 格式:`type(scope): description`
2. **Pipeline 产物读取**:
- `.boss/<feature>/prd.md` → 功能描述和用户价值
- `.boss/<feature>/deploy-report.md` → 部署环境和版本信息
- `.boss/<feature>/tasks.md` → 完成的任务列表
3. **版本号确定**:
- 优先使用 `package.json` 中的 version
- 其次使用最新 git tag
- 如无法确定,使用日期格式 `YYYY.MM.DD`
### 步骤 2:变更分类
按 Conventional Commits 规范分类:
| 类型 | CHANGELOG 分类 | 说明 |
|------|---------------|------|
| `feat` | **Added** | 新增功能 |
| `fix` | **Fixed** | 修复问题 |
| `perf` | **Performance** | 性能优化 |
| `refactor` | **Changed** | 重构(非功能变更) |
| `docs` | **Documentation** | 文档更新 |
| `style` | _(不记录)_ | 代码格式 |
| `test` | _(不记录)_ | 测试相关 |
| `chore` | _(不记录)_ | 构建/工具变更 |
| `BREAKING CHANGE` | **⚠️ Breaking Changes** | 破坏性变更(始终置顶) |
对于非 Conventional Commits 格式的提交:
- 根据关键词推断分类(add/new → Added, fix/bug → Fixed, update/change → Changed)
- 无法分类的归入 **Changed**
### 步骤 3:内容生成
#### 格式规范(Keep a Changelog)
```markdown
## [版本号] - YYYY-MM-DD
### ⚠️ Breaking Changes
- 破坏性变更描述 ([commit-hash])
### Added
- 新功能描述(来自 PRD 的用户价值说明) ([commit-hash])
### Changed
- 变更描述 ([commit-hash])
### Fixed
- 修复描述 ([commit-hash])
### Performance
-...
Details
- Author
- echoVic
- Repository
- echoVic/boss-skill
- Created
- 5 months ago
- Last Updated
- 1 weeks ago
- Language
- TypeScript
- License
- MIT
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Listed
changelog-generator
Analyze git tag/commit range and generate CHANGELOG.md. Trigger: user says "生成 changelog"、"更新 CHANGELOG"、"generate changelog" before a release.
0 Updated 2 days ago
afine907 AI & Automation Solid
changelog-generator
智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。
376 Updated today
peterfei AI & Automation Listed
changelog-generator
通过分析提交历史、分类更改并将技术性提交转换为清晰、客户友好的发布说明,自动从 git 提交创建面向用户的变更日志。将数小时的手动变更日志编写转化为几分钟的自动生成。
4 Updated 2 weeks ago
LessUp