External Publication
Visit Post

Claude Code 101

Ahmet Çadırcı June 16, 2026
Source

Claude Code 101; yazılım mühendisliğine yeni başlayan geliştiriciler veya yapay zekâ kodlama ajanlarını henüz keşfetmemiş deneyimli mühendisler için tasarlanmıştır. Kurulumdan gelişmiş özelleştirmelere kadar her konuda size rehberlik ederek Claude Code’u günlük iş akışınızda nasıl etkili bir şekilde kullanacağınızı öğretir.

  • Claude Code Nedir?
  • Claude Code Nasıl Çalışır?
  • Claude Code Kurulumu
  • İlk İsteminiz
  • Keşfet → Planla → Kodla → Gönder (Commit) İş Akışı
  • Bağlam Yönetimi
  • Kod İnceleme (Code Review)
  • CLAUDE.md Dosyası
  • Alt Ajanlar (Subagents)
  • Yetenekler (Skills)
  • MCP
  • Kancalar (Hooks)

Claude Code Nedir?

Claude Code; kod tabanınızı anlayan, dosyalarınızı düzenleyen, komutlar çalıştıran ve işlerinizi daha hızlı halletmenize yardımcı olmak için mevcut geliştirici araçlarınızla entegre olan yapay zekâ tabanlı (ajan nitelikli) bir kodlama aracıdır. Terminalinizde, Visual Studio Code’da, Claude Masaüstü uygulamasında, web üzerinde ve JetBrains IDE’lerinde kullanılabilir.

Claude Code’u Claude’dan Ayıran Nedir?

Daha önce Claude.ai kullandıysanız Claude Code’un farkının ne olduğunu merak ediyor olabilirsiniz. Claude.ai’ın aksine Claude Code; dosyalarınıza, terminalinize ve tüm kod tabanınıza doğrudan erişebilir. Kodu sürekli ileri geri kopyalayıp yapıştırmak yerine, doğrudan işin içine girer ve görevi kendisi halleder.

En önemli fark, Claude Code’un bir Yapay Zekâ Ajanı (AI Agent) olarak çalışmasıdır.

Ajan (Agent) Nedir?

Yapay Zekâ Ajanı, çevresiyle etkileşime girebilen ve belirlenmiş bir hedefi tamamlamak için eylemler gerçekleştirebilen bir yazılımdır. Bu sistem, temelinde büyük bir dil modelinin gerçek zamanlı bir döngü içinde çalışmasıyla işler. Yapay zekâ ajanları, hedeflerine ulaşmak için araçlara, harici hizmetlere ve hatta diğer yapay zekâ ajanlarına erişim sağlayabilir.

Claude Code Gerçekte Ne Yapabilir?

Pratikte süreç şu şekilde işler:

  • Kod tabanınızı okur ve anlar. Claude Code’dan bir özelliği açıklamasını veya kodunuzdaki bir hatanın izini sürmesini isteyebilirsiniz.
  • Projeniz genelindeki dosyaları düzenler. Claude Code bir fonksiyonu yeniden yapılandırabilir (refactor) ve ona referans veren her dosyayı güncelleyebilir.
  • Terminal komutlarını çalıştırır. Derleme (build) betiğinizi yürütebilir, testlerinizi çalıştırabilir, paketleri yükleyebilir ve bir sonraki adımda ne yapacağına karar vermek için bu çıktıları kullanabilir.
  • Web’de arama yapar. Dokümantasyona veya en güncel API referanslarına ihtiyaç duyduğunda bunları sizin için araştırabilir.

Claude Code’u Etkili Kullanmak

Claude Code’u etkili bir şekilde kullanmak için şu üç kavramı aklınızda bulundurun:

Bağlam penceresi (Context window). Bunu Claude’un çalışma belleği gibi düşünün. Çok fazla bilgi barındırabilir ancak her şeyi aynı anda tutamaz. “Ajan” niteliği tam da bu noktada devreye girer; Claude, tüm kod tabanını bağlama yüklemek yerine, kodunuzun içindeki yanıtları bulmak için stratejik yollar geliştirir.

İzin ister. Claude Code, varsayılan olarak komutları çalıştırmadan veya değişiklik yapmadan önce size sorar. İster sürece doğrudan dahil olmayı ister arkaya yaslanıp izlemeyi tercih edin, kontrol her zaman sizdedir.

Hata yapabilir. Her araç gibi Claude Code da kusursuz değildir. Amacınızı yanlış anlayabilir, bir hataya (bug) yol açabilir veya bir çözümü gereğinden fazla karmaşıklaştırabilir (over-engineer). Sürecin içinde kalmanız, bunları erkenden yakalamanıza yardımcı olur.

Özet

Claude Code, yapay zekâ tabanlı bir kodlama aracıdır. Kod tabanınızı okur, dosyalarınızı düzenler, komutlar çalıştırır ve daha hızlı ürün sunmanıza (ship) yardımcı olmak için harici araçlara bağlanır. Kendisini terminalinizde, VS Code’da, JetBrains’te ve Claude Masaüstü uygulamasında hemen bugün kullanmaya başlayabilirsiniz.


Claude Code Nasıl Çalışır?

Claude Code, tipik sohbet uygulamalarından farklıdır. Arka planda nasıl çalıştığını anlamak, onu daha etkili bir şekilde kullanmanıza yardımcı olacaktır.

Ajan Döngüsü (The Agentic Loop)

Claude Code’u açıklamanın en iyi yolu ajan döngüsü mantığıdır:

  1. Claude Code’a bir istem (prompt) girersiniz.
  2. Claude, modelle etkileşime girerek ihtiyaç duyduğu bağlamı toplar; model, Claude Code’un yürütebileceği bir metin ya da araç çağrısı (tool call) döndürür.
  3. Eyleme geçer; örneğin bir dosyayı düzenler veya bir komut çalıştırır.
  4. Sonuçları doğrular ve bunların isteminizin hedeflediği amaca ulaşıp ulaşmadığını belirler.
  5. Amaca ulaşıldıysa Claude işlemi sonlandırır ve bir sonraki istemi bekler. Ulaşılmadıysa döngüye geri döner ve sonuçlar eksiksiz ve doğrulanabilir olana kadar tekrar dener.

Bu döngü boyunca bağlam ekleyebilir, süreci kesebilir veya hedefinize ulaşması için modeli yönlendirebilirsiniz.

Bağlam (Context)

Claude, konuşmanızın ne kadarını, dosya içeriklerini, komut çıktılarını ve daha fazlasını depolayabileceğini ve bunlara referans verebileceğini belirleyen bir bağlam penceresine (context window) sahiptir. Bu sınıra ulaştığınızda Claude Code konuşmanızı sıkıştırır; bağlam penceresini yeniden kullanılabilir bir boyuta getirmek için neleri kaldırabileceğini veya özetleyebileceğini otomatik olarak belirler.

Araçlar (Tools)

Araçlar, ajanların çalışma mantığının temelini oluşturur. Çoğu yapay zekâ asistanı yalnızca metin alır ve metin döndürür. Araçlar ise Claude Code’un bir görevi tamamlamaya yaklaşmak için ne zaman kod yürüteceğini belirlemesini sağlar. Bu; bir dosya okuma aracı, bir web arama aracı veya başka pek çok yetenek olabilir. Claude Code, bir aracı ne zaman çağıracağını ve çıktısını nasıl kullanacağını belirlemek için anlamsal kavrayıştan (semantic understanding) yararlanır.

İzinler (Permissions)

Claude Code’un birkaç izin modu vardır:

  • Varsayılan davranış: Claude, bir dosyayı düzenlemeden veya bir kabuk (shell) komutu çalıştırmadan önce açıkça izin ister.
  • Otomatik onay (Auto-accept): Dosyalar sorulmadan düzenlenir ancak komutlar hâlâ onay gerektirir.
  • Plan modu: Herhangi bir işe başlamadan önce bir eylem planı derlemek için salt okunur (read-only) araçları kullanır.

Tüm bunlar ayar dosyanızdan yapılandırılabilir. İzinleri atlama konusunda temkinli olun; Claude Code’a komutları çalıştırması için tamamen serbestlik tanımak, olası bir hatayı gerçekleşmeden önce yakalamayı zorlaştırabilir.

Özet

Claude Code; ajan döngüsü, yönetilen bir bağlam penceresi, araçlar ve yapılandırılabilir izinler gibi birkaç ajan tabanlı kavramı doğrudan terminalinizde bir araya getirir. Kod tabanınızı okuyabilir, eyleme geçebilir ve kendi işini doğrulayabilir. Onu bir sohbet penceresinden temel olarak farklı kılan da budur.


Claude Code Kurulumu

Claude Code; terminalinizde, web üzerinde veya IDE’nizde kullanmak istemenize bakılmaksızın kolayca kurulabilir.

Terminal

macOS, Linux veya WSL üzerinde, tek seferde kurmak için curl komutunu kullanın. Homebrew tercih ediyorsanız brew install komutundan da yararlanabilirsiniz; ancak bu yöntemin otomatik güncellemeleri desteklemediğini unutmayın.

Windows için birkaç seçenek mevcuttur. PowerShell’de Invoke-RestMethod komutunu, CMD’de ise curl komutunu kullanın. Ayrıca bir winget komutu da mevcuttur; fakat bu da Homebrew gibi otomatik güncelleme yapmayacaktır.

Kurulumdan sonra claude komutunu çalıştırabilmeniz gerekir. Çalıştıramıyorsanız terminalinizi yeniden başlatın. Proje dizininize gidin ve şu komutu yürütün:

claude

Renk temanızı seçmek ve Claude hesabınızla (Pro, Max veya Enterprise) giriş yapmak ya da bir API anahtarı kullanmak gibi bazı ilk kurulum adımlarından geçeceksiniz. Kuruluşunuzun bir Claude Enterprise hesabı varsa bu seçeneği belirlediğinizden emin olun.

claude komutunu hangi dizinde çalıştırırsanız çalıştırın, araç o dizine ve onun tüm alt klasörlerine erişim hakkına sahip olacaktır.

Visual Studio Code

Uzantılar (Extensions) panelini açın ve “Claude Code” araması yapın. Anthropic tarafından geliştirilen, mavi onay işaretli uzantıyı bulun ve yükle (install) butonuna basın.

Kurulumdan sonra VS Code’u yeniden başlatmanız gerekebilir. Çalışmaya başladığında, Ctrl/Cmd + Shift + P ile komut paletini açın ve “Claude Code Open in New Tab” araması yapın. Ayrıca yan çubuğunuzda görünüyorsa Claude logosuna da tıklayabilirsiniz.

VS Code uzantısı, terminale oldukça benzer bir deneyim sunar. Dilerseniz arayüzü (UI) devre dışı bırakıp doğrudan terminal deneyimini kullanmayı da ayarlarınızdan seçebilirsiniz.

JetBrains

JetBrains Marketplace üzerinden Claude Code eklentisini yükleyin. Kurulumun ardından IDE’nizi yeniden başlatın. Tekrar açtığınızda Claude logosunu göreceksiniz. Logoya tıkladığınızda, editörünüzle birlikte çalışan ve terminal deneyimi sunan bir panel açılacaktır.

Masaüstü (Desktop)

Claude Desktop uygulamasını kurup giriş yaptıktan sonra, üst kısımda “Code” etiketli bir geçiş düğmesi göreceksiniz. Görünüm ve his olarak sohbet kısmına benzer olsa da belirli bir klasörde çalışmanıza, izinleri değiştirmenize ve hatta bir bulut ortamında faaliyet göstermenize olanak tanır.

Web

Web üzerinde Claude Code’a erişmek için claude.ai/code adresine gidin veya sohbet uygulamasının yan çubuğundaki “Code” etiketine tıklayın. Bu süreç masaüstü uygulamasına benzer şekilde işler ancak GitHub depoları (repositories) ile sınırlısınızdır.

Hangisini Kullanmalıyım?

Her zaman en güncel özellikleri ilk elden deneyimlemek istiyorsanız terminal en iyi tercihinizdir; yeni özellikler ilk olarak orada yayınlanır. Claude Code’un kod editörünüzle daha iç içe hissettirmesini istiyorsanız IDE entegrasyonları neredeyse aynı deneyimi sunar.

Siz diğer işlerinizi hallederken Claude’un arka planda çalışmasına izin vermek için Masaüstü uygulaması harikadır.

Projeleriniz üzerinde bir GitHub deposu aracılığıyla uzaktan çalışmak istiyorsanız web tabanlı Claude Code sağlam bir seçenektir.

Claude Code’u nasıl kullanmak istediğiniz tamamen size kalmış.


İlk İsteminiz

Claude Code ile diğer yapay zekâ asistanlarında olduğu gibi konuşabilirsiniz. İstemlerinizi girerken hem güvenliğinizi sağlayacak hem de işinizi kolaylaştıracak bazı noktaları aşağıda bulabilirsiniz.

Otomatik Onay ve Manuel Onay Karşılaştırması

Claude’un önerdiği her dosya değişikliğini otomatik olarak onaylamasını mı, yoksa her seferinde sizden açıkça izin istemesini mi tercih edeceğinizi seçebilirsiniz. Modlar arasında geçiş yapmak için Shift + Tab tuşlarına basın.

  • Manuel onay modu (Approval mode): Claude, bir dosyayı düzenlemek veya bir komut çalıştırmak istediği her seferinde sizden izin ister.
  • Otomatik onay modu (Auto-accept mode): Dosya düzenlemeleri otomatik olarak onaylanır ancak komutlar hâlâ izninize tabi kalır.

Burada doğru ya da yanlış bir seçenek yoktur; tamamen hangisinde kendinizi rahat hissettiğinizle ilgilidir.

Plan Modu

Shift + Tab menüsünün içinde Plan Modu (Plan Mode) yer alır. Plan modu, isteminizi alır ve kod tabanınızı analiz edip önerdiğiniz uygulamayı araştırmak için salt okunur (read-only) araçları kullanır. Süreç boyunca durumu netleştiren sorular sorar ve ardından yürütebileceği detaylı bir plan sunar.

Plan modu; karmaşık değişiklikleri planlamak veya güvenli bir kod incelemesi (code review) yapmak için harikadır. Çoğu zaman Claude’dan bir özelliğe yönelik çok adımlı uygulamaları üstlenmesini istersiniz; Plan Modu tam olarak bu noktada öne çıkar.

Örnek: Karanlık Mod Geçiş Düğmesi Ekleme

Bir örnek üzerinden ilerleyelim. Karanlık mod (dark mode) geçiş düğmesine ihtiyaç duyan bir uygulamanız olduğunu varsayalım. Projenizin kök dizinini açın ve claude komutunu çalıştırın. Plan Modu’na girmek için Shift + Tab tuşlarına birkaç kez basın ve ardından şu şekilde bir istem yazın:

My app needs a dark mode implemented across the entire app. Can you create a toggle switch on the header that allows a user to toggle between light mode and dark mode? I need you to find a good contrast color that works based on my existing light theme.

(Uygulamamın tamamında karanlık modun uygulanması gerekiyor. Üst bilgi (header) kısmına, kullanıcının açık mod ile karanlık mod arasında geçiş yapmasını sağlayan bir anahtar düğme ekleyebilir misin? Mevcut açık temama göre işe yarayacak iyi bir kontrast renk bulmanı istiyorum.)

Bırakın planlamayı Claude yapsın. Planı inceledikten sonra her şey yolunda görünüyorsa onaylayın ve Claude’un her adımda sizden izin istemesine izin verin. İşlem bittiğinde, Claude’un tam olarak ne yaptığını ve bu sonuçlara nasıl ulaştığını net bir şekilde görebilirsiniz.

Özet

Claude Code’u kullanırken isteminizde olabildiğince açıklayıcı olmaya çalışın. Her adımda sürecin içinde kalmak isterseniz bunu yapabilirsiniz. Herhangi bir kodu yürütmeye başlamadan önce Claude’un ulaşmak istediğiniz hedefin ayrıntılarına inmesini sağlamak için Plan Modu’nu kullanın.


Keşfet → Planla → Kodla → Gönder (Commit) İş Akışı

Bu eğitimden aklınızda tek bir şey kalacaksa, o da şu iş akışı olsun: Keşfet, Planla, Kodla ve Gönder. Bu akış olmadığında çoğu kişi doğrudan Claude’dan kod yazmasını ister; bu da daha sonra sürecin ortasında daha fazla düzeltme yapılması gerektiği anlamına gelir.

Keşfet ve Planla

Bu ilk iki adımı halletmenin en hızlı yolu Plan Modu (Plan Mode) kullanmaktır. Plan modunda Claude dosyaları düzenleyemez; uygulamayı nasıl ele alacağına dair bilgi toplamak için yalnızca dosyaları okur.

Plan moduna girmek için metin girişinin altında “Plan Mode” yazısını görene kadar Shift + Tab tuşlarına basın. Ardından şöyle bir istem yazın:

I need to add WebP conversion to our image upload pipeline. Figure out where in the pipeline it should happen, whether we need new dependencies, and how to approach it.

(Görsel yükleme işlem hattımıza (pipeline) WebP dönüştürme özelliği eklemem gerekiyor. Bu işlemin hattın neresinde gerçekleşmesi gerektiğini, yeni bağımlılıklara ihtiyacımız olup olmadığını ve konuya nasıl yaklaşılması gerektiğini belirle.)

Claude ilgili dosyaları okuyacak, bazı web aramaları yapacak ve size bir eylem planı sunacaktır. Planı inceleyin ve kriterlerinizi karşılayıp karşılamadığına karar verin. Karşılamıyorsa belirli alanları revize etmesini isteyin.

Süreci düzeltmek için en iyi yer burasıdır çünkü henüz hiçbir kod yazılmamıştır. Sonrasında değişiklik yapma niyetiniz olmadan yalnızca kod tabanınızın genel bir özetini istiyorsanız, plan modunda olmadan da keşif alt ajanını (explore subagent) çalıştırabilirsiniz.

Kodla

Plan iyi göründüğünde, planı kabul etmek için “approve” (onayla) seçeneğini belirleyin ve Claude’un listedeki maddeler üzerinde çalışmasına izin verin. Claude’un dosya düzenlemelerini otomatik olarak mı onaylayacağını yoksa her seferinde size mi soracağını seçebilirsiniz.

Claude, planı “tamamlandı” olarak kabul etmeden önce sorunları gidermek için elinden geleni yapacaktır ancak zaman zaman sizin de devreye girmeniz gerekebilir. Plan Modu ile çalışmanın avantajı da budur; kod yürütüldükten sonra sonuçlara nasıl ulaştığınıza dair bağlama da sahip olursunuz, bu da Claude’un bir sonraki kararlarını yönlendirmenize yardımcı olur.

Kodlama aşamasını daha sorunsuz hale getirecek birkaç ipucu:

  • Bir başarı kriteri tanımlayın. Claude’un sonuçlarından emin olabilmesi için “doğru” olanın neye benzediğini net bir şekilde bilmesi gerekir. Planınızı yazarken bunu açıkça belirtin.

  • Araçlar ekleyin. Claude’un hedeflerine ulaşmasına yardımcı olan araçlar, süreçteki birçok git-geli ortadan kaldırır. Örneğin, web arayüzleri (UI) geliştiriyorsanız, Claude Code’un bir tarayıcı sekmesini kontrol edebilmesi ve arayüzü doğrudan test edebilmesi için “Claude in Chrome” uzantısını yükleyin.

  • Bir test paketi dahil edin. Claude’a sürekli olarak doğrulama yapabileceği bir test paketi sunun. Claude sizin için testler bile yazabilir. Bu görevi ona devretmeden önce, hatalı pozitif sonuçlardan (false positives) kaçınmak için testlerin güvenilir bir bilgi kaynağı olduğundan emin olun.

Pratik ipucu: Claude’un sürekli aynı sorunlarla karşılaştığını fark ederseniz, çözüm yolunu CLAUDE.md dosyasına kaydetmesini isteyin.

Gönder (Commit)

Değişiklikleri kendiniz test edip sonuçlardan memnun kaldıktan sonra, kodunuzu gönderme zamanı gelmiştir. Kodunuzu commit etmeden önce, çalışmanıza bakması için bir kod inceleme alt ajanı (subagent code reviewer) çalıştırın. Bir alt ajan kod tabanına yeni bir gözle bakar; ana ajanın oturum boyunca edindiği taraflılığı taşımaz.

Ardından Claude’un sizin tarzınızda bir commit mesajı oluşturmasını sağlayın. Sonrasında süreci baştan tekrarlayın.

Özet

Claude Code ile etkili olmak için Keşfet, Planla, Kodla ve Gönder iş akışını takip edin:

  • Keşfet , Claude’a projeniz için ihtiyaç duyduğu ilgili bağlamı sağlar.
  • Planla , Claude’un başarıyı ölçmek için kullanacağı bir eylem planı oluşturur.
  • Kodla , nihai sonuca varmadan önce siz ve Claude arasındaki karşılıklı fikir alışverişidir.
  • Gönder , kodunuzu incelemenize ve yüklemenize yardımcı olur, böylece bir sonraki özelliğiniz üzerinde çalışmaya başlayabilirsiniz.

Bağlam Yönetimi

Bağlam (context), Claude’un çalışma belleğidir. Okuduğu her dosya, çalıştırdığı her komut, gönderdiğiniz her mesaj; tüm bunlar bağlam penceresinde yer kaplar.

Bağlam Penceresi Nedir?

Bağlam penceresini, Claude’un belleğinde tutabileceği bilgi miktarı (alan) olarak düşünebilirsiniz. Ne zaman bir istem girseniz, Claude bir dosya okusa, bir araç çağrısı yürütse veya bir araç çağrısı sonucu alsa, bunların hepsi bağlam penceresine eklenir. Sınırlı bir alan söz konusu olduğundan, bu alanı nasıl kullandığınızı optimize etmek önem kazanır.

Bağlam Dolduğunda Ne Olur?

Sınıra yaklaştığınızda, bağlam penceresi otomatik olarak sıkıştırılır (compacted). Sıkıştırma işlemi, yer açmak için önemli ayrıntıları özetler ve gereksiz araç çağrısı sonuçlarını kaldırır. Bu sürecin potansiyel olarak bazı detayların kaybolmasına yol açabileceğini unutmayın.

Komutlar

Sıkıştırma işlemini /compact komutuyla manuel olarak da çalıştırabilirsiniz. Bu komut, o ana kadar olan her şeyi sıkıştırır. Önceki çalışmalarınızın hafızasını korurken, bağlam alanında yer açmak istediğinizde oldukça kullanışlıdır.

Önceki oturuma dair hiçbir hafıza kalmadan tamamen sıfırdan başlamak istiyorsanız /clear komutunu çalıştırın. Bu, her şeyi temizler.

Bağlamınızın durumunu kontrol etmek için /context komutunu yürütün. Bağlam boyutunuza, en çok yer kaplayan kategorilere dair genel bir bakış ve dökümü gösteren görsel bir grafik elde edersiniz.

Hangisi Ne Zaman Kullanılmalı?

Genel bir kural olarak:

  • Belirli bir özellik üzerinde çalışırken ve bağlam sınırına dayanmanıza rağmen devam etmeniz gerekiyorsa /compact komutunu kullanın. Bağlamı mevcut özelliğinizle ilgili tutmak önemlidir.
  • Yeni bir özelliğe başlamak istediğinizde /clear komutunu kullanın. Önceki konuşmanın yeni bir işe taraflılık getirmesini istemezsiniz. Claude’un oturumlar arasında hatırlamasını istediğiniz şeyler için bunları CLAUDE.md dosyanıza ekleyin; böylece her şeyi sıfırdan keşfetmek zorunda kalmaz.

Bağlam Alanından Tasarruf Etmek İçin İpuçları

Spesifik olun. Belirsiz bir istem ilk başta daha kısa görünebilir ancak uzun vadede aslında daha fazla bağlama mal olur. Net talimatlar olmadığında Claude, kod tabanınızı daha fazla keşfetmek ve kendi kendine akıl yürütmek zorunda kalır; bu da detaylı bir istemin kaplayacağından çok daha fazla bağlam alanı tüketir.

MCP sunucularınızı yönetin. MCP sunucuları, siz onları kullanmasanız bile varsayılan olarak mevcut tüm araçlarını bağlama yükler. Mevcut projeyle ilgisi olmayan şeyler için yapılandırılmış sunucularınız varsa bunları kapatmayı düşünün. Ayrıca MCP sunucularına benzer şekilde çalışan ancak her şeyi önceden bağlama yüklemeyen “Yetenekler” (Skills) özelliğini de deneyebilirsiniz.

Alt ajanları (subagents) kullanın. Alt ajanlar, ana ajanınızla paralel olarak çalışır ancak tamamen ayrı bir bağlam penceresine sahiptir. Yalnızca cevaba ihtiyaç duyduğunuz görevler için (örneğin “kimlik doğrulama uç noktaları nerede bulunuyor?”) bir alt ajan işi üstlenir ve ana ajanınıza sadece bir özet döndürür; böylece birincil bağlamınız temiz kalır.

Özet

Claude Code içinde bağlamı yönetmek kritik öneme sahiptir. Uzun oturumları özetlemek için /compact komutunu, temiz bir sayfa açmak içinse /clear komutunu kullanın. Bağlam pencerenizi etkili bir şekilde kullanmak için: istemlerinizde spesifik olun, mevcut bağlamınızı nelerin tükettiğini kontrol edin ve yalnızca sonuca ihtiyaç duyduğunuz görevleri devretmek için alt ajanlardan yararlanın.


Kod İnceleme (Code Review)

Claude Code, git iş akışınızı hızlandıran birkaç yerleşik özelliğe sahiptir. Şimdi bunları inceleyelim.

Bir Alt Ajan ile İnceleme

Bir PR (Pull Request) göndermeden önce, Claude’dan değişikliklerinizi incelemesi için bir alt ajan (subagent) kullanmasını isteyin. Alt ajan, tamamen yeni bir gözle ve kendi bağlam penceresinde çalışır; oturum boyunca kodu yazan ana ajanın taşıyabileceği taraflılığı barındırmaz.

Bir kod inceleme alt ajanı oluştururken, onu yalnızca salt okunur (read-only) araçlarla sınırlandırın. Bir incelemecinin görevi dosyaları düzenlemek değil, sorunları işaretlemektir. Tüm ekibinizin aynı incelemeciyi kullanması için alt ajan yapılandırmasını deponuza (repo) kaydedin.

/commit-push-pr Yeteneği (Skill)

/commit-push-pr yeteneği; commit, push ve PR oluşturma işlemlerini tek bir adımda halleder. Bunların her birini manuel olarak yapmak yerine, sadece bu yeteneği çalıştırın ve gerisini Claude’a bırakın.

CLAUDE.md dosyanızda listelenen kanallarla yapılandırılmış bir Slack MCP sunucunuz varsa, PR bağlantısı ekibinizin kanalında otomatik olarak paylaşılacaktır.

–from-pr ile Oturum Bağlama

Claude, gh pr create aracılığıyla bir PR oluşturduğunda, oturum otomatik olarak o PR ile ilişkilendirilir. Daha sonra bu PR’a geri dönmeniz gerekirse (örneğin inceleme yorumlarını yanıtlamak veya başarısız olan bir derlemeyi düzeltmek için) şu komutu çalıştırın:

claude --from-pr <PR_NUMBER>

Bu komut, tam olarak kaldığınız yerden devam etmenizi sağlar.

Özet

Kodunuzu göndermeden önce tarafsız bir kod incelemesi için bir alt ajan kullanın. Commit işleminden PR aşamasına kadar olan tüm akışı tek adımda yönetmek için /commit-push-pr komutundan yararlanın. Bir PR üzerindeki çalışmanıza daha sonra devam etmek için ise --from-pr ifadesini kullanın. Bunlar küçük özellikler gibi görünse de günlük iş akışınızdaki birçok pürüzü ortadan kaldırır.


CLAUDE.md Dosyası

Claude Code’daki en yararlı özelliklerden biri CLAUDE.md dosyasıdır. Bu dosya, Claude Code’a projeniz hakkında kalıcı bir hafıza kazandırır.

Çözdüğü Sorun

Bir CLAUDE.md dosyası olmadan Claude Code’u açtığınızda, her seferinde sıfırdan başlar. Kod tabanınızı yeniden keşfetmek, hangi bağımlılıklara ihtiyaç duyulduğunu çözmek ve hangi özelliklerin hâlihazırda uygulandığını anlamak zorunda kalır. Bazen bazı varsayımlarda bulunur, bu da Claude’u doğru yöne sevk etmeyi zorlaştırır.

CLAUDE.md bu sorunu çözer. Projenizin kök dizinine eklediğiniz bu Markdown dosyası, bir oturum başlattığınız her seferde Claude Code tarafından otomatik olarak okunur. Bunu kod tabanınız için bir işe alım/uyum sağlama (onboarding) senaryosu gibi düşünebilirsiniz. CLAUDE.md dosyasının içeriği, isteminizin (prompt) sonuna eklenir.

Bir Örnek

Tipik bir CLAUDE.md dosyası şu şekildedir:

# Project This is a Next.js 15 app using the App Router, Tailwind, and Drizzle ORM. # Commands - Dev server: `pnpm dev` - Run tests: `pnpm test` - Lint: `pnpm lint` # Code Style - Use 2-space indentation - Prefer named exports - All API routes go in app/api/ - Use server actions instead of API routes where possible

Gördüğünüz gibi oldukça sade. Artık Claude Code’dan bir React bileşeni oluşturmasını istediğinizde, stil için Tailwind kullanması ve kodlama kurallarınıza uyması gerektiğini zaten biliyor olacaktır.

CLAUDE.md Ekipler İçindir

Ekibinizin de faydalanabilmesi için CLAUDE.md dosyanızı sürüm kontrol sistemine (git) gönderebilirsiniz (ve göndermelisiniz). Aslında kimin için olduklarına bağlı olarak bir hafıza dosyası hiyerarşisi mevcuttur:

  • Proje düzeyinde CLAUDE.md projenizin kök dizininde yer alır. Ekiple paylaşılır.
  • Kullanıcı düzeyinde CLAUDE.md yapılandırma (configuration) klasörünüzde yer alır. Bu sadece size özeldir ve tüm projelerinizde geçerli olur. Kişisel tercihlerinizi buraya ekleyebilirsiniz.

İpuçları

Düzeltmeleri hafızaya kaydedin. Kendinizi Claude’u tekrar tekrar düzeltirken bulursanız (örneğin ona API rotaları yerine her zaman sunucu eylemlerini — server actions — kullanmasını söylemek gibi), Claude’dan bu kuralı açıkça hafızaya kaydetmesini isteyin. Projeyi bir sonraki açışınızda bunu biliyor olacaktır.

Proje dokümanlarına referans verin. Projenizde Claude’un referans almasını istediğiniz bir dokümantasyon varsa, dosya yoluyla birlikte @ sembolünü kullanın:

### README.md Please read if you need more info: @README.md

Dosya olmadan başlayın. Modeli nerede sürekli düzeltmek zorunda kaldığınızı görebilmeniz için bir projeye önce CLAUDE.md dosyası olmadan başlamanızı öneririz. Bu, CLAUDE.md dosyanızın kompakt kalmasını ve yalnızca gerekli bilgilere odaklanmasını sağlar. Hazır olduğunuzda, Claude’un sizin için bir tane oluşturması için /init komutunu çalıştırın.

Özet

Sıkıcı bir Claude Code oturumu ile verimli bir oturum arasındaki fark genellikle bağlama (context) dayanır; CLAUDE.md dosyası da bu bağlamı sağlamanın yoludur. Kullandığınız teknoloji yığını (stack), tercihleriniz ve komutlarınızla başlayın, ardından ilerledikçe bunun üzerine inşa edin.


Alt Ajanlar (Subagents)

Claude, görevleri kendi aralarında bölen ve bileşen görevleri paralel olarak yürüten alt ajanlara devredebilir; bu da bağlam yönetiminizi iyileştirir. Her bir alt ajan, kendi yalıtılmış bağlam penceresinde faaliyet gösterir.

Nasıl Çalışır?

Claude Code içinde bağlamı yönetmek önemlidir. Kod tabanınızı keşfeden araç çağrıları veya araştırma için yapılan web aramaları gibi işlemler, bağlam penceresinin büyük bir kısmını tüketir. Claude’un bu keşif sırasında ulaştığı her bilgi, geliştirmekte olduğunuz ana özellik ile her zaman doğrudan ilgili olmayabilir.

Alt ajanlar tam da bu noktada devreye girer. Claude, “bu kod tabanını benim için keşfet” gibi bir görevi yerine getirmesi için bir alt ajan başlatır. Alt ajan, kendi bağlam penceresiyle paralel olarak çalışır, tüm keşif işini üstlenir ve tamamlandığında bulgularını özetleyerek bu özeti Claude’a geri döndürür.

Sonuç olarak: Oraya ulaşmak için geçilen tüm yollar ana bağlamınızı karmaşıklaştırmadan, tam olarak aradığınız cevaba ulaşmış olursunuz.

Kendi Alt Ajanınızı Oluşturma

Alt ajanlar, YAML ön bilgisi (frontmatter) içeren Markdown dosyalarında tanımlanır. Başlamanın en kolay yolu, Claude’un sizin için bir tane oluşturmasına izin vermektir. Şu komutu çalıştırın:

/agents

Ardından “Create new agent” (Yeni ajan oluştur) seçeneğini belirleyin. Ajanın kapsamını seçmek, amacını tanımlamak, erişebileceği araçları seçmek ve hatta onun için bir renk belirlemek gibi adımlardan geçeceksiniz.

Claude, alt ajan için bir isim, açıklama ve istem (prompt) oluşturacaktır. Bu sayede Claude, verdiğiniz istemlere bağlı olarak alt ajanı ne zaman çağıracağını da öğrenmiş olur.

Daha Fazla Özelleştirme

Alt ajanlar daha da özelleştirilebilir. İşte öne çıkan bazı noktalar:

  • Kalıcı hafıza (Persistent memory) , alt ajanınızın konuşmalar boyunca hafızasını korumasını sağlar. Onu aynı projelerde sürekli olarak kullanıyorsanız bu harika bir özelliktir.
  • skill anahtarını ekleyip yetenekleri isimlerine göre listeleyerek alt ajanlara yetenekleri önceden yükleyebilirsiniz (Preload skills). Ana konuşmanızdaki yeteneklerin aksine, burada yeteneğin tamamının bağlama yüklendiğini unutmayın.

Özet

Bağlam pencerenizi temiz tutmak, Claude Code ile üretken kalmanın en iyi yollarından biridir. Alt ajanlar sayesinde, arka planda ağır işleri üstlenecek bir ajan çalıştırabilir ve ana bağlam pencerenize yalnızca sonucun dönmesini sağlayabilirsiniz.

Daha derinlemesine incelemek ister misiniz? Özel olarak hazırladığımız kursumuza göz atın: Introduction to subagents


Yetenekler (Skills)

Bu video, Claude Code’a belirli görevleri otomatik olarak nasıl yerine getireceğini öğreten, yeniden kullanılabilir markdown dosyaları olan “yetenekleri” (skills) tanıtmaktadır. Claude’dan bir PR’ı incelemesini veya bir commit mesajı yazmasını her istediğinizde talimatları tekrarlamak yerine, bir yeteneği bir kez yazarsınız ve Claude, ilgili görev her ortaya çıktığında bunu uygular. Video; yeteneklerin ne olduğunu, nerede barındıklarını ve diğer Claude Code özelleştirme seçenekleriyle nasıl karşılaştırıldıklarını kapsamaktadır.


MCP

Model Bağlam Protokolü (Model Context Protocol - MCP); Claude Code’un harici araçlara ve veri kaynaklarına bağlanmasını sağlayan açık bir standarttır. Bir soru sorduğunuzda Claude, sorgunuzu daha iyi yönetmek için bu araçları ne zaman kullanması gerektiğini otomatik olarak anlar.

Bağlamınızın büyük bir kısmı (veritabanlarında, üretkenlik uygulamalarında veya genel depolarda) kod tabanınızın dışında yer alır. MCP bu boşluğu doldurur.

Bununla Ne Yapabilirsiniz?

İlk olarak, ajan tabanlı yapay zekadaki (agentic AI) “araçlar” (tools) kavramını anlamak önemlidir. Araçlar; Claude Code gibi ajanlara, görevleri daha etkili bir şekilde tamamlamalarına yardımcı olacak eylemleri gerçekleştirme yeteneği kazandırır. Bu durum, yalnızca metin tabanlı bir yanıt aldığınız tipik yapay zekadan farklıdır.

Örneğin, ekibiniz proje yönetimi için Linear kullanıyorsa, kendinize özel işlerin (issues) ayrıntılarını içeri aktarmak için bir Linear MCP sunucusu ekleyebilirsiniz. Bir bağımlılık (dependency) için güncel dokümantasyona ihtiyacınız varsa, Context7 gibi bir dokümantasyon MCP sunucusu bunu Claude Code’a sağlayabilir.

Bir MCP Sunucusu Ekleme

claude mcp add komutuyla MCP sunucuları ekleyebilirsiniz. İki ana tür vardır:

  • HTTP sunucuları uzaktaki hizmetler içindir. Bunlar hizmet sağlayıcı tarafından barındırılır ve ağ üzerinden bağlanır.
  • Stdio sunucuları makinenizde çalışan yerel işlemler içindir.

Nelerin bağlı olduğunu görmek, durumu kontrol etmek ve ihtiyacınız olmayan sunucuları devre dışı bırakmak için bir Claude Code oturumu içinde /mcp komutuyla sunucularınızı yönetebilirsiniz.

Sunucuları Kapsamlandırma (Scoping)

MCP sunucuları üç şekilde kapsamlandırılabilir:

  1. Yerel (Local) — yalnızca mevcut projede ve sadece sizin için kullanılabilir.
  2. Kullanıcı (User) — tüm projelerinizde kullanılabilir.
  3. Proje (Project) — sürüm kontrol sistemine (git) eklediğiniz bir .mcp.json dosyası kullanır; böylece kod tabanında çalışan herkes aynı sunuculara otomatik olarak erişebilir.

Bağlam Maliyetleri

MCP sunucuları, siz onları aktif olarak kullanmasanız bile araç tanımlarını bağlam pencerenize ekler. Çok fazla sunucu yapılandırdıysanız, bu durum kullanılabilir bağlam alanınızı tüketir. Nelerin bağlı olduğunu görmek ve aktif olarak kullanmadıklarınızı devre dışı bırakmak için /mcp komutunu çalıştırın.

Bir aracın CLI (Komut Satırı Arayüzü) karşılığı varsa (GitHub için gh veya AWS için aws gibi), CLI kullanımı bağlam açısından daha verimlidir çünkü kalıcı araç tanımları eklemez.

Alternatif olarak bir Yetenek (Skill) kullanmaktan da faydalanabilirsiniz. Bir yeteneğin yalnızca adı ve açıklaması bağlama yüklenir; Claude, yetenek içeriğinin tamamını yalnızca onu kullanması gerektiğine karar verdiğinde yükler.

MCP araçlarınız bağlam pencerenizin %10’unu aşarsa, Claude Code otomatik olarak araç arama moduna (tool search mode) geçer; bu mod doğru araçları talep üzerine keşfeder ancak o kadar kararlı çalışmayabilir.

Özet

MCP; Claude Code’u harici araçlarınıza ve veri kaynaklarınıza bağlar. claude mcp add komutuyla sunucular ekleyin. Ekibinizin bunlara otomatik olarak erişebilmesi için .mcp.json dosyası ile sunucuları projenizle kapsamlandırın. Aktif olarak kullanmadığınız sunucuları devre dışı bırakarak bağlam kullanımını göz önünde bulundurun.


Kancalar (Hooks)

Kancalar (hooks), Claude Code’un yaşam döngüsündeki belirli noktalarda komutlar çalıştırmanızı sağlar. Kancalar ile bu eğitimde ele alınan diğer her şey arasındaki temel fark, kancaların belirleyici (deterministic) olmasıdır; yani her zaman çalışırlar.

Neden Kancalar Kullanılmalı?

CLAUDE.md dosyanızda Claude’a her dosya düzenlemesinden sonra Prettier’ı çalıştırmasını söyleyebilirsiniz. Çoğu zaman bunu yapacaktır. Ancak bazen yapmayabilir. Bir kanca ise istisnasız her seferinde bunun gerçekleşmesini sağlar.

Sık karşılaşılan kullanım senaryoları şunlardır:

  • Dosya düzenlemelerinden sonra otomatik biçimlendirme (auto-formatting)
  • Uyumluluk için yürütülen tüm komutların günlüğe kaydedilmesi (logging)
  • Canlı ortam (production) dosyalarını değiştirmek gibi tehlikeli işlemlerin engellenmesi
  • Claude bir görevi tamamladığında kendinize bildirim gönderilmesi

Nasıl Çalışırlar?

Kancalar settings.json dosyanızda yapılandırılır. Bir etkinlik (event) seçer, isteğe bağlı olarak bunun hangi araçlar için geçerli olacağını belirten bir eşleştirici (matcher) ayarlar ve çalıştırılacak bir komut girersiniz. Kullanılabilir etkinlikler şunlardır:

  • PreToolUse — bir araç çağrısından önce çalışır
  • PostToolUse — bir araç çağrısı tamamlandıktan sonra çalışır
  • UserPromptSubmit — siz bir istem gönderdiğinizde, Claude bunu işlemeden önce çalışır
  • Stop — Claude yanıt vermeyi bitirdiğinde çalışır
  • Notification — Claude bir bildirim gönderdiğinde çalışır

Bunları Claude Code oturumu içindeki /hooks komutu aracılığıyla veya doğrudan settings.json dosyasını düzenleyerek yapılandırabilirsiniz.

Pratik Bir Örnek

En yaygın kanca kullanımı: düzenlemelerden sonra otomatik biçimlendirmedir. Claude bir dosyayı her değiştirdiğinde tetiklenmesi için eşleştiricisi "Edit|MultiEdit|Write" olan bir PostToolUse kancası ayarlayın. Komut, dosya uzantısını kontrol eder ve uygun biçimlendiriciyi çalıştırır; TypeScript için Prettier, Go için gofmt veya projeniz ne kullanıyorsa o.

PreToolUse ile Engelleme

PreToolUse kancaları, araç çağrılarını yürütülmeden önce engelleyebilir (block). Kancanız, araç adını ve girdisini standart girdi (stdin) üzerinden JSON olarak alır. Çıkış kodu (exit code) davranış biçimini belirler:

  • Çıkış kodu 0 — normal şekilde devam et.
  • Çıkış kodu 2 — eylemi engelle. Standart hata (stderr) mesajı, engellenme nedenini bilmesi ve kendini ayarlayabilmesi için Claude’a geri bildirim olarak iletilir.
  • Diğer herhangi bir çıkış kodu — size gösterilen ancak hiçbir şeyi durdurmayan, engelleyici olmayan bir hatadır.

Katı kuralları bu şekilde uygularsınız. Canlı ortam yapılandırma dizinine yazma işlemlerini engelleyin. rm -rf içeren bash komutlarını engelleyin. Ana dala (main) commit atmayı engelleyin. Ekibinizin öneri olarak kalmasını değil, garanti altına alınmasını istediği her ne varsa buraya ekleyin.

Kancaları Ekibinizle Paylaşma

.claude/settings.json içinde yapılandırılan kancalar proje düzeyindedir ve deponuza (repo) gönderilebilir. Bu, tüm ekibinizin aynı kancalara otomatik olarak sahip olacağı anlamına gelir. Komutlarınızda projenizde saklanan betiklere referans vermek için CLAUDE_PROJECT_DIR ortam değişkenini kullanın; böylece Claude’un mevcut çalışma dizini ne olursa olsun bu betikler sorunsuz çalışacaktır.

Özet

Kancalar, Claude Code’un davranışı üzerinde size kesin ve belirleyici bir kontrol sunar. Otomatik biçimlendirme ve günlük kaydı için PostToolUse kullanın. Tehlikeli işlemleri engellemek için PreToolUse kullanın. Bunları /hooks komutuyla veya settings.json içinde yapılandırın. Ekibinizin de bunlardan yararlanabilmesi için deponuza kaydedin.

Bir şeyin her seferinde hatasız bir şekilde gerçekleşmesi gerekiyorsa, bunu bir istemin içine yazmayın. Bir kancaya yerleştirin.

Discussion in the ATmosphere

Loading comments...