/hooks - 管理钩子配置

配置工具事件的自动化钩子

概述

/hooks 命令用于管理工具事件的钩子配置。钩子可在特定事件触发时执行自定义脚本或命令,帮助自动化工作流。

基本语法

/hooks [子命令]

子命令

子命令描述
(无参数)列出所有已配置的钩子
add添加新的钩子
edit编辑现有钩子
remove删除钩子
enable启用钩子
disable禁用钩子

功能说明

列出钩子

/hooks

# 显示所有已配置的钩子及其状态

添加钩子

/hooks add

# 按照提示输入:
# - 钩子名称
# - 触发事件
# - 执行命令
# - 工作目录

删除钩子

/hooks remove <hook-name>

# 删除指定的钩子

钩子事件

Claude Code 支持以下事件:

事件描述
before-edit文件编辑前
after-edit文件编辑后
before-run命令执行前
after-run命令执行后
on-error错误发生时
on-success任务成功时

使用场景

1. 代码格式化

# 添加文件编辑后的格式化钩子
/hooks add

# 配置:
# - 事件: after-edit
# - 命令: prettier --write $FILE
# - 作用: 每次编辑文件后自动格式化

2. 运行测试

# 添加代码编辑后的测试钩子
/hooks add

# 配置:
# - 事件: after-edit
# - 命令: npm test
# - 作用: 每次编辑代码后运行测试

3. 备份文件

# 添加文件编辑前的备份钩子
/hooks add

# 配置:
# - 事件: before-edit
# - 命令: cp $FILE $FILE.backup
# - 作用: 编辑前自动备份文件

4. 任务完成通知

# 添加任务完成后的通知钩子
/hooks add

# 配置:
# - 事件: on-success
# - 命令: notify-send "Task completed"
# - 作用: 任务完成后发送通知

钩子配置示例

格式化钩子

name: format-code
event: after-edit
command: prettier --write $FILE
enabled: true

测试钩子

name: run-tests
event: after-edit
command: npm test
working-dir: ./tests
enabled: true

备份钩子

name: backup-file
event: before-edit
command: cp $FILE $FILE.backup
enabled: true

环境变量

钩子命令可使用以下变量:

变量描述
$FILE被编辑的文件路径
$COMMAND执行的命令
$STATUS命令退出状态
$WORKING_DIR工作目录

注意事项

  • 钩子命令在工作目录中执行。
  • 钩子失败不会阻止主流程。
  • 可禁用钩子而不删除。
  • 钩子配置保存在项目或用户级别。

与其他命令的配合使用

# 配置钩子,然后测试
/hooks add
# 编辑文件
# 钩子自动执行

最佳实践

  • 只在必要时使用钩子,避免过度自动化。
  • 为钩子命令加入错误处理。
  • 避免在钩子中执行耗时操作。
  • 添加后及时验证钩子行为。

总结

/hooks 命令用于自动化工作流,可在特定事件触发时执行命令,提高效率并减少重复操作。

On this page