mcpField
C
changelog

changelog

github.com/processcube-io開発0110 回インストール17 週間前に更新
リポジトリ

changelog について

changelogは、Gitの履歴から変更履歴を作成・更新するメンテナー向けスキルです。コミットを種類別に分類し、開発中、Insiders、Stableの段階に分けて、ユーザー向けと開発者向けの形式を用意します。

主な機能

  1. 01Git履歴から変更履歴を生成
  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を入力して読み込まれたか確認します。

詳細

スキル:変更履歴

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)
  • 1つの機能を掲載できるフェーズは1つだけです
  • 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 (見通し) (アーリーアダプター) (すべてのユーザー)


| 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)は開発者向けの変更履歴のみに残します
  • 関連するコミットをグループ化します(例:1 つの機能に対する複数のコミット)
  • コミットが多い場合は、headコマンドを使用して出力を制限します
  • 更新時は、既存の変更履歴を常にベースとして使用します

コメント