Hook'larla ilgili tuzaklar
Gotchas around hooks
npm run setup komutunu çalıştırdıktan sonra .claude dizininde iki tane settings.json dosyası olduğunu fark edebilirsin. Orada ne olduğunu anlatayım.
Claude Code dokümantasyonu, hook’lar etrafında bazı güvenlik tavsiyeleri sıralıyor:

Tavsiyelerden biri, script’ler için relative path yerine absolute path kullanılması yönünde. Bu, path interception ve binary planting saldırılarını azaltmaya yardımcı olur.
Ama bu tavsiye settings.json dosyalarını paylaşmayı da çok zorlaştırıyor. Sebep basit: hook script’lerinin senin makinendeki absolute path’i, benim makinemdeki absolute path’ten muhtemelen farklı olacak — çünkü projeyi büyük ihtimalle farklı dizinlere koymuşuzdur.
Bu sorunu çözmek için projemizde bir settings.example.json dosyası var. İçindeki script referansları bir $PWD placeholder’ı içeriyor. npm run setup çalıştırdığımızda bazı dependency’ler kuruluyor, ama aynı zamanda scripts dizininde yer alan bir init-claude.js script’i de çalışıyor. Bu script o $PWD placeholder’larını makinendeki absolute path’le değiştiriyor, settings.example.json dosyasını kopyalıyor ve adını settings.local.json olarak değiştiriyor.
Bu script sayesinde settings.json dosyalarını paylaşabiliyor — ama yine de tavsiye edilen absolute path’leri kullanabiliyoruz!