03-실전
03. 실전 — 패턴북
섹션 제목: “03. 실전 — 패턴북”패턴 1: “편집할 때마다 자동 포맷”
섹션 제목: “패턴 1: “편집할 때마다 자동 포맷””- 이벤트:
PostToolUsematcher:Edit|Write|NotebookEdit - 명령: 변경된 파일을 prettier/black/gofmt에 통과.
패턴 2: “위험 셸 명령 사전 차단”
섹션 제목: “패턴 2: “위험 셸 명령 사전 차단””- 이벤트:
PreToolUsematcher:Bash - 명령: 인자를 정규식으로 검사.
rm -rf,sudo,dd of=/dev/면 exit 1로 차단 + stderr에 사유 출력. - 권한 게이트의 deny와 이중 보호로 작동.
패턴 3: “커밋 전 테스트 강제”
섹션 제목: “패턴 3: “커밋 전 테스트 강제””- 이벤트:
PreToolUsematcher:Bash(git commit:*) - 명령:
npm test || exit 1. 실패하면 커밋 자체가 차단.
패턴 4: “Stop 시 자동 진행 메모”
섹션 제목: “패턴 4: “Stop 시 자동 진행 메모””- 이벤트:
Stop - 명령: 최근 todo 목록과 변경 파일을
.omc/notepad.md에 append. 다음 세션에서 컨텍스트로 활용.
패턴 5: “사용자 입력에 자동 컨텍스트 주입”
섹션 제목: “패턴 5: “사용자 입력에 자동 컨텍스트 주입””- 이벤트:
UserPromptSubmit - 명령: 현재 git 브랜치, 마지막 커밋 메시지, 진행 중인 todo를 stdout으로 출력 → 모델이 보는 system-reminder가 됨.
”프롬프트로 할까 hook으로 할까” 결정 트리
섹션 제목: “”프롬프트로 할까 hook으로 할까” 결정 트리”요청: "X를 ___ 할 때마다 ___ 해" │ ▼ 반드시 일어나야 하나? ├─ 아니오 → CLAUDE.md 가이드 또는 Skill └─ 예 → hook │ ▼ 이벤트가 명확한 시점인가? ├─ 예 → 위 5개 패턴 중 하나 └─ 아니오 → 시점을 명확히 정의 (PreToolUse 등에 매핑)이 결정 트리가 본 챕터의 처방이다. 반드시 일어나야 하면 모델에게 시키지 말고 하네스에게 시킨다.