名称: 更改日志生成器 描述: 从Git提交自动生成发布说明。分类提交(功能、修复、重大更改),将技术语言转换为客户友好描述。激活方式:/changelog、/changelog v1.2.0…v1.3.0 或 /changelog --week。 触发器:
- /changelog
- 更改日志 创建
- 发布 说明
- 有什么 变化
- 发生了 什么 变化
更改日志生成器
此技能分析Git历史并自动创建客户友好的发布说明。
使用方式
/changelog # 自上次日期起
/changelog v1.2.0..v1.3.0 # 在两个版本之间
/changelog --week # 最近7天
/changelog --since=2025-12-01 # 自日期起
类别和表情符号
| 前缀 | 类别 | 表情符号 | 客户友好标题 |
|---|---|---|---|
feat: |
功能 | ✨ | 新功能 |
fix: |
错误修复 | 🐛 | 错误修复 |
perf: |
性能 | 🔧 | 改进 |
refactor: |
重构 | 🔧 | 改进 |
BREAKING: |
重大更改 | 💥 | 重要更改 |
security: |
安全 | 🔒 | 安全 |
docs: |
文档 | 📚 | 文档 |
工作流程
步骤 1: 获取Git历史
# 自上次日期起
git log $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~50")..HEAD --oneline --no-merges
# 在版本之间
git log v1.2.0..v1.3.0 --oneline --no-merges
# 最近一周
git log --since="7 days ago" --oneline --no-merges
# 带日期和作者
git log --pretty=format:"%h|%s|%ad|%an" --date=short --since="7 days ago" --no-merges
步骤 2: 分类提交
分析每个提交并将其分配到类别:
feat: 添加导出按钮 → ✨ 功能
fix: 解决登录错误 → 🐛 错误修复
perf: 优化数据库查询 → 🔧 改进
BREAKING: 移除已弃用API → 💥 重要更改
步骤 3: 技术性 → 客户友好性
转换技术性提交消息:
| 技术性 | 客户友好性 |
|---|---|
feat: 在仪表板添加CSV导出 |
数据现在可以作为CSV文件下载 |
fix: 解决认证模块中的空指针 |
修复了部分用户的登录问题 |
perf: 优化报告的SQL查询 |
报告现在加载速度明显更快 |
BREAKING: 移除旧版API v1 |
API v1不再受支持 - 请更新到v2 |
步骤 4: Markdown格式化
输出格式
## [版本] - 日期
### ✨ 新功能
- 功能描述(客户友好)
- 其他新功能
### 🐛 错误修复
- 问题X已修复
- 在Y处的稳定性改进
### 🔧 改进
- 性能优化
- 内部改进
### 💥 重要更改
- 重大更改描述
- 需要迁移:[指南]
### 🔒 安全
- 安全漏洞已关闭
### 📚 文档
- 文档已更新
示例输出
## [1.3.0] - 2025-12-26
### ✨ 新功能
- **导出按钮**:分析结果现在可以作为Markdown文件下载
- **聊天助手**:向AI助手询问您的分析结果
### 🐛 错误修复
- 修复了Google OAuth的登录问题
- 修正了大文件(>5MB)的超时错误
### 🔧 改进
- 通过优化的数据库查询,加载时间减少40%
- 无效文件格式的错误消息更清晰
### 🔒 安全
- 更新Stripe API到版本2025-12-15
Git命令参考
# 查找最近日期
git describe --tags --abbrev=0
# 列出所有标签
git tag -l --sort=-v:refname
# 标签之间的提交
git log v1.2.0..v1.3.0 --oneline --no-merges
# 带细节的提交
git log --pretty=format:"%h|%s|%ad|%an" --date=short HEAD~20..HEAD
# 按日期的提交
git log --since="2025-12-01" --until="2025-12-26" --oneline
# 查找重大更改
git log --grep="BREAKING" --oneline
# 所有feat:提交
git log --grep="^feat:" --oneline
约定
提交消息格式(常规提交)
<类型>(<范围>): <描述>
[可选正文]
[可选页脚]
类型:
feat- 新功能fix- 错误修复perf- 性能改进refactor- 代码重构,无功能更改docs- 文档style- 格式化(无代码更改)test- 测试添加/更改chore- 构建过程、依赖项ci- CI/CD配置
重大更改:
BREAKING CHANGE:在页脚!在类型后:feat!: 移除已弃用API
特殊规则
忽略提交
以下提交不会包含在更改日志中:
chore:(内部更改)style:(仅格式化)test:(仅测试)ci:(仅CI/CD)- 合并提交
分组
具有相同范围的提交会分组:
feat(认证): 添加Google OAuth
feat(认证): 添加Magic Link
→ **认证**:添加了Google OAuth和Magic Link
多语言支持
更改日志以项目语言创建:
- 检查:README.md或package.json中的语言
- 默认:fabrikIQ为德语,其他项目为英语
集成
预发布工作流程
- 执行
/changelog - 将输出插入CHANGELOG.md
- 更新package.json中的版本
- 提交:
chore: 发布 v1.3.0 - 标签:
git tag v1.3.0 - 推送:
git push && git push --tags
自动版本控制
基于提交类型:
feat:→ 次要版本(1.2.0 → 1.3.0)fix:→ 补丁版本(1.2.0 → 1.2.1)BREAKING:→ 主要版本(1.2.0 → 2.0.0)
错误处理
无标签存在
# 回退:最近50个提交
git log HEAD~50..HEAD --oneline --no-merges
无常规提交
如果提交不符合格式:
- 按关键词分类提交(添加、修复、更新、移除)
- 输出警告:“建议:使用常规提交”
空更改日志
如果未找到相关提交:
- 消息:“自[版本/日期]起无公开更改”
- 提及内部提交(chore、style、test)