훅 시스템
다운로드 후
~/.claude/rules/ 폴더에 복사하여 사용하세요Claude Code 훅 시스템 규칙입니다.
훅 타입
| 타입 | 실행 시점 | 용도 |
|---|---|---|
| PreToolUse | 도구 실행 전 | 검증, 파라미터 수정 |
| PostToolUse | 도구 실행 후 | 자동 포맷, 검사 |
| Stop | 세션 종료 시 | 최종 검증 |
현재 훅 예시
~/.claude/settings.json 내 설정:
PreToolUse 훅
- tmux 리마인더: 장시간 명령에 tmux 제안
- git push 리뷰: 푸시 전 에디터에서 리뷰 열기
- doc 블로커: 불필요한 .md/.txt 파일 생성 차단
PostToolUse 훅
- PR 생성: PR URL과 GitHub Actions 상태 로깅
- Prettier: 편집 후 JS/TS 파일 자동 포맷
- TypeScript 검사: .ts/.tsx 파일 편집 후 tsc 실행
- console.log 경고: 편집된 파일의 console.log 경고
Stop 훅
- console.log 감사: 세션 종료 전 모든 수정된 파일의 console.log 검사
훅 설정 예시
{
"hooks": {
"PreToolUse": [
{
"matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.tsx?$\"",
"hooks": [{
"type": "command",
"command": "echo 'TypeScript 파일 편집 중'"
}]
}
],
"PostToolUse": [
{
"matcher": "tool == \"Edit\"",
"hooks": [{
"type": "command",
"command": "npx prettier --write \"$file_path\""
}]
}
]
}
}자동 승인 권한
⚠️
자동 승인 권한은 주의해서 사용하세요!
| 상황 | 권장 |
|---|---|
| 신뢰할 수 있고 잘 정의된 계획 | ✅ 활성화 가능 |
| 탐색적 작업 | ❌ 비활성화 |
dangerously-skip-permissions | ❌ 절대 사용 금지 |
allowedTools 설정
~/.claude.json에서 설정:
{
"allowedTools": [
"Read",
"Grep",
"Glob"
]
}TodoWrite 모범 사례
📋
TodoWrite 도구를 적극적으로 활용하세요.
사용 용도
- 다단계 작업 진행 상황 추적
- 지시사항 이해도 확인
- 실시간 조정 가능
- 세분화된 구현 단계 표시
할 일 목록으로 알 수 있는 것
- 순서가 맞지 않는 단계
- 누락된 항목
- 불필요한 추가 항목
- 잘못된 세분화 수준
- 잘못 해석된 요구사항
훅 디버깅
# 훅 로그 확인
claude --debug
# 특정 훅 테스트
echo '{"tool": "Edit", "tool_input": {"file_path": "test.ts"}}' | \
jq 'select(.matcher | test("Edit"))'