logo hsb.horse

Architecture Decision Record

lefthookによるGit Hook自動化

コミット時とPush時にBiomeのフォーマットとリントを自動実行するため、lefthookを採用する。

採用 #tooling #quality #git-hook

lefthookによるGit Hook自動化

決定

  • Git Hook管理には lefthook を採用する。
  • pre-commit ではステージ済みファイルに対して biome format --writebiome check --write を順に実行する。
  • pre-push でもステージ済みファイルに対して biome format --writebiome check --write を順に実行する。
  • Hook定義はリポジトリ直下の lefthook.yml で一元管理する。

背景

ローカル作業でフォーマットやリントの実行漏れがあると、レビュー時に本質的でない差分や指摘が増える。開発者ごとの環境差でHook設定がばらつく課題もあり、設定をバージョン管理できる仕組みが必要だった。

代替案

  • 素の Git Hook (.git/hooks) を各自で設定: 再現性が低く、共有しづらい。
  • Husky を採用: 実績はあるが、今回は軽量で設定が単純な lefthook を優先。
  • CI のみで検証: フィードバックが遅く、ローカルでの早期検知ができない。

影響

  • コミット前・Push前に品質チェックが自動化される。
  • フォーマット差分は早期に検知され、整形のばらつきが減る。
  • 失敗時はコミット/Pushが止まるため、修正して再実行する運用になる。