钩子示例(Hook Examples)
以下示例展示了真实场景中的钩子实现,你可以根据需要进行调整。每个示例包括触发类型、目标文件匹配模式和完整的钩子指令。
安全提交前扫描器(Security Pre-Commit Scanner)
该钩子在提交前扫描文件,防止安全泄漏。
触发类型: 文件保存
目标: **/*
钩子指令:
“检查变更文件中潜在的安全问题:
- 查找源码中的 API 密钥、令牌或凭证
- 检查私钥或敏感凭据
- 扫描加密密钥或证书
- 识别认证令牌或会话 ID
- 标记配置文件中的密码或秘密信息
- 检测含敏感数据的 IP 地址
- 查找硬编码的内部 URL
- 发现数据库连接凭证 对每个发现的问题:
- 高亮具体安全风险
- 建议安全的替代方案
- 推荐安全最佳实践”
国际化助手(Internationalization Helper)
该钩子确保主语言文件更新时,翻译文件同步更新。
触发类型: 文件保存
目标: src/locales/en/*.json
钩子指令:
“当英文语言文件更新时:
- 识别新增或修改的字符串键
- 检查其他语言文件是否包含这些键
- 对缺失的键,添加带“NEEDS_TRANSLATION”标记的条目
- 对修改的键,标记为“NEEDS_REVIEW”
- 生成所有语言文件需更新内容的汇总报告”
文档生成器(Documentation Generator)
该钩子在代码变更时自动更新文档。
触发类型: 手动触发
钩子指令:
“为当前文件生成完整文档:
- 提取函数和类的签名
- 记录参数和返回类型
- 基于现有代码提供使用示例
- 更新 README.md 中的新导出内容
- 确保文档符合项目标准”
测试覆盖维护者(Test Coverage Maintainer)
该钩子确保代码演进时测试覆盖率保持高水平。
触发类型: 文件保存
目标: src/**/*.{js,ts,jsx,tsx}
钩子指令:
“当源码文件修改时:
- 识别新增或修改的函数和方法
- 检查是否存在对应的测试覆盖这些改动
- 如覆盖缺失,生成对应的新测试用例
- 运行测试确保通过
- 更新覆盖率报告”
与 MCP 集成(Integration with MCP)
Agent Hooks 可以通过 Model Context Protocol(MCP)增强功能:
- 访问外部工具:钩子可调用 MCP 服务器访问专业工具和 API
- 增强上下文:MCP 提供更多上下文信息,实现更智能的钩子操作
- 领域知识:专业 MCP 服务器提供行业专有知识
使用 MCP 与钩子集成步骤:
- 配置 MCP 服务器
- 在钩子指令中引用 MCP 工具
- 为常用工具设置合适的自动批准
应用场景:
- 确保遵循 Figma 设计系统
- 任务完成后自动更新工单状态
- 从项目文件夹中的样例文件同步数据库
示例:验证 Figma 设计
该钩子监控 HTML 和 CSS 文件,使用 Figma MCP 验证文件是否符合 Figma 设计规范。
触发类型: 文件保存钩子
目标: *.css
*.html
钩子指令:
“使用 Figma MCP 分析更新的 html 或 css 文件,检查是否遵循 Figma 设计中既定的设计规范。验证内容包括英雄区块、功能亮点、导航元素、颜色和按钮布局是否一致。”