kk-web

Lefthookでcommitlintが動かない場合の対処法

2025-03-24

めずらしく AI に聞いて解決しなかったので調べてみました。


結論から書いちゃいますと。

まず .lefthook/commit-msg/commitlint.sh というスクリプトを作り、そこに echo $(head -n1 $1) | npx commitlint --color を記述します。

次に lefthook.yml に以下を追加します。

commit-msg:
  scripts:
    "commitlint.sh":
      runner: bash

動きます!簡単ですね。


ChatGPT や Claude に聞くと延々以下のコードを提案されるんですが。

commit-msg:
  scripts:
    lint-commit-msg:
      runner: bash
      command: npx --no-install commitlint --edit $1

これだと $1 に引数が渡らないらしく、全部素通りするという恐ろしいことになるみたいです。

なので確実に通すためにシェルスクリプトを噛ませるのがベターだよってことみたいです、なるほど…。

一応解決した方法は 公式のドキュメント に書かれている内容なので安心かなと。

もし動かない人がおられましたら、試していただけますと。

© 2018 kk-web