핵심 요약
Claude Code 2.0의 hooks API로 도구 호출 전·후, 세션 종료 시 자동화. 사내 14개 hook 운영 — 비용 모니터링, secret 차단, 자동 commit, 알림, 거버넌스. 정착한 8가지 패턴.
1. PreToolUse — secret 차단
{
"PreToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "node hooks/check-secret.js"
}]
}]
}
Write·Edit 직전 .env·API key 패턴 검사. blocking output 시 도구 차단.
2. PostToolUse — 자동 lint·format
파일 수정 후 자동 biome·prettier. 컨텍스트에 lint 결과 피드 → Claude가 즉시 수정.
3. Stop — 미완 작업 리마인드
세션 종료 시 TODO 검색, 미해결 5개 이상이면 사용자 알림 + Slack 통지.
4. UserPromptSubmit — 비용 제한
사용자 메시지 보내기 전 일일 비용 누적 체크. 한도 초과 시 차단.
5. 8가지 패턴 정리
- Secret guard — env 파일 commit 차단
- Cost cap — 일일 한도 enforce
- Lint loop — 수정 후 자동 검증
- Auto-commit — 정상 변경 즉시 stage
- Notification — Slack/Email
- Audit log — 모든 도구 호출 SQLite 기록
- Permission gate — production 경로 변경 시 사람 승인
- Telemetry — anthropic billing dashboard 연동
6. 함정
- hook 무한루프 — PostToolUse에서 같은 도구 호출하면 loop, idempotent 검증
- blocking 메시지 길이 — exit 2 출력은 Claude가 읽음, 짧게
- 권한 — hook이 임의 명령 실행, 코드 리뷰 정책 필수
- 팀 공유 — .claude/hooks를 git에, 개인 설정과 분리

댓글 0