mcpField
C
changelog

changelog

github.com/processcube-io开发0110 次安装17 周前更新
代码仓库

关于 changelog

changelog 是一项根据 Git 历史创建或更新变更日志的技能,可供项目维护者记录面向用户或开发者的版本变化。它会按功能类型归类提交,并区分开发中、Insiders 和 Stable 阶段。

主要功能

  1. 01从 Git 历史生成变更日志
  2. 02按功能类型归类提交
  3. 03区分开发、Insiders 与 Stable 阶段
  4. 04提供用户版和开发者版格式

适用场景

  1. 01汇总上个版本之后的提交
  2. 02为新版本创建完整变更日志
  3. 03分别整理用户说明和技术细节

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/processcube-io/processcube.agent.skills --skill changelog

安装后在 Claude Code 中输入/changelog确认已加载。

详细介绍

技能:changelog

根据 Git 历史记录创建或更新变更日志,按版本分组,并按功能类型分类。

触发条件

  • /changelog - 创建或更新变更日志
  • “创建变更日志”“更新变更日志”“自……以来有什么变化”

参数

如果用户未提供,请询问以下信息:

  1. 目标受众(也决定默认文件)

    • 用户 → Changelog.md(简化内容,描述带来的益处)
    • 开发者 → Changelog-Dev.md(技术内容,包含提交详情)
  2. 模式

    • 更新(默认):仅添加自上一条记录以来的新变更
    • 重新创建:从指定时间点开始创建完整的变更日志
  3. 时间范围(仅在“重新创建”时)

    • 示例:“自 2025 年 3 月以来”“自 v2.3.0 以来”

工作流

1. 检查现有变更日志
# Prüfen ob Changelog existiert
ls Changelog.md Changelog-Dev.md 2>/dev/null

如果变更日志存在:

  • 确定最后记录的状态(版本或提交)
  • 在标记 ## 🔮 In Entwicklung 之后查找最后一个已知提交
  • 或将最后记录的 Insiders/Stable 版本作为参考
2. 收集 Git 数据
# Tags mit Datum abrufen
git for-each-ref --sort=-creatordate --format='%(refname:short) %(creatordate:short)' refs/tags

# Letzten Tag ermitteln
git describe --tags --abbrev=0

# Commits seit letztem Tag (für "In Entwicklung")
git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h %ad %s" --date=short

# Commits seit bestimmter Version
git log v2.3.0..HEAD --pretty=format:"%h %ad %s" --date=short
3. 对提交分类

分析提交消息并归入相应类别:

类别关键词
新功能Add, Feat, Feature, New, Implement
错误修复Fix, Bugfix, Hotfix, Resolve
性能Performance, Optimize, Speed
技术Bump, Update, Refactor, Chore, Deps

忽略:

  • 合并提交(“Merge branch”“Merge pull request”)
  • 发布提交(“Release v”“Bump version”)
  • WIP 提交、构建修复
4. 分配版本

**重要:**功能会按顺序经历以下阶段:

🔮 In Entwicklung  →  🧪 Insiders  →  ✅ Stable
     (Ausblick)        (Early Adopter)    (Alle Nutzer)
  • 一个功能只能列在一个阶段中
  • 如果已进入 Stable,则之前一定处于 Insiders
  • 如果已进入 Insiders,则之前一定处于开发中
  • 每个章节只显示相较于上一版本的新增变更
5. 更新变更日志

更新时:

  1. 读取现有文件
  2. 使用新提交更新“In Entwicklung”章节
  3. 发布新版本时,将“In Entwicklung”移至“Insiders”,或将“Insiders”移至“Stable”
  4. 保存文件

重新创建时:

  1. 创建包含所有版本的完整模板

默认文件

目标受众文件内容
用户Changelog.md描述带来的益处,不包含技术细节或提交哈希
开发者Changelog-Dev.md技术细节、提交哈希、PR 编号、破坏性变更

输出模板(用户)

# Changelog [Projektname]

---

## 🔮 In Entwicklung (Ausblick auf nächstes Release)

*Diese Features sind nach [LETZTER_TAG] hinzugekommen und werden im nächsten Release enthalten sein.*

### Neue Funktionen
- Feature-Beschreibung aus Anwendersicht

### Fehlerbehebungen
- Fix-Beschreibung aus Anwendersicht

---

## 🧪 Insiders vX.Y.Z-insiders.N (DD.MM.YYYY)

*Vorschau-Version mit neuen Features gegenüber Stable vX.Y.Z.*

### Neue Funktionen (gegenüber vX.Y.Z)
- Feature-Beschreibung

---

## ✅ Stable vX.Y.Z (DD.MM.YYYY)

*Stabile Version - enthält alle Features aus vX.Y.Z-insiders.1 bis vX.Y.Z-insiders.N.*

### Neue Funktionen (gegenüber vX.Y-1.Z)
- Feature-Beschreibung *(seit insiders.N)*

### Fehlerbehebungen (gegenüber vX.Y-1.Z)
- Fix-Beschreibung *(seit insiders.M)*

---

## Release-Prozess

Features durchlaufen drei Phasen, bevor sie alle Nutzer erreichen:

🔮 In Entwicklung → 🧪 Insiders → ✅ Stable (Ausblick) (Early Adopter) (Alle Nutzer)


| Phase | Zielgruppe | Beschreibung |
|-------|------------|--------------|
| 🔮 **In Entwicklung** | Entwickler | Ausblick auf kommende Features. Noch in keinem Release enthalten. |
| 🧪 **Insiders** | Early Adopter | Vorschau-Versionen zum Testen neuer Features vor dem Stable-Release. |
| ✅ **Stable** | Alle Nutzer | Produktionsreife Version. Features sind vollständig getestet und freigegeben. |

**Hinweis:** Jeder Abschnitt listet nur die Änderungen, die **neu** in dieser Phase sind.

输出模板(开发者)

# Changelog (Entwickler)

---

## 🔮 In Entwicklung

*Commits seit [LETZTER_TAG]*

### Neue Funktionen
- `abc1234` Feature X hinzugefügt (#123)

### Fehlerbehebungen
- `def5678` Bug Y behoben (#456)

### Technische Änderungen
- `ghi9012` Dependency Z aktualisiert

---

## 🧪 Insiders vX.Y.Z-insiders.N (DD.MM.YYYY)

### Breaking Changes
- Beschreibung der Breaking Changes

### Neue Funktionen
- `abc1234` Feature-Beschreibung (#123)

### Fehlerbehebungen
- `def5678` Fix-Beschreibung (#456)

---

## ✅ Stable vX.Y.Z (DD.MM.YYYY)

*Enthält Insiders .1 bis .N*

### Breaking Changes
- Beschreibung

### Commits
- Liste aller Commits seit letzter Stable

示例

示例 1:更新变更日志(默认)

用户:“更新变更日志”

操作步骤:

  1. 检查 Changelog.md 是否存在
  2. 确定最后记录的状态
  3. git log [LETZTER_STAND]..HEAD --pretty=format:"%h %ad %s" --date=short
  4. 对新提交分类
  5. 更新“In Entwicklung”章节
示例 2:面向开发者的变更日志

用户:“创建开发者变更日志”

操作步骤:

  1. 检查 Changelog-Dev.md 是否存在
  2. 收集包含提交哈希和 PR 编号的 Git 历史记录
  3. 记录技术细节和破坏性变更
  4. 保存到 Changelog-Dev.md
示例 3:记录新版本发布

用户:“我们发布了 v2.4.0-insiders.3”

操作步骤:

  1. 读取 Changelog.md
  2. 将“In Entwicklung”中的内容移至“Insiders v2.4.0-insiders.3”
  3. 创建新的空白“In Entwicklung”章节
  4. 添加日期

提示

  • 对于较长的提交消息,使用第一句话
  • 仅在开发者变更日志中保留 PR 编号(#123)
  • 将相关提交分组(例如,为某个功能提交的多个提交)
  • 提交较多时,使用 head 命令限制输出
  • 更新时,始终以现有变更日志为基础

评论

支持 Markdown