7.16 /hooks - 管理鉤子配置
概述
/hooks 命令用於管理工具事件的鉤子配置。鉤子允許你在特定事件發生時自動執行自定義指令碼或命令。
基本语法
bash
/hooks [subcommand]
子命令
| 子命令 | 描述 |
|---|
無引數| 列出所有已配置的鉤子 add| 新增新的鉤子 edit| 編輯現有鉤子 remove| 刪除鉤子 enable| 啟用鉤子 disable| 禁用鉤子
## 功能说明
### 列出钩子
bash
/hooks
# 显示所有已配置的钩子及其状态
### 添加钩子
bash
/hooks add
# 按照提示输入:
# - 钩子名称
# - 触发事件
# - 执行命令
# - 工作目录
### 删除钩子
bash
/hooks remove <hook-name>
# 删除指定的钩子
## 钩子事件Claude Code 支援以下鉤子事件:
| 事件 | 描述 |
|---|
before-edit| 檔案編輯前 after-edit| 檔案編輯後 before-run| 命令執行前 after-run| 命令執行後 on-error| 錯誤發生時 on-success| 任務成功時
## 使用场景
### 1\. 代码格式化
bash
# 添加文件编辑后的格式化钩子
/hooks add
# 配置:
# - 事件: after-edit
# - 命令: prettier --write $FILE
# - 作用: 每次编辑文件后自动格式化
### 2\. 运行测试
bash
# 添加代码编辑后的测试钩子
/hooks add
# 配置:
# - 事件: after-edit
# - 命令: npm test
# - 作用: 每次编辑代码后运行测试
### 3\. 备份文件
bash
# 添加文件编辑前的备份钩子
/hooks add
# 配置:
# - 事件: before-edit
# - 命令: cp $FILE $FILE.backup
# - 作用: 编辑前自动备份文件
### 4\. 通知
bash
# 添加任务完成后的通知钩子
/hooks add
# 配置:
# - 事件: on-success
# - 命令: notify-send "Task completed"
# - 作用: 任务完成后发送通知
## 钩子配置示例
### 格式化钩子
yaml
name: format-code
event: after-edit
command: prettier --write $FILE
enabled: true
### 测试钩子
yaml
name: run-tests
event: after-edit
command: npm test
working-dir: ./tests
enabled: true
### 备份钩子
yaml
name: backup-file
event: before-edit
command: cp $FILE $FILE.backup
enabled: true
## 环境变量
鉤子命令可以使用以下環境變數:
變數| 描述
---|---
`$FILE`| 被編輯的檔案路徑
`$COMMAND`| 執行的命令
`$STATUS`| 命令退出狀態
`$WORKING_DIR`| 工作目錄
## 注意事項
1. 鉤子命令在工作目錄中執行
2. 鉤子執行失敗不會阻止主流程
3. 可以禁用鉤子而不刪除
4. 鉤子配置儲存在專案或使用者級別
## 与其他命令的配合使用
bash
# 配置钩子,然后测试
/hooks add
# 编辑文件
# 钩子自动执行
## 最佳实践- 合理使用 :只在必要時使用鉤子,避免過度自動化
- 錯誤處理 :確保鉤子命令有適當的錯誤處理
- 效能考慮 :避免在鉤子中執行耗時操作
- 測試鉤子 :新增鉤子後,測試其行為是否符合預期
總結
/hooks 命令是 Claude Code 中用於自動化工作流的重要工具。透過使用此命令,你可以:
- 在特定事件發生時自動執行命令
- 自動化重複性任務
- 實現自定義工作流
- 提高工作效率
合理使用 /hooks 命令可以幫助你建立更高效的開發工作流。