Lesson 05 · 10 dk okuma

Hooks giriş + lifecycle

27 hook'un genel haritası; en yaygın 5 hook'u nasıl bağlarsın.

Hook = lifecycle olayı tetiklendiğinde shell komutu çalıştır. 27 olay vardır, hepsi settings.json’daki hooks alanı altında bağlanır.

Tipik bir prompt akışında 27 hook'tan hangileri ne sırayla tetiklenir.

En çok kullandığın 5 hook

HookUse case
SessionStartRepo doğrulama, env hazırlığı, hoş geldin sesi
UserPromptSubmitPrompt önizleme, denylist filtre
PreToolUseİzin akışı + audit log
PostToolUseAuto-format, lint, telemetry
StopTamamlanma sesi, status update

Bağlama örneği

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write|MultiEdit",
        "hooks": [
          { "type": "command", "command": "pnpm prettier --write \"$CLAUDE_FILE_PATHS\"" }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [{ "type": "command", "command": "afplay ~/sounds/done.aiff" }]
      }
    ]
  }
}

matcher — tool ismi regex. $CLAUDE_FILE_PATHS — hook context’inden gelen env var.

Hook çıktısı kuralı

Hook stdout’a JSON yazarsa Claude’a feedback gönderir:

{ "decision": "block", "reason": "Test failed; fix before proceeding." }

→ Claude bir sonraki turn’de mesajı görür, devam etmez.

Sıradaki

Workflow tasarım pattern’leri — agent + command + skill + hook’u birleştirme.