CC逆引きリファレンス

セットアップフックで初期化・メンテナンス処理を行いたい

11. フック

コマンド / 機能

Setup(matcher: init / maintenance)

claude -p --init / --maintenance で起動

概要

Setup フックは claude -p --init または claude -p --maintenance で起動された時に発火するフックです。matcher に init を指定すると初回セットアップ時、maintenance を指定すると定期メンテナンス実行時にだけフックを絞り込めます。CI や自動化環境で環境構築・依存関係の更新などを標準化するのに使います。

設定例

// .claude/settings.json
{
  "hooks": {
    "Setup": [
      {
        "matcher": "init",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/setup-init.sh"
          }
        ]
      },
      {
        "matcher": "maintenance",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/setup-maintenance.sh"
          }
        ]
      }
    ]
  }
}

// 起動コマンド例
claude -p --init "初回セットアップを実行して"
claude -p --maintenance "依存関係を最新化して"

// setup-init.sh の例
#!/bin/bash
npm install
cp .env.example .env
公式ドキュメントを見る

こんな時に使う

  • claude -p --init 実行時に依存関係のインストールを自動化したい時
  • claude -p --maintenance で定期メンテナンスを標準化したい時
  • CI で毎回同じセットアップ手順を確実に実行したい時

使い方

  1. 1hooks.Setup にフックを定義
  2. 2matcher に init または maintenance を指定して起動モードを絞り込む
  3. 3matcher を省略すると両方のモードで発火する
  4. 4claude -p --init / claude -p --maintenance で起動して確認

Tips

  • --init は初回セットアップ、--maintenance は定期メンテナンス用の起動フラグ
  • SessionStart よりも「環境構築」の意図が明確な場面で使う
  • CI/CD のセルフホストランナーと組み合わせると環境の再現性が高まる