用途:该技能用于创建、解释、审查和排查 Git 仓库中的 Lefthook 钩子配置。当任务涉及 lefthook.yml、.lefthook.yml、.config/lefthook.yml、lefthook-local.yml 等文件,或涉及 pre-commit、commit-msg、pre-push、post-merge、post-checkout 等 Git 钩子时适用。
主要能力:编写或更新配置;解释 Lefthook 作为 Git 钩子管理器的行为(每次运行读取配置并执行仓库定义的命令或脚本);排查命令未运行、文件匹配错误、已修复文件未重新暂存、本地包装泄漏到共享配置等问题;对比 commands、jobs、scripts 的选用;处理 {staged_files}、{push_files}、{all_files}、{files}、{1} 等占位符。
使用方式:先检查仓库已有配置与格式,保留原命名与格式,新配置优先 lefthook.yml(除非仓库已统一使用 TOML、JSON 或 JSONC)。默认使用 commands;需要排序、分组、并行、管道或混合条目时用 jobs;仅当仓库已有可执行文件或明确要求时用 scripts。pre-commit 通常用 {staged_files},pre-push 用 {push_files},commit-msg 用 {1}。仅当命令会重写受跟踪文件并需重新暂存时加 stage_fixed: true。本地跳过、Docker 包装和私有覆盖应放在 lefthook-local.。可用 lefthook validate 验证、lefthook dump 查看合并后配置、lefthook run <hook> 复现行为(支持 --all-files、--file、--job、--tag)。合并优先级为主配置、extends、remotes、lefthook-local.。
适用场景:JS/TS 仓库中已有 ESLint、Prettier、Commitlint 等的钩子配置;团队共享配置与本地覆盖分离;钩子调试与代码审查。
限制:资料未提供收费、价格、平台支持等具体信息;所有配置须匹配仓库真实工具链,不虚构命令;文中示例仅为参考,实际应以仓库现有工具与官方文档为准。