mcpField
C
commitlint

commitlint

github.com/rshade開発392 回インストール2 週間前に更新
リポジトリ

commitlint について

Commitlint は、コミットメッセージが Conventional Commits に準拠しているか確認するスキルです。プロジェクト設定を検出し、設定がなければデフォルトを使い、違反ルールと具体的な修正案を示します。

主な機能

  1. 01Conventional Commits 形式の確認
  2. 02プロジェクト固有設定の検出
  3. 03設定がない場合のデフォルト適用
  4. 04文字列・ファイル・最新コミットの検証
  5. 05違反内容と修正案の提示

活用シーン

  1. 01コミット前のメッセージ確認
  2. 02ファイル内のメッセージ検証
  3. 03最新の Git コミットの確認

インストール

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

$npx skills add https://github.com/rshade/agent-skills --skill commitlint

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

同梱ファイルevals/evals.jsonreferences/conventional-commits.md

詳細

Commitlint

コミットメッセージが Conventional Commits の仕様に準拠しているか検証します。 変更履歴の自動生成、セマンティックバージョニング、整理された git 履歴を実現します。

このスキルの機能

  1. @commitlint/cli と @commitlint/config-conventional が インストールされているか確認し、見つからない場合はインストールします。
  2. プロジェクト固有の commitlint 設定を検出し、見つからない場合は適切なデフォルト設定を使用します。
  3. コミットメッセージのタイプ、スコープ、件名、本文、フッター の形式を検証します。
  4. 具体的な修正方法と例を添えてエラーを報告します。

インストールの確認

# Check if commitlint is available
npx commitlint --version 2>/dev/null

インストールされていない場合は、グローバルにインストールします。

npm install -g @commitlint/cli @commitlint/config-conventional

インストールに失敗した場合(権限がない、npm がないなど)は、検証を中止し、 対処方法とともに問題を報告します。

  • sudo npm install -g ... を使用するか、npm の権限を修正します
  • Node のバージョンマネージャー(nvm、volta、fnm)を使用します
  • Node.js がインストールされていない場合は、インストールします

検証を黙ってスキップしてはいけません。

設定の検出優先順位

  1. プロジェクトルートの commitlint.config.js
  2. プロジェクトルートの .commitlintrc.json
  3. プロジェクトルートの .commitlintrc.yaml
  4. プロジェクトルートの .commitlintrc
  5. package.json の commitlint フィールド
  6. デフォルト設定(references/conventional-commits.md を参照)

プロジェクト設定が存在しない場合は、検証の実行前に、参照ドキュメントのデフォルト設定を使用して 一時的な .commitlintrc.json を作成します。

検証ワークフロー

1. Check commitlint installation
   ├─ Installed → continue
   └─ Missing → install, then continue (fail if install fails)

2. Detect project config
   ├─ Found → use it
   └─ Not found → use default config from references/

3. Run validation
   ├─ From a string:
   │    echo "<message>" | npx commitlint
   ├─ From a file:
   │    cat <file> | npx commitlint
   └─ From last git commit:
        git log -1 --format=%B | npx commitlint

4. Report results
   ├─ Valid → confirm and proceed
   └─ Invalid → show errors, suggest fixes, re-validate after correction

検証方法

コミットメッセージ文字列を検証する
echo "feat(api): add login endpoint" | npx commitlint
ファイルの内容を検証する
cat path/to/message-file.txt | npx commitlint
直近の git コミットを検証する
git log -1 --format=%B | npx commitlint

エラー処理

インストールの失敗

commitlint をインストールできない場合は、エラーを報告し、 対処方法を提示します。検証を続行してはいけません。

無効なメッセージ

検証に失敗した場合は、各エラーについて次の内容を報告します。

  • 違反したルール(例:type-enum、header-max-length)
  • 問題の内容(例:タイプ feature は許可されていません)
  • 具体的な修正方法(例:代わりに feat を使用します)

例:

Validation failed:

1. type-enum: type 'feature' is not allowed
   Allowed: feat, fix, docs, style, refactor, perf, test, build, ci,
            chore, revert
   Fix: use 'feat' instead of 'feature'

2. header-max-length: header is 72 characters (max 50)
   Fix: shorten to 'feat: add user authentication with JWT'

エラーを報告した後、修正案を提示し、再検証します。

フォーマットのリファレンス

Conventional Commits のフォーマット仕様、タイプの説明、ルール、デフォルト設定、 例については、references/conventional-commits.md を参照してください。

コメント