# Bekleyen kurallar, kalan hafıza

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ı.

## Talimatları yoldan çekmenin iki yolu

CLAUDE.md her oturumda tamamen yüklenir. Her yerde geçerli olanlar için doğru, geri kalanlar için israf. Claude Code metin için iki yer daha veriyor ve ikisi çok farklı davranıyor.

**Kurallar**, `.claude/rules/` içinde özyinelemeli aranan konu dosyaları. **Auto memory** ise Claude'un kendisinin yazdığı notlar. Birini siz yazarsınız, birini o. İkisine de sorulacak soru aynı: ne zaman yükleniyor, sonra ona ne oluyor?

## Kurallar ve paths filtresi

Frontmatter'ı olmayan bir kural dosyası, tıpkı CLAUDE.md gibi, başlangıçta yüklenir. İlginç olan `paths:` alanı olan kural.

```markdown
---
paths:
  - "src/api/**/*.ts"
---

Her endpoint girdisini ortak şema yardımcısıyla doğrular.
Hataları `ApiError` ile döndür, çıplak string verme.
```

Bu kural, Claude glob'a uyan bir dosyayı okuyana ya da düzenleyene kadar hiçbir şeye mal olmaz. Sonra ortaya çıkar. Frontend çalışan bir oturum backend kurallarının bedelini ödemez, kural da işe yarayabileceği anda gelir.

Yalnızca `paths` alanı okunur. Başka her frontmatter alanı sessizce yok sayılır, yani kendiniz için eklediğiniz bir `description:` hiçbir şey yapmaz.

> **Geç gelmenin bedeli**
Path kapsamlı kurallar ve alt klasörlerdeki iç içe CLAUDE.md dosyaları konuşma geçmişinin parçası olarak gelir. Bu, compaction'ın onları özetleyip eritebileceği anlamına gelir. Bir kuralın hayatta kalması şartsa `paths:` frontmatter'ını kaldırın ya da kökteki CLAUDE.md'ye taşıyın.


**Question:** Uzun bir oturum compact edildikten sonra path kapsamlı bir kural kayboldu. Neden?

- Kurallar bir saat sonra sona erer
- Konuşma geçmişi olarak geldi ve compaction onu özetleyebilir
- paths: kuralları yalnızca yeni projelerde çalışır
- Compaction bütün kuralları siler

**Answer:** Konuşma geçmişi olarak geldi ve compaction onu özetleyebilir. Kapsamsız kurallar ve kökteki CLAUDE.md proje bağlamının parçası. Kapsamlı kurallar konuşmanın ortasında gelir, yani bir özet onları içine alabilir.


## Auto memory

Auto memory, `~/.claude/projects/<project>/memory/` altındaki bir not klasörü. Bir `MEMORY.md` dizini ve yanında konu dosyaları var, dört türde: user, feedback, project ve reference.

Başlangıçta `MEMORY.md`'nin yalnızca ilk 200 satırı ya da 25KB'ı yüklenir. Konu dosyaları istenince okunur. Yani size maliyet çıkaran kısım dizin, ve dizini kısa tutmak bir disiplin.

Davranışını üç gerçek belirliyor:

- Aynı git reposunun bütün worktree'leri ve alt dizinleri tarafından paylaşılır.
- Makineye yereldir. Başka makinelere ya da bulut oturumlarına senkronlanmaz.
- Alt ajanlara yüklenmez. Fork istisna, çünkü tüm konuşmayı miras alır.

Hafıza dosyaları transcript saklama temizliğinin dışında tutulur. Siz düzenleyene ya da silene kadar kalırlar.

```terminal
$ /memory
* CLAUDE.md dosyalarını ve auto memory anahtarını açar
# Kapatmak için ayarlarda: autoMemoryEnabled. Kabukta: CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
```

## Neyin ne kadar yaşadığı

Akılda kalmaya değer tablo bu.

```flow
Oturum ortasında düzenlenen CLAUDE.md: /clear, /compact veya yeniden başlatmadan sonra geçerli olur
Kökteki CLAUDE.md: compaction'dan sağ çıkar
Kapsamlı kurallar ve iç içe CLAUDE.md: özetlenip silinebilir
Auto memory dosyaları: siz düzenleyene ya da silene kadar durur
```

Bunu "metin nerede duruyor" sorusu olarak okuyun. Proje bağlamındaki metin yeniden yüklenir. Konuşma sırasında gelen metin konuşmadır, ve compaction'ın yeniden yazdığı şey konuşmadır.

> **Kullanıcı ve proje kuralları çeliştiğinde**
Kullanıcı düzeyi kurallar proje kurallarından önce yüklenir. Çeliştiklerinde hiçbiri kazanmaz, Claude ikisinden birini izleyebilir. Önemli bir kuralı başka bir yerde çelişkili bırakmayın.


## Yeri seçmek

Yukarıdakilerden çıkan kısa bir rehber:

- Her şey için geçerli, istisnası yok: CLAUDE.md, zorlanması gerekiyorsa hook.
- Tek tür dosya için geçerli: `paths:` olan bir kural; compaction'ın onu eritebileceğini kabul ederek.
- Claude'un sizin ya da proje hakkında çıkardığı bir şey: auto memory. Herhangi bir dosya gibi okuyup düzenleyebilirsiniz.
- Çok adımlı bir prosedür: skill.

**Question:** Auto memory nerede durur ve onu başka kim görür?

- Proje reposunda, git ile takım arkadaşlarıyla paylaşılır
- ~/.claude/projects/<project>/memory/ altında, makinenize yerel
- Bulutta, her cihaza senkronlanır
- CLAUDE.md'nin içinde

**Answer:** ~/.claude/projects/<project>/memory/ altında, makinenize yerel. Auto memory makineye yereldir. O makinede aynı reponun worktree'leri arasında paylaşılır ama başka yere senkronlanmaz.


> **Claude'un yazdığını okuyun**
`/memory` çalıştırın ve auto memory klasörünü açın. `MEMORY.md`'yi bir yabancı gibi okuyun. Yanlış ya da bayat olan her şeyi düzeltmek size kalmış, çünkü bunlar sıradan dosyalar.
