pre-commit-manager について
リポジトリの pre-commit hooks を導入・管理し、コミット前のチェックを統一したい開発チームを支援するスキルです。言語別テンプレートから設定を生成し、自動インストールの設定も記憶します。
主な機能
- 01pre-commit hooksの導入と確認
- 02Python、JavaScript、TypeScript、汎用テンプレートから設定生成
- 03自動インストール設定の変更
- 04リポジトリ・設定・導入状況の確認
- 05detect-secretsのベースライン生成
活用シーン
- 01新しいリポジトリへのコミット前チェック設定
- 02既存プロジェクトへのhooks導入
- 03hooksと設定の準備状況の確認
- 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を使用しない - サブプロセスのタイムアウトを適用
参考
コメント
Markdown 対応