mcpField
P
pre-commit-manager

pre-commit-manager

github.com/rysweet测试与质量7699 次安装21 周前更新
代码仓库

关于 pre-commit-manager

此技能用于在代码仓库中安装和管理 pre-commit hooks,面向希望统一提交前检查的开发团队。它可从语言模板生成配置,并记住自动安装偏好。

主要功能

  1. 01安装并检查 pre-commit hooks
  2. 02从 Python、JavaScript、TypeScript 或通用模板生成配置
  3. 03设置自动安装偏好
  4. 04查看仓库、配置和安装状态
  5. 05生成 detect-secrets 基线

适用场景

  1. 01为新仓库配置提交前检查
  2. 02为现有项目安装 hooks
  3. 03检查 hooks 与配置是否就绪
  4. 04为 detect-secrets 创建基线

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rysweet/amplihack --skill pre-commit-manager

安装后在 Claude Code 中输入/pre-commit-manager确认已加载。

附带文件README.mdprecommit_manager.py

详细介绍

Pre-Commit 管理器技能

通过偏好记忆和基于模板的配置管理 pre-commit 钩子。

操作

1. 安装

在当前仓库中安装 pre-commit 钩子。

用法:

Install pre-commit hooks now

功能:

  • 检查 .pre-commit-config.yaml 是否存在
  • 确认 pre-commit 二进制文件可用
  • 运行 pre-commit install
  • 报告成功或失败
2. 配置

根据模板生成 .pre-commit-config.yaml。

用法:

Configure pre-commit with python template
Configure pre-commit with javascript template
Configure pre-commit with generic template

模板:

  • python - Python 项目(black、ruff、mypy)
  • javascript - JS/TS 项目(prettier、eslint)
  • typescript - TypeScript 项目
  • generic - 语言无关(尾随空白、文件大小、detect-secrets)
3. 启用

将偏好设置为“始终”自动安装。

用法:

Enable pre-commit auto-install
4. 禁用

将偏好设置为“从不”自动安装。

用法:

Disable pre-commit auto-install
5. 状态

显示当前的 pre-commit 状态。

用法:

Show pre-commit status
Check pre-commit status

显示内容:

  • Git 仓库状态
  • 配置文件是否存在
  • 钩子安装状态
  • 当前偏好设置
  • pre-commit 二进制文件是否可用
6. 基线

为 detect-secrets 生成 .secrets.baseline。

用法:

Generate secrets baseline
Create detect-secrets baseline

实现

此技能使用以下文件:

  • .claude/tools/amplihack/hooks/precommit_prefs.py - 偏好管理
  • .claude/tools/amplihack/hooks/precommit_installer.py - 钩子安装
  • templates/ 目录中的模板

安全性

  • 防止路径遍历
  • 验证模板白名单
  • 子进程调用不使用 shell=True
  • 强制执行子进程超时

参考

基于:https://gist.github.com/MangaD/6a85ee73dd19c833270524269159ed6e#4-installing-and-setting-up-pre-commit

评论

支持 Markdown