mcpField
I
inkblot-commit-message

inkblot-commit-message

github.com/inkblot-therapy開発042 回インストール10 週間前に更新
リポジトリ

inkblot-commit-message について

Jira チケットに紐づく作業のコミットメッセージ規則を定める、コーディングエージェント向けスキルです。チケットがないコミットには形式を課さず、対象ごとに大文字のキーと命令形の要約を使います。

主な機能

  1. 01件名に大文字の Jira キー
  2. 02コミットごとにチケットを 1 件指定
  3. 03命令形で文頭を大文字にした要約
  4. 04Conventional Commits の接頭辞なし
  5. 05コミット本文は必須ではない

活用シーン

  1. 01Jira 管理の変更をコミットする場面
  2. 02複数チケットに紐づくブランチのコミット整理

インストール

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

$npx skills add https://github.com/inkblot-therapy/ai-skills --skill inkblot-commit-message

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

詳細

Inkblot のコミットメッセージ

この規約が必須となるのは、作業に Jira チケットがある場合のみです。チケットがない場合は、ID をでっち上げたり、チケットを求めたりせず、件名に制限を設けないでください。

チケットがある作業(必須)

<TICKET-ID>: <Concise imperative summary>
  1. Jira キー全体を大文字で記載し、コミットごとにチケットを1 件だけ指定します(例:POD2-2291。pod2-2291 や 2-2291 ではありません)
  2. キーの後にコロンとスペースを置き、命令形の要約を続けます(「修正する…」「追加する…」「名前を変更する…」)
  3. 文頭のみ大文字にします。1 行で記載します。約 72 文字を目安にしてください。ファイルの一覧ではなく、結果を記載します。
  4. 件名には、そのコミットが対象とするチケットを記載します。PR 上のすべてのチケットではなく、常にブランチ名のチケットを記載するわけでもありません。

Conventional Commits のプレフィックス(feat:、fix:、chore:)は使用しないでください。分類にはチケットを使います。

1 つの作業に複数のチケットがある場合

ブランチ/PR に複数のチケットが記載されていても、各コミットのキーは 1 つだけです。そのコミットで実装または修正するチケットを指定します。

  • その作業に関するコミットでは、原則としてブランチのチケットを使います(pod2-2291-… → POD2-2291: …)。
  • このコミットが別の関連チケットに対応する場合は、件名のキーを切り替えます。
  • このコミットがどのチケットに対応するか不明な場合は、確認してください。ID をでっち上げたり、キーを連結したりしないでください(POD2-2276-2277: …)。

例 — ブランチ pod2-2276-restrict-provider-access に、POD2-2277 も関連付けられている場合:

  • POD2-2276: Restrict availability reserved-for-client
  • POD2-2277: Hide estimates from unauthorized clients
例
  • POD2-2291: Fix no-show video call outcome
  • POD2-2291: Baseline the false-positive Brakeman role warning
  • POD1-3452: Rename renewal date service to resolver
  • POD1-3452: Guard missing specialized renewal periods
本文

規則はありません。本文を必須にせず、ユーザーから求められない限り追加しないでください。背景情報は Jira にあります。

禁止事項(チケットがある作業のみ)
  • feat: add renewal dates / fix: … — Conventional Commits は使いません
  • pod2-2291: Fix no-show … — コミットではキーを大文字にします
  • 2-2291: Fix no-show … — Jira キーではありません
  • POD2-2291 - fix stuff — - ではなく : を使います
  • POD2-2291: Fixed bug — 命令形(Fix …)を推奨します
  • POD2-2276-2277: … — 件名に指定する主要チケットは 1 件です
  • チケット ID をでっち上げること
検証(フック/リンター向け)
^[A-Z][A-Z0-9]+-[0-9]+: .+

チケットがない場合

件名に関する規則はありません。マージコミット、同期、その他のチケットに紐付かない作業では、任意の件名を使用できます。

理由

  • 件名にチケットを記載する: Jira Smart Commits と GitHub–Jira 連携は、コミットの件名を読み取ります。ブランチ名だけでは不十分です。
  • ここでは大文字、ブランチでは小文字: トラッカーでは正規の POD2-2291: 形式が必要です。Git の大文字と小文字の区別による問題を避けるため、ブランチ名は小文字のままにします。
  • feat: / fix: を使わない: チケットですでに作業を分類できます。プレフィックスを 2 つ付けると、件名が長くなるだけです。
  • チケットがある場合のみ適用: ブランチと同様です。チケットのない雑務、マージ、ホットフィックスを妨げないでください。
  • ブランチごとではなく、コミットごとにチケット 1 件: Jira は件名に記載されたキーにコミットを紐付けます。1 つの PR で複数のチケットを扱う場合、各コミットは実際に変更するチケットに紐付けてください。件名に ID を連結すると、grep、フック、紐付けに支障が出ます。
  • 本文の規約を設けない: チケットにはすでに背景情報があります。Git に 2 段落目を追加しても Jira の紐付けには役立たず、エージェントが内容をでっち上げる原因にもなりやすいです。

コメント