Claude Code 훅(hook) 기능 도입 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- *코드 자동화, DevOps, CI/CD 프로세스 관리자**
- 중급 이상 개발자 및 팀 리더에게 유용
- DevOps 도구와 LLM 기반 코드 에이전트 사용자에게 적합
핵심 요약
- 사용자 정의 훅 기능으로 LLM의 선택적 실행 대신 일관된 자동화 가능
- PreToolUse/PostToolUse 이벤트 기반으로 명령 실행 전후 로직 제어 가능
- JSON 입력/exit code 또는 JSON 출력 형식으로 확장성과 안정성 강화
섹션별 세부 요약
###1. 기능 개요
- 훅은 코드 실행 라이프사이클 단계에서 실행되는 사용자 정의 쉘 명령어
- 알림, 자동 포맷팅, 로깅, 피드백, 권한 제어 등 다양한 자동화 가능
- 프로젝트/사용자/엔터프라이즈 레벨로 설정 파일 관리 가능
###2. 설정 파일 구조
~/.claude/settings.json
: 사용자 전체 설정.claude/settings.json
: 프로젝트 설정.claude/settings.local.json
: 로컬 설정- 매처(matcher) 기준으로 Bash, Write, Edit, Grep 등 이벤트에 적용 가능
###3. 실행 방식 및 제어
- PreToolUse: 툴 호출 전 실행, tool_input 포함
- PostToolUse: 툴 실행 후 실행, tool_response 포함
- exit code 0: 정상 실행, exit code 2: 차단, 기타 코드: 오류
- stdout에 JSON 반환 시 "continue": false 등 흐름 제어 가능
###4. 보안 및 고려사항
- 셸 명령어는 사용자 전체 권한으로 실행되므로 입력값 검증, 경로 체크, 민감 파일 제외 필수
- MCP(Model Context Protocol) 기반 툴도 지원,
mcp____
네이밍 패턴으로 타깃팅 가능 - 60초 제한, 병렬 실행, 현재 작업 디렉토리에서 동작
###5. 활용 예시
- prettier/gofmt 자동 실행
- 민감 디렉터리 변경 차단
- CLAUDE.md 규칙 준수 강제
- docker 명령 제어 (makemigrations 차단 등)
결론
- 훅 설정 시
PreToolUse
이벤트 활용 및 JSON 입력/출력 제어가 핵심 - 보안 규칙 적용 (입력값 검증, 절대 경로 사용) 및 설정 파일 관리 필수
- MCP 기반 툴 확장 및 Git commit/push 이벤트 훅킹 기대
- CI/CD 자동화의 효율성 증대 및 엔터프라이즈 컴플라이언스 확장 가능성