Claude Code oturumlarına SessionStart hook ile git durumu ekleyin
Claude Code, oturum başladığında bir hook çalıştırabiliyor; bu, her sohbette elle yazmanız gereken bağlamı otomatik eklemenin en pratik yolu. Kısa bir SessionStart komutu ile mevcut branch, değişmiş dosyalar ve TODO'lar modele ilk mesajdan önce verilebiliyor. Yazı, ayar dosyası yerleşimini ve çıktıyı sınırlamanın neden önemli olduğunu gösteriyor.
Kilit noktalar
- SessionStart hook'u oturum açılışında bir kez çalışır ve stdout'u doğrudan oturum bağlamına eklenir.
- Hook tanımı .claude/settings.json içinde "hooks" anahtarı altında type: command olarak yapılıyor.
- Branch bilgisi için git rev-parse --abbrev-ref HEAD, değişiklikler için git status -sb kullanılıyor.
- Çıktıyı head -40 ile sınırlayın; aksi halde her sohbete büyük bir status dökümü eklenir.
- Kişisel hook'ları settings.local.json içinde tutarak git'e girmesini engelleyin.
- Kalıcı kurallar CLAUDE.md'de, canlı durum bilgileri hook'ta kalmalı.
Claude Code'da oturum açıldığında bir kez çalışan SessionStart hook'u, komutun stdout çıktısını oturum bağlamına ekliyor. Yazar bunu .claude/settings.json içine "hooks" altında type: command olarak tanımlıyor; komut git rev-parse ile branch adını alıp git status -sb çıktısını veriyor, böylece model ilk mesajda hangi branch'te olduğunuzu ve nelerin değiştiğini biliyor.
İki pratik uyarı var: çıktıyı head -40 gibi bir sınırla kesin, yoksa her sohbete büyük bir status dökümü eklenir; hook kişisel kalacaksa settings.local.json tercih edin. Git çağrılarını hataya dayanıklı yazın ki repo olmayan klasörde oturum açılışı bozulmasın. Kalıcı kurallar CLAUDE.md'de, canlı bilgiler ise hook'ta durmalı.
Gerçek dünyada kullanımı
- Birden fazla branch üzerinde çalışan bir ekipte, her Claude Code oturumunun doğru branch ve değişikliklerle başlamasını sağlamak
- Uzun süre aynı repoda çalışan geliştiricinin her sohbette "hangi branch'teyim, neler değişti" diye yazmasını ortadan kaldırmak
- Monorepo içinde belirli bir alt projede çalışırken yalnızca o klasörün git durumunu bağlama eklemek
- Yeni açılan oturumlarda unutulan değişiklikleri modele hatırlatarak yanlışlıkla commit edilmemiş iş üzerine yazmayı azaltmak
Neden önemli
Bağlamı elle yazmak yerine oturum başında otomatik enjekte etmek, ajana doğru bilgiyle başlama şansı veriyor ve her sohbette tekrar eden yazışmayı ortadan kaldırıyor; tek maliyet, çıktıyı kısa tutmayı unutmamak.