# 📚 Kapadokya Kuralları - Dokümantasyon İndeksi

## 🎯 Hızlı Erişim

### 🔴 KRİTİK: Düzeltme Uygulandı!
**SMART RESTAURANT bölümünde LIMITED kuralı bypass ediliyordu. Bu düzeltildi.**
- **Düzeltme Detayları:** `CAPPADOCIA_RULES_FIX.md`
- **Görsel Açıklama:** `CAPPADOCIA_RULES_FIX_VISUAL.md`

### 🚀 Başlangıç
- **Hızlı Referans:** `CAPPADOCIA_RULES_QUICK_REF.md`
- **Özet:** `CAPPADOCIA_RULES_SUMMARY.md`

### 🔧 Kritik Düzeltme (YENİ!)
- **Düzeltme Açıklaması:** `CAPPADOCIA_RULES_FIX.md`
- **Görsel Diyagram:** `CAPPADOCIA_RULES_FIX_VISUAL.md`

### 📖 Detaylı Dokümantasyon
- **Aktivasyon Kılavuzu:** `CAPPADOCIA_RULES_ACTIVATION.md`
- **Önce/Sonra Karşılaştırması:** `CAPPADOCIA_RULES_BEFORE_AFTER.md`
- **Akış Diyagramı:** `CAPPADOCIA_RULES_FLOW_DIAGRAM.md`

### 🧪 Test ve Örnekler
- **Test Senaryoları:** `test-cappadocia-rules.ts`

### 💻 Kaynak Kod
- **Kural Tanımları:** `/src/config/cappadocia-rules.ts`
- **Kural Uygulaması:** `/src/db/api.ts` (satır 887-1150)

---

## 📄 Dosya Açıklamaları

### 1. CAPPADOCIA_RULES_QUICK_REF.md
**Amaç:** Hızlı referans kartı  
**İçerik:**
- Kural kategorileri özeti
- Kullanım örnekleri
- Kontrol fonksiyonu
- Kural matrisi
- Kod konumları
- Test komutları

**Kullanım:** Günlük geliştirme sırasında hızlı bakış

---

### 2. CAPPADOCIA_RULES_SUMMARY.md
**Amaç:** Genel özet ve durum raporu  
**İçerik:**
- Yapılan değişiklikler
- Aktive edilen kurallar
- Test senaryoları
- Etki analizi
- Teknik detaylar
- Sonraki adımlar

**Kullanım:** Proje yönetimi ve durum takibi

---

### 3. CAPPADOCIA_RULES_ACTIVATION.md
**Amaç:** Detaylı aktivasyon kılavuzu  
**İçerik:**
- Kural açıklamaları
- Kod değişiklikleri (önce/sonra)
- Test senaryoları
- Kural kategorileri
- İlgili dosyalar
- Notlar

**Kullanım:** Teknik implementasyon detayları

---

### 4. CAPPADOCIA_RULES_BEFORE_AFTER.md
**Amaç:** Davranış karşılaştırması  
**İçerik:**
- Senaryo bazlı karşılaştırmalar
- Kategori açıklamaları
- İstatistikler
- Kod karşılaştırması
- Öğrenilen dersler

**Kullanım:** Değişikliklerin etkisini anlamak

---

### 5. CAPPADOCIA_RULES_FLOW_DIAGRAM.md
**Amaç:** Görsel akış diyagramları  
**İçerik:**
- Kural akış şeması
- isValidForDay() detaylı akış
- Kategori matrisi
- Örnek senaryo akışı
- Kural etkinliği

**Kullanım:** Sistem mimarisini görselleştirmek

---

### 6. test-cappadocia-rules.ts
**Amaç:** Test senaryoları ve örnekler  
**İçerik:**
- LIMITED yerler testi
- EXCLUDED yerler testi
- FLEXIBLE yerler testi
- FIXED_TIME yerler testi
- Tekrarlama testi
- Gerçek senaryo örneği

**Kullanım:** Kuralları test etmek ve anlamak

---

## 🔍 Konu Bazlı Erişim

### Kural Kategorilerini Öğrenmek İçin
1. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural Kategorileri
2. `CAPPADOCIA_RULES_ACTIVATION.md` → PLACE_TYPE_CATEGORIES
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Kategori Matrisi

### Kod Değişikliklerini Görmek İçin
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Yapılan Değişiklikler
2. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Kod Karşılaştırması
3. `/src/db/api.ts` → Gerçek kod

### Test Senaryolarını Görmek İçin
1. `test-cappadocia-rules.ts` → Kod örnekleri
2. `CAPPADOCIA_RULES_ACTIVATION.md` → Test Senaryoları
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Örnek Senaryo Akışı

### Sistem Mimarisini Anlamak İçin
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramları
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kontrol Fonksiyonu
3. `/src/config/cappadocia-rules.ts` → Kaynak kod

### Önce/Sonra Karşılaştırması İçin
1. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Detaylı karşılaştırma
2. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Kural Etkinliği
3. `CAPPADOCIA_RULES_SUMMARY.md` → Etki analizi

---

## 🎓 Öğrenme Yolu

### Seviye 1: Başlangıç (5 dakika)
1. `CAPPADOCIA_RULES_SUMMARY.md` → Genel bakış
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural kategorileri

### Seviye 2: Orta (15 dakika)
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Detaylı açıklamalar
2. `test-cappadocia-rules.ts` → Kod örnekleri
3. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Karşılaştırmalar

### Seviye 3: İleri (30 dakika)
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramları
2. `/src/config/cappadocia-rules.ts` → Kural tanımları
3. `/src/db/api.ts` → Kural uygulaması

---

## 🔗 İlgili Bağlantılar

### Kaynak Kod
```
/src/config/cappadocia-rules.ts
  ├── PLACE_TYPE_CATEGORIES (Satır 174-186)
  ├── getPlaceCategory() (Satır 191-197)
  └── isValidForDay() (Satır 273-314)

/src/db/api.ts
  ├── Import (Satır 894-904)
  ├── FLEXIBLE PLACES (Satır 1027-1040)
  └── MIN FILL (Satır 1073-1088)
```

### Dokümantasyon
```
CAPPADOCIA_RULES_QUICK_REF.md      (Hızlı referans)
CAPPADOCIA_RULES_SUMMARY.md        (Özet)
CAPPADOCIA_RULES_ACTIVATION.md     (Detaylı kılavuz)
CAPPADOCIA_RULES_BEFORE_AFTER.md   (Karşılaştırma)
CAPPADOCIA_RULES_FLOW_DIAGRAM.md   (Akış diyagramı)
test-cappadocia-rules.ts           (Test senaryoları)
```

---

## 📊 Dokümantasyon İstatistikleri

| Dosya | Satır | Boyut | Amaç |
|-------|-------|-------|------|
| QUICK_REF | ~250 | 8KB | Hızlı referans |
| SUMMARY | ~150 | 5KB | Özet rapor |
| ACTIVATION | ~400 | 15KB | Detaylı kılavuz |
| BEFORE_AFTER | ~500 | 18KB | Karşılaştırma |
| FLOW_DIAGRAM | ~600 | 22KB | Görsel akış |
| test-cappadocia-rules.ts | ~150 | 5KB | Test kodu |
| **TOPLAM** | **~2050** | **~73KB** | **6 dosya** |

---

## 🎯 Kullanım Senaryoları

### Senaryo 1: Yeni Geliştirici
**Amaç:** Kuralları hızlıca öğrenmek  
**Yol:**
1. `CAPPADOCIA_RULES_SUMMARY.md` → Genel bakış
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural kategorileri
3. `test-cappadocia-rules.ts` → Kod örnekleri

### Senaryo 2: Bug Fix
**Amaç:** Kural davranışını anlamak  
**Yol:**
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramı
2. `/src/config/cappadocia-rules.ts` → isValidForDay()
3. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Beklenen davranış

### Senaryo 3: Yeni Kural Ekleme
**Amaç:** Mevcut yapıyı anlamak  
**Yol:**
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Kural yapısı
2. `/src/config/cappadocia-rules.ts` → PLACE_TYPE_CATEGORIES
3. `/src/db/api.ts` → isValidForDay() kullanımı

### Senaryo 4: Dokümantasyon
**Amaç:** Değişiklikleri belgelemek  
**Yol:**
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Format örneği
2. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Karşılaştırma formatı
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Diyagram formatı

### Senaryo 5: Test Yazma
**Amaç:** Test senaryoları oluşturmak  
**Yol:**
1. `test-cappadocia-rules.ts` → Test örnekleri
2. `CAPPADOCIA_RULES_ACTIVATION.md` → Test senaryoları
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Örnek akışlar

---

## 🚀 Hızlı Komutlar

### Dokümantasyonu Görüntüleme
```bash
# Tüm dokümantasyonu listele
ls -1 CAPPADOCIA_RULES_*.md test-cappadocia-rules.ts

# Hızlı referansı aç
cat CAPPADOCIA_RULES_QUICK_REF.md

# Özeti aç
cat CAPPADOCIA_RULES_SUMMARY.md
```

### Kod Kontrolü
```bash
# Import kontrolü
grep "isValidForDay" src/db/api.ts

# Kullanım kontrolü
grep -A 5 "isValidForDay(place\|isValidForDay(p" src/db/api.ts

# Set tipi kontrolü
grep "Set<string>" src/db/api.ts
```

### Test
```bash
# TypeScript kontrolü
npm run lint

# Kural dosyasını kontrol et
cat src/config/cappadocia-rules.ts | grep -A 10 "isValidForDay"
```

---

## 📞 Destek

### Sorular
- Kural davranışı → `CAPPADOCIA_RULES_FLOW_DIAGRAM.md`
- Kod değişiklikleri → `CAPPADOCIA_RULES_ACTIVATION.md`
- Karşılaştırma → `CAPPADOCIA_RULES_BEFORE_AFTER.md`

### Sorun Giderme
- Beklenmeyen davranış → `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → isValidForDay() akışı
- TypeScript hatası → `CAPPADOCIA_RULES_ACTIVATION.md` → Tip düzeltmesi
- Test başarısız → `test-cappadocia-rules.ts` → Beklenen sonuçlar

---

## ✅ Kontrol Listesi

### Geliştirici İçin
- [ ] `CAPPADOCIA_RULES_SUMMARY.md` okudum
- [ ] `CAPPADOCIA_RULES_QUICK_REF.md` okudum
- [ ] `test-cappadocia-rules.ts` inceledim
- [ ] `/src/config/cappadocia-rules.ts` anladım
- [ ] `/src/db/api.ts` değişikliklerini gördüm

### Test İçin
- [ ] LIMITED kuralı test edildi
- [ ] EXCLUDED kuralı test edildi
- [ ] FLEXIBLE kuralı test edildi
- [ ] FIXED_TIME kuralı test edildi
- [ ] Tekrarlama kuralı test edildi

### Dokümantasyon İçin
- [ ] Tüm dosyalar oluşturuldu
- [ ] Kod örnekleri doğru
- [ ] Diyagramlar anlaşılır
- [ ] Bağlantılar çalışıyor

---

**Versiyon:** 1.0  
**Tarih:** 2025  
**Durum:** ✅ Tamamlandı  
**Toplam Dosya:** 6  
**Toplam Satır:** ~2050  
**Toplam Boyut:** ~73KB
