Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[AI] claude code - hook, btw 명령어 (클로드코드 훅, by the way) 본문

AI

[AI] claude code - hook, btw 명령어 (클로드코드 훅, by the way)

jake-kim 2026. 5. 6. 01:52

btw 명령어

  • btwby the way의 줄임말 ("그나저나")
    • 메인 작업 흐름을 중단하거나 대화 기록(Context)을 오염시키지 않고, 샛길 질문(Side Question)을 빠르게 던질 수 있는 번들 스킬

ex) 게시판 웹 구현해달라고 할때, 도중에 클로드코드가 어떤 언어로 구현하는지 궁금한 경우, /btw로 물어볼 수 있음

게시판 웹 구현해달라고 클로드코드한테 작업 시킴
게시판을 구현하고 있는 도중에 어떤 언어로 구현중인지 물어봄

작업 도중에 토큰을 얼마나 쓸지도 물어볼 수 있음

Hook 기능

  • Hook은 Claude Code의 실행중에, 특정 이벤트가 발생하였을때 사용자가 정해 지정해놓은 Shell Command나, HTTP 요청 또는 프롬프트를 실행할 수 있는 기능
  • 주요 Hook들
    • Pre-execution Hooks: 클로드가 코드를 생성하거나 수정하기 직전에 실행 (예: 최신 API 문서 불러오기)
    • Post-execution Hooks: 클로드가 작업을 마친 직후 실행 (예: 린트(Lint) 체크, 빌드 테스트)
    • Context Hooks: 특정 파일이나 디렉토리에 접근할 때 자동으로 맥락 정보를 제공하도록 설정

ex) 

일반적으로 프로젝트 루트에 있는 .claude/config.json 또는 클로드 전용 설정 파일 내에 훅을 정의

 

  • pre-apply: 클로드가 수정 사항을 파일에 적용하기 전에 실행할 명령어
  • post-apply: 수정 사항이 적용된 후 정상 작동 여부를 확인하기 위한 명령어
  • on-error: 작업 중 오류가 발생했을 때 진단을 위해 실행할 명령어

 

{
  "hooks": {
    "pre-apply": "npm run lint",
    "post-apply": "npm test",
    "on-error": "tail -n 20 error.log"
  }
}
  • 또 다른 활용 케에스

 

 

- 설명
자동 테스트 클로드가 코드를 고친 자동으로 jest pytest 돌려 회귀 버그를 방지
포맷팅 강제 수정한 코드가 프로젝트의 Prettier ESLint 규칙을 준수하도록 자동 교정
의존성 체크 package.json 변경되면 자동으로 npm install 수행하도록 설정
문서 동기화 코드가 변경될 때마다 관련 사양서(Swagger ) 최신화하는 스크립트를 연결

https://code.claude.com/docs/en/hooks

Event When it fires (발생 시점)
SessionStart Session이 시작되거나 재개될 때
UserPromptSubmit 프롬프트를 제출했고, Claude가 처리하기 전
PreToolUse Tool 호출이 실행되기 전. (호출을 차단할 수 있음)
PermissionRequest Permission 대화 상자가 나타날 때
PostToolUse Tool 호출이 성공한 후
PostToolUseFailure Tool 호출이 실패한 후
Notification Claude Code가 알림을 보낼 때
SubagentStart Subagent가 생성될 때
SubagentStop Subagent가 완료될 때
Stop Claude가 응답을 마쳤을 때
TeammateIdle Agent team 동료가 유휴 상태가 되기 직전
TaskCompleted Task가 완료로 표시될 때
InstructionsLoaded CLAUDE.md 또는 .claude/rules/*.md 파일이 context에 로드될 때. Session 시작 시 및 Session 중 파일이 지연 로드될 때 발생
ConfigChange SessionConfiguration 파일이 변경될 때
WorktreeCreate --worktree 또는 isolation: "worktree"를 통해 worktree가 생성될 때. 기본 git 동작을 대체함
WorktreeRemove Session 종료 시 또는 Subagent가 완료될 때 worktree가 제거될 때
PreCompact Context compaction
SessionEnd Session이 종료될 때

 

* 참고

- https://code.claude.com/docs/en/hooks

- https://www.reddit.com/r/ClaudeCode/comments/1rqlry4/have_you_tried_the_new_btw_command/?tl=ko#:~:text=BTW%EB%8A%94%20subagent%EB%9E%91%20%EB%B0%98%EB%8C%80/%EC%97%AD%ED%95%A0%EC%9D%84%20%ED%95%98%EB%8A%94%20%EB%8B%A4%EB%A5%B8%20%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%9D%B8%EB%8D%B0%2C%20%ED%98%84%EC%9E%AC,%EB%A7%90%ED%95%9C%20%EA%B2%83%EC%B2%98%EB%9F%BC%2C%20%ED%9B%84%EC%86%8D%20%EC%A7%88%EB%AC%B8%20%EA%B0%99%EC%9D%80%20%EA%B1%B4%20%EC%97%86%EC%96%B4.

Comments