Hooksで編集後のフォーマットを自動化する

入門 | 12分 で読める | 2026.06.17

公式ドキュメント

今回やること

この記事では、Claude CodeのHooksを使って、編集後にフォーマットを実行する考え方を確認します。

Hooksは実行されるコマンドなので、最初は学習用プロジェクトで軽いコマンドから試します。

前提条件

  • Claude Codeの基本操作ができる
  • フォーマットコマンドがある
  • .claude/settings.json などの設定を編集してよい
  • 公式Hooks referenceを確認する

Step 1: 公式ドキュメントを確認する

Hooksの設定形式やイベント名は、公式ドキュメントで確認します。

https://code.claude.com/docs/en/hooks

記事の例をそのまま本番環境に入れるのではなく、公式と自分の環境に合わせます。

Step 2: まず手動でフォーマットを確認する

Hooksに入れる前に、コマンド単体で動くか確認します。

npm run format

または、プロジェクトに合うコマンドを使います。

npx prettier --write .

手動で失敗するコマンドをHooksに入れると、毎回失敗します。

Step 3: Hooks設定の考え方

編集後に実行したい場合、考え方は次のようになります。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npm run format"
      }
    ]
  }
}

この例は、編集や書き込みの後にフォーマットを実行するイメージです。実際の設定形式は公式ドキュメントを確認します。

Step 4: 軽い範囲から試す

最初からリポジトリ全体をフォーマットすると、差分が大きくなる可能性があります。

npx prettier --write src/example.ts

または、変更ファイルだけを対象にする仕組みを検討します。

Hooksに重い全体フォーマットを入れる前に、変更ファイルだけで動かせるかを考えます。

Step 5: 差分を確認する

Hooksを入れた後は、AIの変更だけでなく、Hookによる変更も確認します。

git diff

フォーマット差分が大量に出た場合は、設定範囲を狭めます。

Step 6: 失敗時の扱いを決める

Hooksが失敗したときに、作業を止めるのか、警告にするのかを決めます。

方針向いている場面
失敗で止めるセキュリティ、危険操作ブロック
警告にするフォーマット、軽い確認
手動確認にする重いテスト、環境差が大きい処理

よくあるエラー

エラーよくある原因確認すること
毎回Hookが失敗するコマンド単体で失敗している手動実行する
差分が大量に出る全体フォーマットしている対象を絞る
作業が遅い重いコマンドを毎回実行タイミングを見直す
チームで動かない環境依存コマンドpackage.jsonに寄せる

まとめ

Hooksを使うと、Claude Codeの編集後にフォーマットや検証を自動実行できます。まずは手動でコマンドが動くことを確認し、学習用プロジェクトで軽い範囲から試します。差分が大きくなりすぎないよう、対象範囲と失敗時の扱いを設計します。

参考リソース

← 一覧に戻る
PR
PR
PR
PR