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.
En çok kullandığın 5 hook
| Hook | Use case |
|---|---|
SessionStart | Repo doğrulama, env hazırlığı, hoş geldin sesi |
UserPromptSubmit | Prompt önizleme, denylist filtre |
PreToolUse | İzin akışı + audit log |
PostToolUse | Auto-format, lint, telemetry |
Stop | Tamamlanma 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.