讓我們動手實現一個實用的 Hook:自動運行測試。
目標:每當 Claude 修改了代碼(使用了 Edit 工具),我們就自動運行測試,確保它沒改壞東西。
步驟
- 打開專案的
.claude/config.json - 添加以下配置:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "npm test"
}
]
}
]
}
}
測試 Hook
嘗試讓 Claude 修改一個檔案。你會發現修改完成後,終端機裡會自動彈出測試運行的結果。 如果測試失敗,Claude 會看到失敗的輸出,並通常會主動嘗試修復。
注意: 自動運行測試可能會比較慢。在大型專案中,你可能希望只運行相關測試, 或者將 Hook 設置為手動確認模式(儘管 Hooks 當前主要設計為自動執行)。