實現一個 Hook

影片 + 講義View Original Source

讓我們動手實現一個實用的 Hook:自動運行測試

目標:每當 Claude 修改了代碼(使用了 Edit 工具),我們就自動運行測試,確保它沒改壞東西。

步驟

  1. 打開專案的 .claude/config.json
  2. 添加以下配置:
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "npm test"
          }
        ]
      }
    ]
  }
}

測試 Hook

嘗試讓 Claude 修改一個檔案。你會發現修改完成後,終端機裡會自動彈出測試運行的結果。 如果測試失敗,Claude 會看到失敗的輸出,並通常會主動嘗試修復。

注意: 自動運行測試可能會比較慢。在大型專案中,你可能希望只運行相關測試, 或者將 Hook 設置為手動確認模式(儘管 Hooks 當前主要設計為自動執行)。