Files
sam-react-prod/.claude/hooks/check-file-size.sh
유병철 bb7e7a75e9 feat(WEB): 상세 페이지 권한 체계 통합 및 레이아웃/문서 기능 개선
권한 시스템 통합:
- BadDebtDetail, LaborDetail, PricingDetail 권한 로직 정리
- BoardDetail, ClientDetail, ItemDetail 권한 적용 개선
- ProcessDetail, StepDetail, PermissionDetail 권한 리팩토링
- ContractDetail, HandoverReport, ProgressBilling 권한 연동
- ReceivingDetail, ShipmentDetail, WorkOrderDetail 권한 적용
- InspectionDetail, OrderSalesDetail, QuoteFooterBar 권한 개선

기능 개선:
- AuthenticatedLayout 구조 리팩토링
- JointbarInspectionDocument 문서 레이아웃 개선
- PricingTableForm 폼 기능 보강
- DynamicItemForm, SectionsTab 개선
- 주문관리 상세/생산지시 페이지 개선
- VendorLedgerDetail 수정

설정:
- Claude hooks 추가 (빌드 차단, 파일 크기 체크, 미사용 import 체크)
- 품질감사 문서관리 계획 문서 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 20:26:27 +09:00

32 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# PreToolUse Hook: Write 전 파일 크기 급감 경고
# 기존 파일 대비 50% 이상 줄어들면 경고 (최소 50줄 이상 파일만)
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
NEW_CONTENT=$(echo "$INPUT" | jq -r '.tool_input.content // empty')
# 파일이 없으면 (신규 생성) 통과
if [ ! -f "$FILE_PATH" ]; then
exit 0
fi
EXISTING_LINES=$(wc -l < "$FILE_PATH" 2>/dev/null | tr -d ' ')
NEW_LINES=$(echo "$NEW_CONTENT" | wc -l | tr -d ' ')
# 기존 파일이 50줄 미만이면 체크 스킵
if [ "$EXISTING_LINES" -lt 50 ] 2>/dev/null; then
exit 0
fi
# 새 내용이 기존의 50% 미만이면 경고
THRESHOLD=$((EXISTING_LINES / 2))
if [ "$NEW_LINES" -lt "$THRESHOLD" ] 2>/dev/null; then
echo "⚠️ File size drop: $FILE_PATH" >&2
echo " 기존: ${EXISTING_LINES}줄 → 새 내용: ${NEW_LINES}줄 (${THRESHOLD}줄 미만)" >&2
echo " 파일 내용이 절반 이상 줄었습니다. 의도한 변경인지 확인하세요." >&2
exit 2
fi
exit 0