# Claude Code Plan Mode: AI ile Yazılım Mimarisi Planlama
"Önce plan, sonra kod" — yazılım gelistirmenin en eski kurallarindan biri. Claude Code'un Plan Mode'u bu prensibi AI ile birleştiriyor: codebase'ini analiz eder, değişiklik haritasi cikarir, onayini alir ve tek seferde uygular. Bu yazida Plan Mode'un nasil calistigindan, CLAUDE.md yapilandirmasina, exploration stratejisinden approval workflow'a kadar her seyi ogrenecegiz.
Not: Bu rehber Claude Code resmi dokumantasyonu, Anthropic haberleri ve 100+ Plan Mode session deneyimine dayanmaktadir.
İçindekiler
- Plan Mode Nedir?
- Normal Mode vs Plan Mode
- Plan Mode Çalışma Akışi
- CLAUDE.md ile Proje Hafizasi
- Codebase Exploration Stratejisi
- Değişiklik Haritasi Oluşturma
- Approval Workflow
- Boris Cherny EPCT+ Entegrasyonu
- Gerçek Proje Örnekleri
- Sonuç ve Öneriler
1. Plan Mode Nedir?
Plan Mode, Claude Code'un önce dusunup sonra hareket etmesini sağlayan bir çalışma modudur. Normal modda Claude hemen kod yazmaya başlar; Plan Mode'da ise önce analiz yapar, plan cikarir, onayini alir ve sonra uygular.
Temel Farklar
Özellik | Normal Mode | Plan Mode |
|---|---|---|
Başlangıç | Hemen kodlama | Önce analiz |
Dosya degisikligi | Aninda | Onay sonrasi |
Risk | Yanlış değişiklik | Dusuk (onay var) |
Hız | Hızlı | Daha yavaş ama guvenlir |
Büyük değişiklik | Riskli | Ideal |
Karmaşık mimari | Eksik analiz | Kapsamli |
Pro Tip: Plan Mode'u 3+ dosya degisecek her durumda kullan. 1-2 dosyalik değişiklikler için normal mode yeterli.
2. Normal Mode vs Plan Mode
Normal Mode
swift
1Kullanıcı: "Header'a dark mode toggle ekle"2Claude: [Hemen header.tsx'i acar, kodu degistirir]3 [Belki context'i kacirir, eksik kalir]Plan Mode
swift
1Kullanıcı: "Header'a dark mode toggle ekle"2Claude: [önce header.tsx, theme-provider, layout.tsx okur]3 [Bagimliliklari analiz eder]4 [Plan cikarir: 4 dosya, 3 adım]5 [Onay bekler]6 [Tek seferde uygular]3. Plan Mode Çalışma Akışi
Plan Mode su adımlardan olusur:
Adım 1: Exploration (Kesfetme)
Claude Code codebase'i tarar:
swift
11. Glob ile dosya yapısı kesfet22. Grep ile pattern'leri bul33. Read ile kritik dosyalari oku44. Import/export zincirlerini takip et55. Bagimliliklari haritalaAdım 2: Analysis (Analiz)
Toplanan bilgilerle değişiklik planini olusturur:
swift
1Değişiklik Haritasi:2├-- src/components/header.tsx (DUZENLEME)3│ ├-- DarkModeToggle component import4│ └-- Toggle buton ekleme5├-- src/providers/theme-provider.tsx (YENI DOSYA)6│ ├-- ThemeContext oluşturma7│ └-- useTheme hook export8├-- src/app/layout.tsx (DUZENLEME)9│ └-- ThemeProvider wrapper ekleme10└-- src/styles/globals.css (DUZENLEME)11 └-- Dark mode CSS değişkenleriAdım 3: Approval (Onay)
Kullanıcı plani inceler:
- Onaylarsa: Claude tek seferde uygular
- Degistirirse: Claude plani günceller
- Reddederse: Hicbir dosya değişmez
Adım 4: Execution (Uygulama)
Onaylanan plan tek seferde, tutarlı şekilde uygulanir.
4. CLAUDE.md ile Proje Hafizasi
CLAUDE.md dosyasi, Claude Code'un proje hakkindaki "hafizasi"dir. Plan Mode'da bu dosya kritik oneme sahiptir:
markdown
1# Proje Adi2 3## Tech Stack4- Next.js 15, React 19, TypeScript, Tailwind CSS5- Static export (middleware/server actions KULLANILAMAZ)6 7## Golden Rules81. Build sadece sunucuda — local build YASAK92. LazyMotion zorunlu (motion değil, m component kullan)103. use client + generateStaticParams ayni dosyada OLMAZ11 12## Code Rules13 14### TypeScript15- Strict mode, any YASAK16- Interface for objects, type for unions17 18### React19- Hooks sirasi: useState > useRef > custom > useEffect > handlers > return20 21### Tailwind22- Mobile-first: base > sm > md > lg > xl23 24## Commands25- /deploy: rsync + build + copy + verify26- /audit: Sayfa bazli site denetimiCLAUDE.md Yerlesim Hiyerarsisi
swift
1~/.claude/CLAUDE.md # Global (tum projeler)2~/proje/.claude/CLAUDE.md # Proje spesifik3~/proje/CLAUDE.md # Proje root (version controlled)4~/proje/.claude/rules/*.md # Ek kurallarClaude Code bu dosyalari su oncelik sirasinda okur:
- Global CLAUDE.md
- Proje CLAUDE.md
- Rules dizinindeki .md dosyalari
Pro Tip: CLAUDE.md'ye "Golden Rules" bolumu ekle — Claude'un ASLA yapmamasi gereken şeyler. Bu, Plan Mode'da ozellikle önemli cunku Claude kurallari planlama aşamasinda kontrol eder.
5. Codebase Exploration Stratejisi
Plan Mode'un en kritik aşamasi doğru exploration'dir:
Strateji 1: Top-Down
swift
11. Proje root'u incele (package.json, tsconfig, next.config)22. src/ dizin yapısıni tara33. Hedef dosyalari oku44. Import zincirlerini takip etStrateji 2: Bottom-Up
swift
11. Degisecek dosyayi oku22. Bu dosyayi import eden dosyalari bul33. Bagimliliklari haritalat44. Etki alanini belirleStrateji 3: Grep-First
swift
11. Anahtar kelimeyi tum codebase'de ara22. Tum kullanım noktalarini belirle33. Propagasyon haritasi çıkar44. Değişiklik planini oluşturtypescript
1// Örnek: "stats" değerini değiştirmek istiyorsun2// Grep-first strateji:3 4// 1. Tum kaynaklari tara5Grep({ pattern: "60\+", path: "src/" })6// Sonuç: 8 dosyada 12 kullanım7 8// 2. Her kullanımi incele9Read({ file_path: "src/lib/constants.ts" }) // Ana kaynak10Read({ file_path: "src/components/about.tsx" }) // UI11Read({ file_path: "src/app/layout.tsx" }) // SEO12 13// 3. Değişiklik haritasi:14// constants.ts → about.tsx → layout.tsx → seo-config.ts15// 4 dosya, 12 yer, tek tutarlı değişiklikBu yaklaşım SwiftUI Performance yazimizda anlattigimiz "önce ölç sonra optimize et" prensibiyle birebir oturuyor.
6. Değişiklik Haritasi Oluşturma
Iyi bir değişiklik haritasi su unsurlari icerir:
markdown
1## Değişiklik Haritasi2 3### Etkilenen Dosyalar (5 dosya)4 5| Dosya | İşlem | Satir | Risk |6|-------|-------|-------|------|7| src/lib/constants.ts | DUZENLE | ~20 | Dusuk |8| src/components/header.tsx | DUZENLE | ~50 | Orta |9| src/providers/theme.tsx | YENI | ~80 | Dusuk |10| src/app/layout.tsx | DUZENLE | ~10 | Yuksek |11| src/styles/globals.css | DUZENLE | ~30 | Dusuk |12 13### Bagimllik Zinciri14constants.ts → header.tsx → layout.tsx15 → theme.tsx (yeni)16 17### Riskler18- layout.tsx degisikligi tum sayfalari etkiler19- Theme provider SSR/hydration uyumlulugu kontrol edilmeli20- globals.css degisikligi cascade etkisi yaratabilir21 22### Test Plani231. Build başarılı mi?242. Homepage doğru render mi?253. Dark/light toggle çalışıyor mu?264. Hydration hatasi var mi?7. Approval Workflow
Plan Mode'da onay süreci su şekilde işler:
Interaktif Onay
swift
1Claude: Değişiklik plani hazir. 5 dosya, 3 yeni fonksiyon.2 3[Plan detaylari...]4 5Onayliyor musunuz? (Evet / Değiştir / Iptal)6 7Kullanıcı: "Layout.tsx degisikligini biraz daha detaylandir"8 9Claude: [Plani günceller, tekrar sunar]10 11Kullanıcı: "Tamam, uygula"12 13Claude: [5 dosyayi tek seferde degistirir]Otomatik Plan Mode
settings.json ile varsayılan mod olarak ayarlayabilirsin:
json
1{2 "permissions": {3 "defaultMode": "plan"4 }5}Plan Mode Kisayollari
Kisayol | Açıklama |
|---|---|
Shift+Tab | Normal ve Plan Mode arasinda geçis |
/plan | Plan Mode'a geç (CLI) |
Tab Tab | VS Code'da mod değiştirme |
8. Boris Cherny EPCT+ Entegrasyonu
Plan Mode, Boris Cherny'nin EPCT+ workflow'u ile mukemmel uyum sağlar:
swift
1EPCT+ Fazlari:21. Explore — CLAUDE.md + MEMORY.md oku, codebase tara32. Plan — Plan Mode'da değişiklik haritasi çıkar, onay al43. Code — Onaylanan plani tek seferde uygula54. Test — Lint/analyze/build çalıştır65. Verify — Canli doğrulama (Playwright, curl)76. Document — MEMORY.md + lessons.md güncelleKarmaşıklık Kademesi
Karmaşıklık | Yöntem | Plan Mode? |
|---|---|---|
Trivial (1-2 satir) | Read-Edit-Verify | Hayir |
Normal (3-10 satir) | Explore-Code-Test | Opsiyonel |
Karmaşık (3+ dosya) | Full EPCT+ Sprint | ZORUNLU |
typescript
1// Örnek: Karmaşık is - Plan Mode zorunlu2// "19 yeni proje ekle" gorevi3 4// Explore: Mevcut proje yapısı, interface, standards5// Plan: 19 proje x 11K karakter = ~200K içerik, 5 paralel agent6// Code: Her agent 3-4 proje yazar (paralel)7// Test: TypeScript strict, lint, build8// Verify: Playwright canli test (82 assertion)9// Document: MEMORY.md + worklog güncelleiOS Design Patterns yazimizda anlattigimiz SOLID prensipleri gibi — Plan Mode da Single Responsibility prensibini uygular: önce planla, sonra kodla.
9. Gerçek Proje Örnekleri
Örnek 1: Blog Sistemi Genişletme
markdown
1Gorev: 94 blog'a 7 yeni blog ekle (part15)2 3Plan:41. Mevcut blog yapısıni incele (blog-data.ts, interface)52. Slug benzersizligini kontrol et (94 mevcut slug)63. blog-posts-part15.ts oluştur (7 blog, 10K+ karakter)74. blog-data.ts'e import ekle85. RSS güncelle (94 > 101)9 10Etkilenen Dosyalar:11- blog-posts-part15.ts (YENI)12- blog-data.ts (IMPORT)13- public/rss.xml (GUNCELLE)Örnek 2: Admin Panel Overhaul
markdown
1Gorev: Admin panele analytics dashboard ekle2 3Plan:41. Recharts kutuphane kurulumu52. page-tracking.ts servis oluştur63. analytics/page.tsx dashboard sayfasi74. Sidebar link ekleme85. Firestore rules güncelleme9 10Etkilenen Dosyalar: 6 dosya (2 yeni + 4 güncelleme)11Sprint: 4 faz, multi-agent ile 2. ve 3. paralelÖrnek 3: SEO Audit Fix
markdown
1Gorev: 11 sayfa SEO metadata zenginlestirme2 3Plan:41. Tum layout.tsx dosyalarini tara52. Eksik Schema.org, OG, Twitter Card belirle63. Her sayfanin meta description uzunlugu kontrol74. Toplu güncelleme (Grep-first strateji)8 9Etkilenen Dosyalar: 12 layout.tsx + sitemap.tsFirebase Advanced Patterns yazimizda anlatilanlar gibi — büyük değişiklikler oncesinde tum bağımlılık zincirini görmek kritik.
10. Sonuç ve Öneriler
Plan Mode, büyük degisikliklerde hata riskini minimize eden en etkili yaklasimdir. "Önce düşün, sonra kodla" prensibi AI ile birlestigi zaman muhteşem sonuçlar ortaya çıkıyor. Plan sonrasi hook'larla kalite kontrolu ekleyerek süreci daha da saglam hale getirebilirsin. MCP entegrasyonu hakkinda detaylar için MCP rehberimize goz atabilirsin.
Öneriler:
- 3+ dosya kurali — 3 dosya degisecekse Plan Mode zorunlu
- CLAUDE.md zenginlestir — Ne kadar bilgi verirsen o kadar iyi plan çıkar
- Exploration atla — Plan Mode'un güçunu exploration yapar
- Onay ver — Plani incele, gerekirse revize et
- EPCT+ kullan — Plan Mode, EPCT+ workflow'unun 2. fazidir
ALTIN İPUCU
Bu yazının en değerli bilgisi
Bu ipucu, yazının en önemli çıkarımını içeriyor.
Easter Egg
Gizli bir bilgi buldun!
Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?
Okuyucu Ödülü
🎉 **Sonuna Kadar Okuyan Kahraman!** Tebrikler! Iste sana özel bir CLAUDE.md template'i: [Claude Code CLAUDE.md örnekleri](https://github.com/anthropics/claude-code) reposundaki docs/ dizininde duzinelerce gerçek dunya CLAUDE.md ornegi var. Kendi projenize uyarlayarak baslayabilirsiniz.

