hooks.json
Hooks란?
Hooks는 Claude Code 실행 라이프사이클의 특정 지점에서 작업을 트리거하는 이벤트 리스너입니다. 도구 사용에 따라 셸 명령을 실행하거나 프롬프트를 주입할 수 있습니다.
● ● ● settings.json
{
"hooks": {
"PreToolUse": [
{
"type": "prompt",
"matcher": "Write|Edit",
"prompt": "Check: no secrets, proper formatting, follows conventions."
}
],
"PostToolUse": [
{
"type": "command",
"matcher": "Write|Edit",
"command": "npm run lint --fix"
}
],
"Stop": [
{
"type": "prompt",
"prompt": "Summarize what was accomplished in this session."
}
]
}
}
왜 Hooks를 사용하나요?
🛡️
품질 게이트
코드 작성 전 자동 검증. 린팅, 보안 검사, 표준을 강제합니다.
⚙️
자동화된 액션
특정 이벤트에서 스크립트 트리거. 테스트 실행, 코드 포맷팅, 문서 업데이트.
💉
프롬프트 주입
동적으로 컨텍스트나 지침 추가. 상황에 따라 Claude의 행동을 가이드합니다.
🎯
도구 인터셉션
도구 사용을 차단, 수정, 향상. 안전장치와 커스터마이제이션 추가.
Events
사용 가능한 이벤트
PreToolUse
도구 사용 전 (허용/거부/확인)
PostToolUse
도구가 성공적으로 완료된 직후 실행
Stop
주 에이전트 응답 완료 시 실행
SubagentStop
서브에이전트 응답 완료 시 실행
SessionStart
세션 시작 또는 재개 시 실행
SessionEnd
세션 종료 시 실행
UserPromptSubmit
사용자 프롬프트 처리 전에 실행
PreCompact
컨텍스트 컴팩트 전에 실행
Notification
알림 발송 시 실행
Types
Hook 유형
💬
프롬프트 기반 Hooks
Claude가 지침으로 처리하는 프롬프트 주입
"prompt": "Check for security issues..."
⚡
스크립트 기반 Hooks
셸 명령 또는 외부 스크립트 실행
"command": "npm run lint --fix"
Examples
예제 Hooks
✨
파일 수정 시 자동 린트
파일 수정 후 자동으로 린터 실행
🔒
보안 스캐너
코드 작성 전 보안 이슈 확인
📝
커밋 메시지 생성기
세션 종료 시 표준화된 커밋 메시지 생성
Community
커뮤니티 & 기여하기
커뮤니티와 hooks 및 자동화 패턴을 공유하세요.