#!/bin/bash
# auto-lint.sh
# PostToolUse (Edit|Write) 훅: TypeScript 파일 수정 후 컴파일 체크
#
# 수정된 파일이 .ts/.tsx인 경우 tsc --noEmit으로 타입 체크

INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

# 파일 경로가 없으면 통과
if [ -z "$FILE_PATH" ]; then
  exit 0
fi

# TypeScript 파일이 아니면 통과
if ! echo "$FILE_PATH" | grep -qE '\.(ts|tsx)$'; then
  exit 0
fi

# client/ 파일인 경우
if echo "$FILE_PATH" | grep -q 'client/'; then
  cd "$CLAUDE_PROJECT_DIR/client" 2>/dev/null
  if [ -f "tsconfig.json" ]; then
    npx tsc --noEmit --pretty false 2>&1 | tail -5
  fi
fi

# server/ 파일인 경우
if echo "$FILE_PATH" | grep -q 'server/'; then
  cd "$CLAUDE_PROJECT_DIR/server" 2>/dev/null
  if [ -f "tsconfig.json" ]; then
    npx tsc --noEmit --pretty false 2>&1 | tail -5
  fi
fi

exit 0
