20 puan yazan GN⁺ 2025-04-20 | 2 yorum | WhatsApp'ta paylaş
  • Claude Code, CLI tabanlı bir ajanik kodlama aracıdır ve çeşitli geliştirme ortamları ile dillere esnek biçimde uygulanabilir.
  • CLAUDE.md yapılandırması, araç izin listesi yönetimi ve özel komut oluşturma ile Claude’un kullanılabilirliği en üst düzeye çıkarılabilir.
  • İş akışına göre stratejiler (keşfet-planla-uygula-commit et, test odaklı geliştirme, görsel yineleme vb.) uygulanırsa etkili olur.
  • Headless mod ve çoklu Claude yapılandırması ile otomasyon ve paralel çalışma da mümkündür.
  • Claude, Git, GitHub, Jupyter gibi çeşitli geliştirme araçlarıyla entegre edilerek ileri düzeyde kullanılabilir.

Claude Code’a genel bakış

  • Claude Code, ajanik kodlama (komut satırı tabanlı otomatik kodlama) için bir araçtır.
  • Anthropic’in dahili geliştiricileri ve araştırmacılarının Claude’u kodlamaya daha doğal biçimde entegre edebilmesi için tasarlanmıştır.
  • Düşük seviyeli arayüzü ve bağımsız tasarımı sayesinde belirli bir geliştirme tarzına bağlı kalmaz;
    • geliştiriciler Claude’u kendilerine uygun şekilde yapılandırıp kullanabilir.
  • Sonuç olarak çok güçlü, aynı zamanda esnek ve güvenli bir kodlama güç aracı olarak konumlanır.
  • Dezavantajı ise ilk kez kullananlar için öğrenme eğrisinin yüksek olmasıdır;
    • bu nedenle zaman içinde kendi en iyi uygulamalarınızı oluşturmanız gerekir.
  • Bu yazı, Claude Code’u gerçekten kullanmış dahili ekiplerin ve harici mühendislerin deneyimlerine dayanarak
    • çeşitli dillerde, kod tabanlarında ve ortamlarda etkili olan genel kalıpları tanıtır.
  • Sunulan içerik kesin doğru değil, bir başlangıç noktasıdır; herkesin kendine uygun biçimde deneyip geliştirmesi önerilir.

# 1. Ayarları özelleştirme

Claude Code, bağlamı otomatik toplayıp prompt oluşturan bir ajanik kodlama yardımcısıdır.
Bu bağlam toplama süreci zaman ve token tüketir, ancak ortamı ayarlayarak optimize edilebilir.

a. CLAUDE.md dosyası oluşturma

CLAUDE.md, Claude’un bir konuşma başlarken otomatik olarak bağlama dahil ettiği özel bir dosyadır.
Bu dosya, aşağıdaki başlıkları belgelemek için idealdir:

  • sık kullanılan bash komutları
  • temel dosyalar ve yardımcı fonksiyonlar
  • kod stili yönergeleri
  • testlerin nasıl çalıştırılacağı
  • depo çalışma biçimi (ör. branch adlandırma, merge vs. rebase)
  • geliştirme ortamı kurulumu (ör. pyenv kullanılıp kullanılmadığı, uyumlu derleyiciler)
  • ilgili projeye özgü istisnai davranışlar veya uyarılar
  • Claude’un hatırlaması gereken diğer bilgiler

CLAUDE.md dosyasında biçim zorunluluğu yoktur; kısa, öz ve insan tarafından kolay okunabilir biçimde yazılması önerilir.
Örnek:

# Bash commands  
- npm run build: Build the project  
- npm run typecheck: Run the typechecker  
  
# Code style  
- Use ES modules (import/export) syntax, not CommonJS (require)  
- Destructure imports when possible (eg. import { foo } from 'bar')  
  
# Workflow  
- Be sure to typecheck when you’re done making a series of code changes  
- Prefer running single tests, and not the whole test suite, for performance  

CLAUDE.md dosyasının konumu

Claude, CLAUDE.md dosyasını aşağıdaki konumlarda arayıp bağlama ekler:

  • repo kökü veya claude komutunun çalıştırıldığı dizin
    • CLAUDE.md olarak kaydedip git’e commit ederseniz oturumlar ve ekipler arasında paylaşılabilir (önerilir)
    • kişisel ayarlar için CLAUDE.local.md olarak kaydedip .gitignore kapsamına alabilirsiniz
  • çalıştırılan dizinin üst dizinleri
    • monorepo yapılarında faydalıdır (ör. root/CLAUDE.md ile root/foo/CLAUDE.md birlikte kullanılabilir)
  • çalıştırılan dizinin alt dizinleri
    • o dizin içindeki dosyalar üzerinde çalışırken otomatik olarak bağlama dahil edilir
  • ana dizin (~/.claude/CLAUDE.md)
    • tüm oturumlara global olarak uygulanır

/init komutu çalıştırıldığında Claude, CLAUDE.md dosyasını otomatik olarak oluşturur.

b. CLAUDE.md dosyasını ince ayarlama

CLAUDE.md, Claude prompt’unun bir parçası olarak kullanıldığı için tıpkı bir prompt gibi tekrar tekrar gözden geçirilip optimize edilmelidir.
Yaygın hata, içine gereğinden fazla içerik koyup etkisini doğrulamamaktır.

  • Hangi içeriğin modelin yanıt kalitesini artırdığını deneylerle anlamak önemlidir.
  • İçeriği elle ekleyebilir veya # tuşuna basıp Claude’a talimat vererek otomatik olarak CLAUDE.md’ye yansıtılmasını sağlayabilirsiniz.
  • Pek çok mühendis komutları, stil kılavuzlarını vb. anlık olarak belgeliyor ve CLAUDE.md değişikliklerini commit’e dahil ederek ekiple paylaşıyor.

Anthropic içinde prompt improver kullanılarak CLAUDE.md rafine ediliyor
ve “IMPORTANT”, “YOU MUST” gibi vurgulu ifadeler eklenerek yanıt doğruluğu artırılıyor.

c. Claude’un izinli araç listesini yönetme

Claude Code, sistemi değiştirebilecek işlemler için (dosya yazma, bash komutu çalıştırma, MCP aracı kullanma vb.) varsayılan olarak kullanıcı onayı ister.
Bu, güvenlik için muhafazakâr bir tasarımdır; kullanıcının güvenli olduğuna karar verdiği araçlar izin listesi (allowlist) üzerinden önceden onaylanabilir.

İzinli araçları yapılandırma yöntemleri

  1. Oturum sırasında istem çıktığında "Always allow" seçeneğini seçin.
  2. /allowed-tools komutuyla araç ekleyin/silin.
    Örnekler:
    • Edit → dosya düzenlemeye izin ver
    • Bash(git commit:*) → git commit işlemine izin ver
    • mcp__puppeteer__puppeteer_navigate → Puppeteer MCP sunucusunda gezinmeye izin ver
  3. .claude/settings.json veya ~/.claude.json dosyasını elle düzenleyin.
    • Ekiple paylaşmak için ilkini kullanıp Git’e commit etmek önerilir.
    Reklam
  4. Oturum bazlı CLI bayrağı --allowedTools kullanın.

d. GitHub kullanırken gh CLI kurulumu

Claude, gh CLI’ı kullanabildiği için issue oluşturma, PR yazma, yorum okuma gibi GitHub işlerini otomatikleştirebilir.
gh kurulmamış olsa bile GitHub API’si veya MCP sunucusu üzerinden bunun yerine başka bir yol kullanılabilir.


# 2. Claude’a daha fazla araç sağlamak

Claude, kullanıcının shell ortamına erişebildiği için, kullanıcının bizzat oluşturduğu script ve fonksiyonları doğrudan kullanabilir.
Ayrıca MCP veya REST API üzerinden daha karmaşık harici araçlarla da entegre olabilir.

a. Bash araçlarıyla kullanma

Claude Code, kullanıcının bash ortamını devralır ve zaten kurulu yardımcı araçlara erişebilir.

  • Yaygın Unix araçlarını veya gh CLI’ı Claude zaten tanır.
  • Ancak kullanıcının oluşturduğu özel bash araçlarının ayrıca tanıtılması gerekir.

Claude’un özel araçları tanıması için şunları yapın:

  • Araç adını ve kullanım örneklerini Claude’a açıkça belirtin.
  • --help seçeneğiyle aracın kullanım şeklini görmesini söyleyin.
  • Sık kullanılan araçları CLAUDE.md içinde belgeleyin.

b. MCP ile kullanma

Claude Code, aynı anda hem MCP sunucusu hem de istemcisi olarak çalışır.
İstemci olarak birden fazla MCP sunucusuna bağlanıp çeşitli araçlardan yararlanabilir.

MCP sunucusu araçlarını Claude’a bağlamanın üç yolu vardır:

  • proje ayarları içinde tanımlamak (yalnızca ilgili dizinde kullanılabilir)
  • global ayarlar ile tüm projelerde kullanılabilir hale getirmek
  • .mcp.json dosyasını commit etmek ve böylece birlikte çalışan tüm geliştiricilerin aracı hemen kullanabilmesini sağlamak
    • Örn. .mcp.json içine Puppeteer ve Sentry sunucuları eklenirse ekip genelinde kullanılabilir.

MCP kullanırken yapılandırma sorunlarını debug etmek için Claude’u --mcp-debug bayrağıyla çalıştırmak faydalıdır.

c. Özel slash komutları

Tekrarlayan iş akışları için (debugging, log analizi vb.)
.claude/commands klasörüne Markdown dosyaları olarak prompt şablonları kaydedebilirsiniz.

  • Claude’da / yazıldığında ilgili komut otomatik tamamlama menüsünde görünür
  • git ile commit edilip ekip üyeleriyle paylaşılabilir

Parametre geçirme: $ARGUMENTS

Slash komutuna $ARGUMENTS eklerseniz, komut çalıştırılırken iletilen parametreler otomatik olarak eklenebilir

Örnek: GitHub issue’sunu otomatik analiz etme ve düzeltme

Please analyze and fix the GitHub issue: $ARGUMENTS.  
  
Follow these steps:  
  
1. Use `gh issue view` to get the issue details  
2. Understand the problem described in the issue  
3. Search the codebase for relevant files  
4. Implement the necessary changes to fix the issue  
5. Write and run tests to verify the fix  
6. Ensure code passes linting and type checking  
7. Create a descriptive commit message  
8. Push and create a PR  
  
Remember to use the GitHub CLI (`gh`) for all GitHub-related tasks.  

Yukarıdaki içeriği .claude/commands/fix-github-issue.md içine kaydederseniz, /project:fix-github-issue komutu olarak kullanabilirsiniz
Örnek: /project:fix-github-issue 1234 → Claude, #1234 issue’sunu otomatik olarak düzeltmeyi dener

Kişisel ayar komutları ~/.claude/commands klasörüne kaydedilirse tüm oturumlarda kullanılabilir


# 3. Yaygın iş akışlarından yararlanmak

Claude Code belirli bir iş akışını dayatmaz; kullanıcıya tam esneklik sunar
Bu esneklik sayesinde kullanıcı topluluğunda başarıyla yerleşmiş çeşitli kullanım kalıpları oluşmuştur

a. Keşfet → planla → uygula → commit et

  • Claude’dan ilgili dosyaları, görselleri, URL’leri okumasını isteyin

    • Örn: “Log işleyen dosyayı oku”, “logging.py dosyasını oku”
    • Ancak kod yazmamasını açıkça belirtin
    • Bu aşamada subagent’ları kullanmak çok etkilidir (sorun karmaşıklaştıkça faydası artar)
  • Claude’dan sorunu çözmek için bir plan oluşturmasını isteyin

    Reklam
    • “think”, “think hard”, “ultrathink” gibi anahtar kelimeler kullanıldığında daha fazla hesaplama bütçesi ayrılır
    • Plan uygunsa, planı bir doküman haline getirin veya GitHub issue’su olarak oluşturun; böylece geri dönülebilecek bir referans noktası olur
  • Sonrasında Claude’dan planlanan şekilde kodu uygulamasını isteyin

    • Uygulama sırasında çıkan sonucun geçerliliğini kendi kendine doğrulamasını açıkça istemek de mümkündür
  • Son olarak sonucu commit etmesini ve PR oluşturmasını söyleyin

    • Gerekirse README ya da CHANGELOG güncellemesini de birlikte isteyebilirsiniz

📌 Bu akışta 1. ve 2. adımlar atlanırsa Claude doğrudan kod yazmaya başlar; bu yüzden özellikle karmaşık sorunlarda planlama aşaması önemlidir

b. Test yaz → commit et → kod yaz → yinele → commit et (test güdümlü geliştirme)

Anthropic içinde sık kullanılan bir yöntemdir; birim/entegrasyon/e2e testleri olan işler için uygundur

  • Claude’dan girdi/çıktı kriterlerine göre test yazmasını isteyin

    • Test güdümlü geliştirme olduğunu net şekilde belirtin → özellik uygulamadan yalnızca test yazmasını yönlendirin
  • Testlerin başarısız olup olmadığını kontrol etmesini isteyin

    • Uygulama yapmadan yalnızca testleri çalıştırmasını söyleyin
  • Testlerden memnunsanız commit edin

  • Claude’dan testleri geçen kodu yazmasını isteyin

    • Testleri değiştirmemesini açıkça belirtin
    • Genellikle birden fazla yinelemeli çalıştırma sonunda testler geçer hale gelir
    • Subagent kullanarak overfitting olup olmadığını doğrulamak da etkilidir
  • Tüm testler geçtiğinde kodu commit etmesini söyleyin

✅ Claude, net bir hedef olduğunda (örn. test senaryosu, görsel vb.) en iyi şekilde çalışır

c. Kod yaz → sonuç ekran görüntüsünü ver → yineleyerek iyileştir

  • Tarayıcı ekran görüntüsünü otomatik sağlayabilen bir ortam kurun (örn. Puppeteer MCP, iOS simülatörü vb.)
  • Görsel mockup sağlayın (görsel yapıştırma, yol iletme vb.)
  • Claude’dan tasarımı uygulamasını isteyin → sonuç ekran görüntüsünü alın → tekrar karşılaştırıp iyileştirmesini söyleyin
  • Memnun kalırsanız commit edin

💡 Claude da insanlar gibi 2-3 yinelemeden sonra çok daha iyi sonuç verirgörsel geri bildirim döngüsü önemlidir

d. Safe YOLO modu

  • --dangerously-skip-permissions seçeneğiyle tüm onay isteklerini atlayın
  • Claude, kullanıcı onayı olmadan tam otomatik şekilde işlem yapar

⚠️ Veri kaybı, sistem hasarı ve prompt injection riski vardır → yalnızca internete kapalı container içinde çalıştırılması önerilir
→ Örnek kurulum olarak Docker Dev Container tabanlı kullanım önerilir

e. Kod tabanı Soru-Cevap

  • Yeni bir projeye uyum sağlarken, bir takım arkadaşınıza sorar gibi Claude’a soru sorabilirsiniz
  • Claude kod tabanını gezip yanıtı kendi bulur
Reklam

Örnek sorular:

  • Logging nasıl çalışıyor?
  • Yeni bir API endpoint’i nasıl oluştururum?
  • foo.rs dosyasının 134. satırındaki async move ne işe yarıyor?
  • CustomerOnboardingFlowImpl hangi edge case’leri ele alıyor?
  • Neden foo() yerine bar() çağrılıyor?
  • baz.py dosyasının 334. satırına benzer Java kodu hangisi?

📌 Ayrı bir prompt olmadan, yalnızca doğal dil sorularıyla keşif yapılabilir
→ Anthropic bu yöntemi başlıca onboarding aracı olarak kullanıyor

f. Git entegrasyonu

Claude aşağıdaki gibi Git işlerini otomatikleştirmede başarılıdır:

  • Git geçmişinde arama:
    • Örn: "v1.2.3 içinde hangi değişiklikler vardı?", "Bu özelliği kim yaptı?", "Bu API neden böyle yapılandırılmış?"
  • Commit mesajı yazma:
    • Değişikliklere ve çevresel bağlama göre otomatik oluşturur
  • Gelişmiş Git işleri:
    • Dosya geri alma, rebase çatışması çözme, patch karşılaştırma ve birleştirme vb.

g. GitHub entegrasyonu

Claude Code, GitHub ile ilgili işleri büyük ölçüde otomatikleştirebilir:

  • Pull Request oluşturma:
    • pr anahtar kelimesini tanır ve değişikliklere göre otomatik commit mesajı oluşturur
  • Kod inceleme yorumlarını düzeltme:
    • Yalnızca "PR’deki yorumları düzelt" demekle düzeltip push edebilir
  • Build başarısızlıklarını ve lint hatalarını düzeltme
  • Issue sınıflandırma ve düzenleme:
    • Claude’a “Açık issue’ları dolaşıp düzenle” diye istekte bulunun

💡 gh komutlarını ezberlemeye gerek kalmadan otomatikleştirilmiş GitHub işleri yapılabilir

h. Jupyter Notebook ile çalışma

  • Claude, .ipynb dosyalarını okuyup yazabilir ve görsel içeren çıktıları yorumlayabilir
  • VS Code’da Claude Code ile notebook dosyasını yan yana açarak kullanma yöntemi önerilir

Ek işlevler:

  • Başkalarıyla paylaşmadan önce notebook’u düzenlemesini ve görsel olarak iyileştirmesini isteyebilirsiniz
    • “Daha düzenli hale getir”, “görselleştirmeyi daha hoş yap” gibi insan odaklı görünüm iyileştirme isteklerinde iyi sonuç verir

# 4. İş akışını optimize etmek

Aşağıdaki öneriler, tüm iş akışlarına ortak olarak uygulanabilecek optimizasyon yöntemleridir

a. Talimatları spesifik yazın

Claude Code’da özellikle ilk denemede talimat ne kadar spesifikse başarı olasılığı o kadar yükselir
Baştan net isterseniz, aradaki düzeltme ihtiyacı azalır

Örnek karşılaştırma

  • add tests for foo.py → fazla kapsamlı
    foo.py için, oturumu kapatılmış kullanıcı durumunu ele alan yeni bir test case yaz. mock kullanma
  • why does ExecutionFactory have such a weird api? → belirsiz
    ExecutionFactory'nin git geçmişini inceleyip, API'nin neden mevcut yapıda oluşturulduğunu özetle
  • add a calendar widget → uygulama yönü belirsiz
    Ana sayfadaki mevcut widget uygulama yaklaşımını analiz et (örn. HotDogWidget.php), kod ve arayüz ayrımı desenini belirledikten sonra, kullanıcının ay seçebildiği ve yıl sayfaları arasında geçiş yapabildiği yeni bir takvim widget'ını aynı şekilde uygula. Harici kütüphaneler olarak yalnızca mevcut projede zaten kullanılanlara izin ver

Claude niyeti çıkarabilir, ancak zihin okuyamaz → anahtar nokta açıklıktır

Reklam

b. Görsel sağlama

Claude, görsel veya diyagram işlemede çok iyidir
Görselleri şu yöntemlerle sağlayabilirsiniz:

  • macOS'ta cmd+ctrl+shift+4 → ekran görüntüsünü panoya al → ctrl+v ile yapıştır (uzak ortamda kullanılamaz)
  • Görsel dosyasını sürükleyip bırakma
  • Görsel dosyası yolunu verme

Tasarım mockup'larını hayata geçirmek, görsel grafik analizi gibi işler için UI/veri görselleştirme açısından çok faydalıdır
Görsel olmasa bile, sonucun görsel kalitesinin önemli olup olmadığını açıkça belirtmek yardımcı olur

c. Üzerinde çalışılacak dosyaları belirtme

Claude'a hangi dosyalara bakması veya hangilerini değiştirmesi gerektiğini açıkça söylerseniz işin doğruluğu artar

  • Tab tuşu otomatik tamamlama ile dosya/klasör yolları hızlıca girilebilir

d. Claude'a URL verme

Claude'a bir URL verirseniz belgeleri veya web sayfasını doğrudan okuyabilir

  • Örn: API dokümantasyonu bağlantısı, tasarım sistemi sayfası vb.
  • Aynı domaine tekrar tekrar erişmek için /allowed-tools komutuyla domaini beyaz listeye ekleyebilir, böylece onay adımını atlayabilirsiniz

e. Hızlı ve sık yön düzeltme yapma (rota değiştirme)

Shift + Tab tuşuna basarak otomatik onay modu (auto-accept mode) ile işi otomatikleştirebilirsiniz,
ancak çoğu durumda Claude ile aktif biçimde iş birliği yapıp yönü ayarlamak daha iyi sonuçlar verir

Faydalı 4 ayarlama aracı:

  1. Önce plan isteyin: Uygulamaya geçmeden önce mutlaka bir plan çıkarsın, siz onayladıktan sonra ilerlesin
  2. Escape tuşuyla anında durdurun: Düşünme, dosya düzenleme vb. süreçleri istediğiniz anda kesebilirsiniz
  3. Escape'e iki kez basıp önceki prompt'u düzenleyin: Önceki komutu değiştirip yeni bir yöne geçebilirsiniz
  4. Değişiklikleri geri almasını isteyin: Claude'un yaptığı düzenlemeleri rollback ettirip başka bir yaklaşım deneyebilirsiniz

Claude bazen tek seferde kusursuz çözüme ulaşsa da, bu araçları kullanırsanız daha hızlı ve daha doğru sonuçlar elde edebilirsiniz

f. /clear komutuyla bağlamı sıfırlama

Uzun oturumlar sürdüğünde Claude'un context window'u gereksiz bilgilerle dolabilir ve bu da performansı düşürebilir
Her iş biriminde /clear ile bağlamı sıfırlama alışkanlığı önerilir

g. Checklist ve scratchpad kullanımı

Karmaşık işler için (örn. kod migration'ı, çok sayıda lint hatasını düzeltme vb.),
bir Markdown dosyasını veya GitHub issue'sunu checklist olarak kullanmak verimliliği artırır

Örn: lint hatalarını çözme

  • Claude'dan lint komutunu çalıştırmasını isteyin → hataları Markdown biçiminde bir checklist olarak düzenlesin
  • Her maddeyi tek tek ele alıp doğruladıktan sonra işaretleyin → ardından bir sonrakine geçin

Bu yöntemle ilerleme takibi ile kalite kontrolü aynı anda yapılabilir

h. Claude'a veri aktarma

Claude'a veri aktarmanın çeşitli yolları vardır:

  • Kopyala/yapıştır (en yaygın yöntem)
  • Pipe girişi (örn. cat foo.txt | claude)
    • Loglar, CSV'ler ve büyük metinler için uygundur
  • bash komutları, MCP araçları veya slash komutları üzerinden veriyi doğrudan getirmesini isteme
  • Dosya veya URL okumasını isteme (görseller dahil)

Gerçek çalışmalarda birden fazla yöntemi birlikte kullanmak yaygındır
Örn: logları pipe ile verip, Claude'dan MCP araçlarını kullanarak ek bağlam getirmesini istemek


# 5. Headless mod ile altyapıyı otomatikleştirme

Claude Code, etkileşimsiz ortamlar (CI, pre-commit hook'ları, build script'leri, otomasyon vb.) için headless modu destekler

  • -p bayrağı ile prompt birlikte headless modda çalıştırılır
  • --output-format stream-json seçeneğiyle streaming JSON çıktısı kullanılabilir

⚠️ Headless mod oturumlar arasında kalıcı değildir; her seferinde doğrudan çalıştırılması gerekir

a. Claude ile issue'ları otomatik sınıflandırma

Headless mod, GitHub event tabanlı otomasyon tetikleyicileri için uygundur
Örn: yeni bir issue oluşturulduğunda otomatik analiz edip label atama

Reklam
  • Nitekim Claude Code'un herkese açık deposunda da bu özellikle yeni issue'lara otomatik label ekleme işlevi uygulanıyor

b. Claude'u linter olarak kullanma

Claude, geleneksel lint araçlarının tespit etmekte zorlandığı öznel kod incelemesini otomatikleştirebilir
Örn:

  • Yazım hataları
  • Güncelliğini yitirmiş yorumlar
  • Yanıltıcı fonksiyon/değişken adları
  • Sezgisel olmayan kod akışı vb.

Böylece statik analiz araçlarının ötesinde kod kalitesi iyileştirmesi mümkün olur


# 6. Çoklu Claude iş akışıyla seviye atlama

Tek bir Claude kullanmanın ötesinde, birden fazla Claude örneğini paralel çalıştırma yaklaşımı çok güçlü bir kullanım biçimidir
Birden fazla mühendisin birlikte çalışması gibi, Claude'lar arasında iş bölümü yapmak hem verimliliği hem kaliteyi artırabilir

a. Bir Claude kod yazar, başka bir Claude gözden geçirir

En basit ama etkili kalıplardan biri:

  • Claude 1: kodu yazar
  • /clear veya başka bir terminalde Claude 2'yi çalıştırın → yazılan kodu review etsin
  • Claude 3'ü çalıştırın veya yeniden /clear yapın → hem kodu hem review'yu okuyup düzeltmeleri uygulasın

Ya da,

  • Claude 1: test yazar
  • Claude 2: testleri geçecek kodu yazar

❗ Claude örnekleri arasında ayrı scratchpad'ler paylaşmak veya
“bu Claude yalnızca A dosyasına yazar, şu Claude ise yalnızca B'yi okur” gibi rol ayrımı yapmak da mümkündür

📌 İşlerin ayrılması, tek bir Claude'a göre çoğu zaman daha iyi sonuç verir

b. Depoyu birden çok kez checkout etme

Claude'un işi bitirmesini beklemek yerine, birden fazla Git checkout dizini oluşturarak paralel çalışabilirsiniz

  • Ayrı klasörlerde 3-4 git checkout oluşturun
  • Her klasörü farklı bir terminal sekmesinde açın
  • Her Claude örneğine farklı bir görev verin
  • Sekmeler arasında geçiş yaparak ilerlemeyi takip edin ve onay/red işlemlerini yapın

c. Git worktree kullanımı

git worktree, birden fazla branch'i tek bir repo üzerinden farklı dizinlere checkout etmeyi sağlayan bir Git özelliğidir
birden çok bağımsız işi paralel yürütmek için idealdir

Örn:

  • Bir Claude kimlik doğrulama sistemini refactor eder
  • Başka bir Claude ayrı olarak veri görselleştirme bileşeni oluşturur
  • Birbirlerine müdahale etmezler → paralellik en üst düzeye çıkar

Kullanım

  1. Worktree oluşturma:
    git worktree add ../project-feature-a feature-a
  2. Claude'u çalıştırma:
    cd ../project-feature-a && claude
  3. Gerektiği kadar tekrarlayın

İpuçları

  • Worktree adlarını tutarlı verin
  • Terminalde her sekme için bir worktree kullanın
  • iTerm2 (Mac) kullanıcıları için bildirim ayarı önerilir
  • IDE'leri de her worktree'ye uygun şekilde ayırın
  • İş bitince temizleyin:
    git worktree remove ../project-feature-a

d. Headless mod + özel otomasyon yapıları

Headless mod (claude -p), Claude Code'u iş akışlarına programatik olarak entegre etmeyi mümkün kılar
Buna Claude'un kendi araçlarını ve sistem prompt'unu ekleyerek şu iki kalıp kullanılabilir

1. Fanning out: büyük ölçekli migration/analiz işlerini dağıtma

Örnek:

  • Claude'dan iş listesi oluşturan bir betik yazmasını isteyin
    → Örnek: React'ten Vue'ya geçirilecek 2.000 dosyanın listesini oluşturma
  • Her işi claude -p ile çalıştırın
    → Örnek:
    claude -p "migrate foo.py from React to Vue. When done, return OK or FAIL." --allowedTools Edit Bash(git commit:*)
  • Prompt'u birkaç kez iyileştirerek performansı optimize edin

2. Pipelining: veri/işleme hattı entegrasyonu

  • Claude çıktısını doğrudan bir sonraki komuta bağlayın:
    claude -p "<your prompt>" --json | your_command
  • Claude'un JSON çıktı yapısı sayesinde otomatik işlemeye uygundur

Hata ayıklama ipuçları

  • Test sırasında Claude'un çalışma akışını görmek için --verbose kullanın
  • Gerçek üretim ortamında ise çıktının temiz kalması için verbose'u kapatmanız önerilir

2 yorum

 
ehdns1133 2025-04-22

Maliyet yaklaşık ne kadar olur?

 
GN⁺ 2025-04-20
Hacker News görüşleri
  • "ultrathink" özelliği ilginç

    • "think" kelimesi kullanılarak Claude'un genişletilmiş düşünme modu etkinleştirilebiliyor
    • Bu yalnızca Claude Code'a özgü bir özellik ve "megathink" seçeneği de var
    • İlgili kod sağlanmış
  • "maliyet kontrolü" hakkında bir bölüm olmaması şaşırtıcı

    • Maliyet iyi yönetilirse çok daha ucuza geliyor
    • Cache'in farkında olmak ve yalnızca belirli dosyaları okumasını söylemek gerekiyor
    • Aramadan kaçınmak ve oturum sırasında dosyaları elle düzenlememek gerekiyor
    • Oturumları kısa tutmak ve net hedefler belirlemek gerekiyor
    • Gerekli dokümantasyon dosyalarını oluşturup kaydetmek için Claude.ai kullanılmalı
    • Çoğu iş için maliyet yaklaşık $0.5-0.75 oluyor
  • Cursor'ı yoğun kullanırken modelin istenmeyen kod değişiklikleri yaptığı durumlar var

    • Bu, aynı anda çok fazla iş istendiğinde oluyor
    • Maliyetle ilgili birden fazla adım pahalı API çağrıları gerektiriyor
    • Anthropic'in geliştiriciler için bir burs programı sunmasını isterdim
  • Claude Code'u denedim ama maliyet nedeniyle Gemini AI'ya geçtim

    • Dosya yükleyip modülerliği korumak için sık sık refactor ediyorum
    • Problemleri bölerek çalışma yaklaşımı ilginç
  • Claude Code'u etkili kullanmak için ciddi para harcamak gerekiyor

    • LLM tabanlı araçlar faydalı ama yüksek maliyet sorun yaratıyor
  • Claude Sonnet ile Gemini'nin fiyat/performansı hakkında kişisel görüş

    • Windsurf, VS Code ve Firebase Studio kullanıyorum; Claude Sonnet 3.7, Gemini 2.5 pro'dan daha iyi performans gösteriyor
    • Firebase Studio basit işler için uygun
  • Birden fazla checkout kullanma fikri ilginç

    • git worktrees'i ilk kez öğrendim ve birden fazla checkout'u etkili biçimde yönetmenin bir yoluymuş
  • Gemini'nin Claude Code ve OpenAI Codex'e alternatifleri merak ediliyor

    • reugn/gemini-cli projesini buldum ama Gemini Code Assist, VS Code ile sınırlı
  • Ağırlıklı olarak neovim'de çalışıyorum ama boilerplate kod yazmak için Cursor açıyorum

    • Claude Code veya Codex gibi CLI tabanlı araçları kullanmak isterdim ama Cursor'ın vektör embedding özelliği yok
  • Maliyet korkuttuğu için kullanamıyorum