CClaude Code Catalog
全Hooks

TypeScript型チェッカー

Post-Tool中級Hookタイプ: post-tool-use

TypeScript型チェッカーは、TypeScriptファイルに対するWriteおよびEdit操作のPost-Toolイベントにフックします。各編集後、プロジェクトでtsc --noEmitを実行して型安全性を検証します。毎回フルプロジェクトチェックを実行する代わりに、tsbuildinfoキャッシュを使用した増分コンパイルで高速なフィードバックを提供します。型エラーが見つかった場合、ファイルの場所とエラーメッセージを報告し、Claudeが即座に修正できるようにします。これにより、複数の編集が連鎖的な型エラーを引き起こす一般的な問題を防止します。

TypeScript型チェックtsc型安全性バリデーション

Hookコード

#!/bin/bash # TypeScript Type Checker Hook # Runs tsc --noEmit after TypeScript file 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" ]; then exit 0 fi # Only check TypeScript files if ! echo "$FILE_PATH" | grep -qE '\.(ts|tsx)$'; then exit 0 fi # Find the nearest tsconfig.json SEARCH_DIR=$(dirname "$FILE_PATH") TSCONFIG="" while [ "$SEARCH_DIR" != "/" ]; do if [ -f "$SEARCH_DIR/tsconfig.json" ]; then TSCONFIG="$SEARCH_DIR/tsconfig.json" break fi SEARCH_DIR=$(dirname "$SEARCH_DIR") done if [ -z "$TSCONFIG" ]; then echo "No tsconfig.json found, skipping type check." exit 0 fi PROJECT_DIR=$(dirname "$TSCONFIG") echo "Running type check..." OUTPUT=$(cd "$PROJECT_DIR" && npx tsc --noEmit --incremental 2>&1) EXIT_CODE=$? if [ $EXIT_CODE -ne 0 ]; then ERROR_COUNT=$(echo "$OUTPUT" | grep -c "error TS") echo "TYPE ERRORS: $ERROR_COUNT error(s) found" echo "$OUTPUT" | grep "error TS" | head -5 if [ "$ERROR_COUNT" -gt 5 ]; then echo " ... and $((ERROR_COUNT - 5)) more errors" fi exit 1 fi echo "Type check passed." exit 0

このHookをClaude Code設定または.claude/settings.jsonに追加して有効化してください。

実行プレビュー

TypeScript型チェッカー

TypeScript型チェッカーについて

Claude Code Hooksは、Claude操作中の特定イベントに応じてカスタムシェルコマンドを自動実行します。TypeScript型チェッカーは中級レベルのPost-Tool Hookで、開発ワークフローの重要なタイミングでタスクを自動化し、手動ステップを削減してチーム全体の一貫性を維持します。

関連Hooks