lefthookによるGit Hook自動化
決定
- Git Hook管理には
lefthookを採用する。 pre-commitではステージ済みファイルに対してbiome format --writeとbiome check --writeを順に実行する。pre-pushでもステージ済みファイルに対してbiome format --writeとbiome check --writeを順に実行する。- Hook定義はリポジトリ直下の
lefthook.ymlで一元管理する。
背景
ローカル作業でフォーマットやリントの実行漏れがあると、レビュー時に本質的でない差分や指摘が増える。開発者ごとの環境差でHook設定がばらつく課題もあり、設定をバージョン管理できる仕組みが必要だった。
代替案
- 素の Git Hook (
.git/hooks) を各自で設定: 再現性が低く、共有しづらい。 - Husky を採用: 実績はあるが、今回は軽量で設定が単純な
lefthookを優先。 - CI のみで検証: フィードバックが遅く、ローカルでの早期検知ができない。
影響
- コミット前・Push前に品質チェックが自動化される。
- フォーマット差分は早期に検知され、整形のばらつきが減る。
- 失敗時はコミット/Pushが止まるため、修正して再実行する運用になる。
hsb.horse