commit-categories について
workerd リポジトリ向けに、変更ファイルのパスを基準としてコミットを分類するスキルです。互換性フラグと autogate の変更は別枠で示し、レポート内で埋もれないようにします。
主な機能
- 01変更パスに基づくコミット分類
- 02複数領域にまたがる変更の主カテゴリ選定
- 03互換性フラグ変更の個別表示
- 04autogate 変更の個別表示
- 05未使用カテゴリの省略
活用シーン
- 01workerd の変更概要の整理
- 02複数サブシステムにまたがるコミットの分類
- 03互換性フラグ変更の強調
- 04新規または変更された autogate の明示
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cloudflare/ workerd --skill commit-categoriesインストール後、Claude Code で/commit-categoriesを入力して読み込まれたか確認します。
詳細
コミットの分類
変更したファイルに基づいてコミットを分類します。複数のカテゴリにまたがるコミットは、主な領域に分類します。
| カテゴリ | パスパターン |
|---|---|
| API | src/workerd/api/(node/ と pyodide/ を除く) |
| Node.js 互換性 | src/workerd/api/node/、src/node/ |
| Python | src/workerd/api/pyodide/、src/pyodide/ |
| Rust | src/rust/ |
| Cloudflare API | src/cloudflare/ |
| I/O | src/workerd/io/ |
| JSG | src/workerd/jsg/ |
| サーバー | src/workerd/server/ |
| ビルド | build/、MODULE.bazel、BUILD.bazel |
| 型定義 | types/ |
| ドキュメント/設定 | ドキュメント、エージェント/ツールの設定、.md ファイル |
| テスト | テストファイルのみの変更 |
| その他 | 上記のいずれにも該当しないもの |
複数領域にまたがる特記事項
これらは主なカテゴリではありません。該当するファイルに触れるコミットがある場合、メインカテゴリと並べて追加の特記事項セクションとして表示します。1つのコミットが、主なカテゴリと1つ以上の特記事項の両方に含まれることがあります。
| 特記事項 | 条件 |
|---|---|
| 新規/更新された互換性フラグ | src/workerd/io/compatibility-date.capnp の変更、またはコード内の新しい compatibilityFlags 参照 |
| 新規/更新されたオートゲート | src/workerd/io/supported-autogates.h の変更、または新しいオートゲートの登録 |
いずれかの特記事項に該当する場合は、メインカテゴリの後に専用セクションを追加し、新規または変更された各フラグ/ゲートを簡潔な説明とともに記載します。これらを一般カテゴリの箇条書きに埋もれさせてはいけません。レビュー担当者やリリースノートを読む人がすぐに見つける必要がある、特に目立たせるべき項目です。
分類方法
- 各コミットについて、
git diff-tree --no-commit-id --name-only -r <hash>を実行し、変更されたファイルを一覧表示します。 - 変更されたファイルを上記のパスパターンと照合します。
- 変更の大半を占めるカテゴリにコミットを割り当てます。
- 複数の領域にまたがるコミットは、主な領域(変更ファイルが最も多い領域、または最も重要な変更がある領域)に記載します。
- すべてのコミットについて、複数領域にまたがる特記事項の条件を確認します。コミットで互換性フラグやオートゲートを追加または変更している場合は、主なカテゴリに加えて、対応する特記事項セクションにも記載します。
- 出力では、項目のないカテゴリと使用されていない特記事項セクションを省略します。
コメント
Markdown 対応