권한 시스템 통합: - 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>
32 lines
1.0 KiB
Bash
Executable File
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
|