CLAUDE.md'ye ne yazılır
CLAUDE.md, Claude'un okuduğu bir bağlamdır; uyduğu bir yapılandırma değil. Yalnızca koddan anlaşılmayanı yazın, kısa tutun, sert kuralları hook'a taşıyın.
Bağlam, yapılandırma değil
CLAUDE.md, Claude'un her oturumun başında okuduğu düz bir markdown dosyası. Bağlam olarak ele alınır, zorla uygulanmaz. Oraya "migrations klasörüne dokunma" yazarsanız Claude çoğunlukla uyar, uymadığı gün de onu durduracak hiçbir şey yoktur.
Resmî rehber çizgiyi net çekiyor. Bazı şeyler Claude'un muhakemesine kalır: prompt'lar, CLAUDE.md. Bazı şeyleri harness zorla uygular: hook'lar, deny kuralları, sandbox. İstisnası olmayan kurallar için ikinci türü kullanın.
Neyi yazıp neyi yazmayacağınızın çoğu bu tek ayrımla belirlenir.
Ne girer
Rehberin, bir satır eklemeden önce verdiği test şu: Claude bunu kodu okuyarak bulabilir mi, ve gerçekten bakar mı? İkisinin cevabı da evetse satırı yazmayın.
Geriye kısa bir liste kalıyor:
- Tam test, typecheck ve lint komutları.
- Yanıltıcı kod bölgeleri, yani bariz okumanın yanlış olduğu yerler.
- Repo dışında alınmış, kodun gösteremediği kararlar.
- İki kez düzeltmek zorunda kaldığınız her şey.
## Komutlar
- Tek dosya testi: `pnpm vitest run path/to/file.test.ts`
- Typecheck: `pnpm tsc --noEmit`
## Dikkat
- `src/billing/legacy/` kullanılmıyor gibi görünüyor ama fatura dışa aktarımı ona bağlı.
- 2 boşluklu girinti kullan."2 boşluklu girinti kullan" kontrol edilebiliyor, "düzgün biçimle" edilemiyor. Doğrulanabilir satırlar belirsiz olanlardan daha iyi çalışır.
Hangi satır CLAUDE.md'de yer hak eder?
Dosyalar nereden yüklenir
Sıra geniş olandan özele doğru gider, yani en son okunan metin en özel olandır:
Dosyalar birleştirilir. Sonraki dosya öncekini ezmez, sadece onun arkasına eklenir. Claude ayrıca başlatıldığı dizinden yukarı doğru yürür ve üstteki her CLAUDE.md'yi yükler. Başlatma dizininin altındaki alt klasörlerdeki dosyalar tembel yüklenir: Claude oradaki bir dosyayı okuyunca ya da düzenleyince.
CLAUDE.local.md bir proje için kişisel notlarınıza ayrılmıştır ve gitignore'a eklenmelidir. /init sizin için bir başlangıç dosyası yazar.
Uzunluk bir maliyettir
Her dosyayı yaklaşık 200 satırın altında tutun. Bu düzen meselesi değil. Dosyanın tamamı her oturuma yüklenir, yani ilk derste gördüğümüz gibi her satırın bedeli her turda ödenir.
Uyma üzerinde de bir etkisi var. Rehbere göre bir satır sürekli yok sayılıyorsa vurgu eklemek nadiren işe yarar. Ya dosya fazla uzundur ve satır içinde kaybolur, ya da kuralın istisnası yoktur ve yeri bir hook'tur.
Bilmeye değer küçük şeyler
- Backtick içine alınmış bir yol, örneğin
@README, import edilmez. Import ayrıştırması kod aralıklarını ve çitli blokları atlar. - Oturum ortasında CLAUDE.md'yi düzenlemek o oturumu değiştirmez. Yeni metin
/clear,/compactya da yeniden başlatmadan sonra yüklenir. - Bir repoda yalnızca
AGENTS.mdvarsa Claude Code onu okur. İkisi de varsa, CLAUDE.md AGENTS.md'yi import etmedikçe yalnızca CLAUDE.md okunur. /doctor prompt-audit, talimat dosyalarını bayat ya da çelişen içerik için denetler.
CLAUDE.md'deki bir kural tekrar tekrar yok sayılıyor ve istisnası yok. Daha iyi çözüm hangisi?
Bölüm tamamlandı
Bağlam ve hafıza kursunun 6 bölümünden 2. bölümü bitirdiniz.
Path kapsamlı kurallar yalnızca eşleşen bir dosyaya dokunulunca yüklenir, auto memory ise Claude'un kendine yazdığı notlardır. İkisinin "neyin ne kadar yaşadığı" sorusuna cevabı farklı.
Sonraki bölüm