Claude Code Hooks 自動化デモ

✓ 動作確認済み PreToolUse PostToolUse Stop 生成日時: 2026-05-03

🛡️ pre-bash-guard.sh

Bash コマンド実行前に危険パターンを検知してブロック。監査ログにも記録。

PreToolUse → Bash
危険パターン: 8種類
監査ログ: ~/.claude/hooks/bash-audit.log

✨ post-edit-format.sh

ファイル編集後に拡張子に応じた自動フォーマットを実行。

PostToolUse → Write|Edit
対応: py / js / ts / go / sh
ツール: black, prettier, gofmt, shfmt

📋 stop-session-summary.sh

セッション終了時に編集ファイル一覧と git diff --stat をMarkdownで保存。

Stop イベント
保存先: ~/.claude/sessions/YYYY-MM-DD.md
無限ループ防止: stop_hook_active チェック
bash — demo run
$ echo '{"tool_input":{"command":"ls -la"}}' | bash scripts/pre-bash-guard.sh
→ exit 0 ✅ 通過

$ echo '{"tool_input":{"command":"rm -rf /"}}' | bash scripts/pre-bash-guard.sh
::error::🚫 危険なコマンドをブロックしました: rm -rf /
→ exit 2 ❌ ブロック

$ cat ~/.claude/hooks/bash-audit.log
2026-05-03T00:25:54 CMD: ls -la
2026-05-03T00:25:54 CMD: rm -rf /
2026-05-03T00:25:54 BLOCKED: rm -rf /

📊 監査ログサンプル(実行結果)

タイムスタンプ ステータス コマンド
2026-05-03T00:25:54 PASS ls -la
2026-05-03T00:25:54 BLOCKED rm -rf /
2026-05-03T00:25:55 PASS git status
2026-05-03T00:25:56 PASS npm install
2026-05-03T00:25:57 WARNING kubectl apply -f prod/deployment.yaml