用途:pre-commit-manager 用于管理 Git 仓库中的 pre-commit 钩子,提供安装、配置、启用/禁用、状态查询和基线生成等操作,并带有偏好记忆与模板化配置能力。
主要能力与用法:
- 安装:检查 .pre-commit-config.yaml 是否存在,验证 pre-commit 可执行文件是否可用,执行 pre-commit install,并报告成功或失败。
- 配置:按模板生成 .pre-commit-config.yaml。可用模板包括 python(black、ruff、mypy)、javascript(prettier、eslint)、typescript、generic(尾随空格、文件大小、detect-secrets)。
- 启用:将偏好设置为 always,实现自动安装。
- 禁用:将偏好设置为 never,关闭自动安装。
- 状态:显示 Git 仓库状态、配置文件是否存在、钩子安装状态、当前偏好设置以及 pre-commit 可执行文件是否可用。
- 基线:为 detect-secrets 生成 .secrets.baseline。
实现上,该技能与 .claude/tools/amplihack/hooks/precommit_prefs.py(偏好管理)、.claude/tools/amplihack/hooks/precommit_installer.py(钩子安装)以及 templates/ 目录下的模板交互。
安全方面:防止路径遍历、对模板进行白名单校验、子进程调用不使用 shell=True,并强制执行子进程超时。
限制:资料未提供具体的支持平台范围、版本要求、许可证或收费信息;模板内容以资料所述为准。