Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- UICollectionView
- Xcode
- RxCocoa
- combine
- tableView
- claude code
- Observable
- uiscrollview
- 스위프트
- Refactoring
- collectionview
- Human interface guide
- rxswift
- clean architecture
- 클로드코드
- Protocol
- ios
- SWIFT
- 애니메이션
- swift documentation
- 클린 코드
- 리팩토링
- swiftUI
- MVVM
- 리펙토링
- UITextView
- uitableview
- Clean Code
- HIG
- map
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[AI] claude code - hook, btw 명령어 (클로드코드 훅, by the way) 본문
btw 명령어
- btw는 by 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 등)를 최신화하는 스크립트를 연결 |
- 아래와 같은 Hook 타이밍이 있음

| 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 | Session 중 Configuration 파일이 변경될 때 |
| WorktreeCreate | --worktree 또는 isolation: "worktree"를 통해 worktree가 생성될 때. 기본 git 동작을 대체함 |
| WorktreeRemove | Session 종료 시 또는 Subagent가 완료될 때 worktree가 제거될 때 |
| PreCompact | Context compaction 전 |
| SessionEnd | Session이 종료될 때 |
* 참고
'AI' 카테고리의 다른 글
| [AI] 클로드코드 claude opus 4.7 내용 (claude-opus-4.7) (1) | 2026.04.29 |
|---|---|
| [AI] 클로드코드 서브 에이전트 사용 방법 (SubAgent, agents, ClaudeCode, 병렬 처리) (0) | 2026.04.22 |
| [AI] 클로드코드 승인 요청 안물어보게 하는방법 (auto accept, bypass, vscode) (0) | 2026.04.15 |
| [AI] 클로드코드 유용한 기능 (analyze, fix, explain, compact, call) (1) | 2026.04.08 |
| [AI] 클로드코드 sub agent 개념 (claude code, 서브 에이전트) (1) | 2026.04.01 |
Comments
