保存時自動フォーマット
Post-Tool入門Hookタイプ: post-tool-use
保存時自動フォーマットは、WriteまたはEditツールが呼び出されるたびに対象ファイルでPrettierを実行します。これにより、Claudeが生成するすべてのコードがプロジェクトのフォーマットルールに準拠し、Claudeがフォーマットを記憶する必要がなくなります。.prettierrcと.prettierignoreの設定を尊重し、TypeScript、JavaScript、JSON、CSS、Markdownなどのサポートされるファイルタイプを処理します。成功時は静かに実行され、フォーマット変更が適用された場合のみ報告します。
Prettierフォーマットコードスタイル自動化
Hookコード
#!/bin/bash
# Auto-Format on Save Hook
# Runs Prettier after file writes/edits
# Only trigger on Write or Edit
if [[ "$TOOL_NAME" != "Edit" ]] && [[ "$TOOL_NAME" != "Write" ]]; then
exit 0
fi
FILE_PATH=$(echo "$TOOL_INPUT" | jq -r '.file_path // .path // empty')
if [ -z "$FILE_PATH" ] || [ ! -f "$FILE_PATH" ]; then
exit 0
fi
# Check if file type is supported by Prettier
if ! echo "$FILE_PATH" | grep -qE '\.(ts|tsx|js|jsx|json|css|scss|md|yaml|yml|html|vue|svelte)$'; then
exit 0
fi
# Check if prettier is available
if ! command -v npx &>/dev/null; then
exit 0
fi
# Run Prettier with project config
BEFORE_HASH=$(md5sum "$FILE_PATH" 2>/dev/null | cut -d' ' -f1)
npx prettier --write "$FILE_PATH" 2>/dev/null
AFTER_HASH=$(md5sum "$FILE_PATH" 2>/dev/null | cut -d' ' -f1)
if [ "$BEFORE_HASH" != "$AFTER_HASH" ]; then
echo "Formatted: $FILE_PATH"
fi
exit 0
このHookをClaude Code設定または.claude/settings.jsonに追加して有効化してください。
実行プレビュー
保存時自動フォーマット
保存時自動フォーマットについて
Claude Code Hooksは、Claude操作中の特定イベントに応じてカスタムシェルコマンドを自動実行します。保存時自動フォーマットは入門レベルのPost-Tool Hookで、開発ワークフローの重要なタイミングでタスクを自動化し、手動ステップを削減してチーム全体の一貫性を維持します。