~/VibeHandbook
$39

에이전트 툴링

docs.claude.com

Hooks

무엇인가

훅(hook)은 에이전트 생애주기의 특정 시점에 자동으로 실행되는, 여러분이 직접 정의한 명령입니다 — 셸 명령을 실행하기 전, 파일을 편집한 후, 세션이 시작될 때 등이죠. 훅을 사용하면 에이전트가 규칙을 스스로 기억하리라 믿는 대신, 평범한 스크립트로 에이전트의 행동을 관찰하고 제어할 수 있습니다. 훅은 코딩 하니스의 집행 계층입니다.

강점

  • 결정적입니다: 훅은 매번 실행되므로 규칙을 잊거나 우회할 수 없습니다.
  • 평범한 셸이나 스크립트로 작성되므로, 여러분의 머신이 할 수 있는 모든 것을 할 수 있습니다.
  • 단순히 기록하는 것을 넘어 행동을 차단할 수 있습니다 — 명령 실행 전 훅은 위험한 명령을 거부할 수 있습니다.
  • 가드레일에 탁월합니다: 저장 시 포매팅, 편집 후 테스트 실행, 커밋 전 시크릿 스캔.

트레이드오프

  • 훅은 자동으로 실행되는 실제 코드이므로, 버그가 있으면 워크플로를 망가뜨릴 수 있습니다.
  • 느린 훅은 트리거되는 모든 이벤트에 지연을 더합니다.
  • 패턴에 따라 발동하므로, 너무 광범위한 훅은 정당한 작업을 방해할 수 있습니다.
  • 설정이 더 필요하고, 무언가 예상과 다르게 동작할 때 살펴봐야 할 곳이 하나 더 늘어납니다.

언제 사용하는가

에이전트의 행동에 대해 확실한 보장을 원할 때 훅을 사용하세요 — 자동 포매팅, 필수 테스트 실행, 파괴적 명령 차단, 모든 동작 기록 등을, 에이전트의 자발적 준수에 의존하지 않고 말이죠.

바이브 코딩 적합성

훅은 에이전트가 빠르게 움직이도록 두면서도 안전하게 유지하는 방법입니다. 에이전트는 제안하고, 훅은 집행합니다. rm -rf를 차단하는 "실행 전" 훅이나 타입 체커를 실행하는 "편집 후" 훅은, 제멋대로 구는 어시스턴트를 여러분의 가드레일을 물리적으로 건너뛸 수 없는 존재로 바꿔놓습니다.

// run the formatter after every file edit
{
  "hooks": {
    "PostToolUse": [
      { "matcher": "Edit", "command": "npx prettier --write $FILE" }
    ]
  }
}