mcpField
P
pre-commit-manager

pre-commit-manager

github.com/rysweetテスト・品質7699 回インストール21 週間前に更新
リポジトリ

pre-commit-manager について

リポジトリの pre-commit hooks を導入・管理し、コミット前のチェックを統一したい開発チームを支援するスキルです。言語別テンプレートから設定を生成し、自動インストールの設定も記憶します。

主な機能

  1. 01pre-commit hooksの導入と確認
  2. 02Python、JavaScript、TypeScript、汎用テンプレートから設定生成
  3. 03自動インストール設定の変更
  4. 04リポジトリ・設定・導入状況の確認
  5. 05detect-secretsのベースライン生成

活用シーン

  1. 01新しいリポジトリへのコミット前チェック設定
  2. 02既存プロジェクトへのhooks導入
  3. 03hooksと設定の準備状況の確認
  4. 04detect-secrets用ベースラインの作成

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/pre-commit-managerを入力して読み込まれたか確認します。

同梱ファイルREADME.mdprecommit_manager.py

詳細

Pre-Commit Manager スキル

設定の記憶とテンプレートベースの設定により、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

コメント