← BLOG
Tutorial

将您的 Dev 工作流程与 Claude 代码钩自动化

当克洛德代码采取特定行动时,Hooks让你运行自定义 shell命令. 保存上的自动格式, 屏蔽危险的编辑, 或自动输入上下文 .

克劳德代码 Hooks是针对事件自动执行的 shell 命令. 当克劳德代码编辑一个文件,运行一个命令,或者开始一个会话时,你的钩子会起火. 这使得您可以建立护栏, 执行标准, 并自动化的重复设置 不进行人工干预.

什么钩子事件?

活动当它起火时常见使用例
工具预用在克劳德执行工具之前阻断危险作业,验证投入
后图 使用克劳德执行工具后自动格式编辑文件, 运行 linters
通知当克洛德发出通知时要文件的日志, 发送到 Slack
会话开始当新的会话开始时插入上下文, 检查环境
配置变化当设置发生变化时验证配置

如何造出钩来?

使用交互式菜单或编辑设置。 json 直接 :

# Interactive hook setup
claude /hooks

# Or edit settings.json directly
# Project: .claude/settings.json
# Global: ~/.claude/settings.json

这里有一个设置。 配置了钩子的 json :

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write "$CLAUDE_FILE_PATH"",
        "description": "Auto-format edited files with Prettier"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "echo $CLAUDE_FILE_PATH | grep -q \.env && echo 'BLOCKED: Cannot edit .env files' && exit 1 || exit 0",
        "description": "Block edits to .env files"
      }
    ],
    "SessionStart": [
      {
        "command": "cat .claude/context-injection.md",
        "description": "Inject additional context at session start"
      }
    ]
  }
}

什么是最有用的钩子?

1. 联合国 编辑时自动格式

运行 Pretier, Black, 或 gofmt 每次 Claude Code 编辑文件时:

// PostToolUse hook
{
  "matcher": "Edit|Write",
  "command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}

2. 联合国 块敏感文件编辑

预防克洛德 修改环境文件、秘密或关键配置的代码 :

// PreToolUse hook
{
  "matcher": "Edit|Write",
  "command": "echo $CLAUDE_FILE_PATH | grep -qE \"\.env|\.secret|credentials\" && exit 1 || exit 0"
}

3个 压缩后重新输入上下文

当克洛德代码压缩其上下文窗口时,重要细节可能会丢失. 钩可以重新输入关键信息:

// PostToolUse hook for compaction
{
  "matcher": "Compact",
  "command": "cat .claude/critical-context.md"
}

经常问的问题

QQ 回博客时免费开始——单元1