mcpField
C
conventional-commits

conventional-commits

github.com/marcioaltoe開発080 回インストール1 日前に更新
リポジトリ

conventional-commits について

Conventional Commits形式のコミットメッセージとPRタイトルを作成するスキルです。変更の分割やステージング、書式ルールを案内し、`cog verify`による検証方法も示します。

主な機能

  1. 01コミットとPRタイトルの書式化
  2. 02使用可能なコミットタイプの一覧
  3. 03変更のステージングと分割の案内
  4. 04件名とフッターのルール
  5. 05`cog verify`による検証

活用シーン

  1. 01形式に沿ったコミットメッセージの作成
  2. 02Conventional Commits形式のPRタイトル準備
  3. 03複数の変更を分けてステージング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marcioaltoe/skills --skill conventional-commits

インストール後、Claude Code で/conventional-commitsを入力して読み込まれたか確認します。

同梱ファイルreferences/commit-message-template.md

詳細

Conventional Commits

レビューしやすく、cog verify に合格するコミットと PR タイトルを作成します。

必須形式

Conventional Commits を使用します。

type(scope): imperative subject

スコープは省略できます。

fix: handle empty setup files
feat(setups): add rust CLI preset
docs(readme): clarify setup install commands

使用できるタイプ

  • feat - ユーザー向けの機能または能力
  • fix - バグ修正
  • refactor - 動作を変えないコード変更
  • docs - ドキュメントのみの変更
  • test - テストのみの変更
  • chore - 実行時の動作に影響しないメンテナンス
  • build - ビルドツール、依存関係、またはパッケージング
  • ci - CI ワークフローの変更
  • perf - パフォーマンスの改善
  • style - 書式のみの変更。UI の見た目の変更は含みません
  • revert - 以前の変更の取り消し

件名のルール

  • 命令形を使います。add、fix、remove、rename を使い、added、fixed、removes は使いません。
  • コロンの後は小文字で始めます。
  • 末尾にピリオドを付けません。
  • 可能であれば、1 行目を 72 文字未満にします。
  • ファイル名ではなく、変更の意図を説明します。

コミットのワークフロー

  1. 作業ツリーを確認します。

    • git status --short
    • git diff --stat
    • git diff
  2. コミットの境界を決めます。

    • 関連のない変更は別々のコミットに分けます。
    • 動作、テスト、ドキュメント、書式、依存関係、生成ファイルの変更は、個別にレビューできる場合、それぞれ分けます。
    • 1 つのファイルに異なる種類の変更が混在している場合は、パッチステージングを使います。
  3. 意図した変更のみをステージングします。

    • ファイル単位で分けられる場合は git add <path> を使います。
    • 変更箇所が混在している場合は git add -p を使います。
    • git diff --cached でステージングした内容を確認します。
  4. メッセージを作成します。

    • 使用できるリストからタイプを選びます。
    • レビューに役立つ場合はスコープを追加します。通常はパッケージ、モジュール、コレクション、または機能を指定します。
    • 理由が明らかでない場合にのみ本文を追加します。
    • BREAKING CHANGE:、Refs #123、Closes #123 にはフッターを使います。
  5. Cocogitto を利用できる場合は検証します。

    • cog verify "$(git log -1 --pretty=%B)"
    • タイトル案の場合:cog verify "$PR_TITLE"
  6. コミットする前に、関連する最小限の検証を実行するか、リポジトリで必須の検証コマンドが定められている場合はそれを使います。

PR タイトルのルール

スカッシュマージでは PR タイトルが最終的なコミットメッセージとして使われることが多いため、PR タイトルにも Conventional Commits を使用する必要があります。

PR を作成または編集する前に:

PR_TITLE='feat(setups): add Go CLI preset'
cog verify "$PR_TITLE"

cog がインストールされていない場合も、正確な Conventional Commit 形式でタイトルを作成し、CI による検証を想定してください。

例

良い例:

feat(auth): add token refresh flow

本文を含む良い例:

fix(cli): handle empty setup files

The installer previously treated an empty setup file as a successful install.
This now fails early with a clear error.

悪い例:

update files

悪い例:

fix: change setup line 42

出力

コミットを依頼された場合は、次の内容を報告します。

  • 選択したコミットの境界
  • 各コミットでステージングしたファイル
  • 最終的なコミットメッセージ
  • 検証コマンドと結果

コメント