규칙
훅 시스템

훅 시스템

다운로드 후 ~/.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"))'