Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Claude Code'da Maliyet, Usage Limit'leri ve Güvenli Kullanım: Kontrol Listesi
Claude Code'da maliyetin büyük kısmı her istekte yeniden gönderilen context'ten gelir; prompt cache bunu ucuzlatır ama molalarda soğur, model ve fast mode geçişlerinde sıfırlanır. /usage, status line ve /insights ile görmek, abonelik ve API farkı, 15 Kasım 2026 API fiyatları, model ve effort seçimi, Bookstore'un güvenli kullanım kontrol listesi ve user-secrets için deny kuralı.
Claude Agent SDK'ya Giriş: Claude Code'u Kütüphane Olarak Kullanmak
Claude Agent SDK, Claude Code'un tool'larını, agent loop'unu ve permission sistemini TypeScript ve Python'dan çağırmanı sağlar; her query() ayrı bir Claude Code süreci başlatır. Bookstore için gece çalışan bir bağımlılık raporu agent'ı: settingSources, tools, allowedTools ve dontAsk ile dar yetki, structured output, tur ve bütçe sınırı, env tuzağı ve GitHub Actions ile zamanlama.
Ekipte Claude Code: Paylaşılan .claude Klasörü, Plugin'ler, Output Style'lar ve Managed Settings
Ekipte Claude Code ayarını paylaşmanın yolu, skill, subagent, hook ve MCP ayarını bir plugin'de toplayıp repo'daki bir marketplace'ten dağıtmaktır; organizasyon da managed settings ile girişi, sürümü, marketplace'leri ve hook'ları sınırlar. Bookstore için bookstore-dev plugin'i, adların ve izin kurallarının değişmesi, code intelligence plugin'leri, Learning ve özel output style, allowManagedHooksOnly ve CI'daki etkisi.
Headless Claude Code ve CI: `claude -p`, GitHub Actions ve Pull Request Review
Claude Code'u script'ten ve CI'dan claude -p ile çalıştırırsın; --bare proje hook'larını ve MCP server'larını dışarıda bırakır, dontAsk soru sorulacak her çağrıyı reddeder, --max-turns ve --max-budget-usd maliyeti sınırlar. Structured output ile release note taslağı, anthropics/claude-code-action@v1 ile @claude ve PR review workflow'ları, kimlik bilgisi seçenekleri, Code Review ve /code-review ultra farkı.
Paralel Çalışma: Worktree'ler, Desktop, Cloud Session'ları ve Mobilden Takip
Claude Code'da paralel iş için her session'ı claude --worktree ile kendi git worktree'sinde başlat; dosyalar ayrılır ama user-secrets, veritabanı ve port'lar ayrılmaz. Worktree temizliği, .worktreeinclude, paylaşılan onaylar ve hook'lar, Bookstore için worktree başına veritabanı; Desktop, VS Code ve JetBrains, cloud session'ları, --teleport, Remote Control ve mobil uygulama.
Claude Code'a MCP Server Bağlamak: Bookstore MCP Server'ı, Veritabanı ve Tarayıcı
Claude Code'a MCP server'ı claude mcp add ile ya da ekip için repo kökündeki .mcp.json ile bağlarsın; proje server'ları interaktif session'da onay ister, claude -p'de sorulmadan yüklenir. Scope'lar, ${VAR} genişletmesi, tool search ve çıktı sınırları; Bookstore için C# MCP server'ı, salt okunur login ve DBHub ile SQL Server, Playwright MCP ve ui-tester subagent'ı.
Claude Code Hooks: Kuralları Zorlamak, Formatlamak ve Testleri Otomatik Çalıştırmak
Claude Code'da bir kuralı kesin uygulamanın yolu CLAUDE.md değil hook'tur: Claude Code belli bir anda senin script'ini çalıştırır ve exit code 2 ya da deny kararı tool çağrısını durdurur. Event, matcher ve handler yapısı, stdin JSON'u, exit code'lar, PowerShell ile Windows'ta hook yazmak; Bookstore için commit'lenmiş migration koruması, değişen dosyayı formatlama, test çıktısını kısaltma ve Stop kontrolü.
Claude Code'da Subagent'lar: Context'i Bölmek, Uzmanlaştırmak ve Paralel Çalıştırmak
Claude Code'da subagent, ana session'ın bir yan işi devrettiği ve kendi context window'unda çalışan ayrı bir Claude örneğidir: konuşma geçmişini görmez, CLAUDE.md'yi görür ve ana konuşmaya yalnız özet döndürür. .claude/agents/ dosya formatı, tools allowlist'i, model ve memory alanları, arka plan ve fork, worktree izolasyonu; Bookstore için ef-query-reviewer, angular-a11y-checker ve test-runner.
Claude Code'da Skills ve Slash Command'lar: Tekrar Eden İşleri Paketlemek
Claude Code'da tekrar eden bir prosedürün yeri CLAUDE.md değil skill'dir: session başında yalnız açıklaması listelenir, içeriği çağrılınca yüklenir; yan etkili işlerde disable-model-invocation ile yalnız senin çağırmana izin verilir. Bundled skill'ler, custom command'ların skill'lerle birleşmesi, konumlar ve öncelik, allowed-tools'un kısıt değil izin olması, Bookstore için /add-migration ve angular-component skill'leri.
Plan Mode ve Günlük İş Akışı: Keşfet, Planla, Uygula, Doğrula ve Context'i Yönetmek
Claude Code'da büyük bir özelliği güvenle yaptırmanın yolu önce plan mode'da dosya listesi içeren bir plan almak, onu Ctrl+G ile düzeltip onaylamak ve her doğrulanan katmandan sonra commit atmaktır; checkpoint'ler Bash'in değiştirdiği dosyaları ve veritabanını geri almaz. Plan onay seçenekleri, /goal ile bitiş koşulu, compaction ve Compact Instructions, /clear, /resume, /branch ve /rewind.
Permission Mode'ları, Settings ve Sandbox: Claude Code'u Kontrollü Çalıştırmak
Claude Code'da neye izin verildiğini CLAUDE.md değil, Claude Code'un kendisinin uyguladığı permission kuralları belirler: deny her seviyede ve her modda kazanır, ama Bash kuralı programı değil komut metnini eşler. Altı permission mode, Auto mode classifier'ı, settings.json katmanları ve öncelik, allow/ask/deny sözdizimi, Bookstore'un ekip ayarları ve native Windows'ta olmayan sandbox.
CLAUDE.md ve Memory: Claude Code'a Projenizi Öğretmek
CLAUDE.md bir kural motoru değil, context'tir: Claude onu system prompt'tan sonra bir mesaj olarak okur ve uymaya çalışır, ama kesin engel için permission kuralı ya da hook gerekir. Dosya konumları ve yüklenme sırası, 200 satır sınırı, import'lar, .claude/rules/ ile path'e özel kurallar, AGENTS.md desteği, auto memory ve Bookstore için kısa bir CLAUDE.md.