oguzhany.dev
All posts
Claude Code Nedir? Geliştiriciler İçin En Güçlü AI Coding Agent Rehberi
Mar 30, 2026 13 min read 45 2

Claude Code Nedir? Geliştiriciler İçin En Güçlü AI Coding Agent Rehberi

Claude Code Notları: Gerçekten Nasıl Çalışıyor?

Claude Code; otomatik tamamlama yapan sıradan bir yardımcı değil, kod tabanını okuyup plan çıkaran, değişiklik yapan, test çalıştıran ve sonucu doğrulayan ajanik bir geliştirme aracı.

Bu yazı, paylaşılan içeriğin sadeleştirilmiş ve yayınlanabilir bir Türkçe versiyonudur. Kapak notları, çeviri açıklamaları ve PDF düzenine ait ek metinler çıkarılmıştır.

Ana kaynak: https://x.com/axel_bitblaze69/status/2037978621684621428?s=46


Claude Code gerçekte nedir?

Claude Code, Copilot benzeri bir satır tamamlama aracı gibi çalışmaz. Bir sohbet penceresine kod yapıştırıp cevap beklediğin klasik yapıdan da farklıdır. Asıl gücü, bir yazılım ajanı gibi davranmasından gelir.

Temel olarak şunları yapabilir:

Buradaki ana fikir şu: sen tek tek satır yazdırmıyorsun; ne istediğini anlatıyorsun, o da oraya nasıl gidileceğini çözmeye çalışıyor.


Nerelerde çalışır?

Claude Code artık yalnızca terminalde çalışan bir CLI aracı değil. Farklı yüzeylerde kullanılabiliyor:

Özellikle uzaktan kontrol fikri güçlü: evde çalışan makinedeki oturumu telefondan takip edip müdahale edebilmek, klasik “AI yardımcı” çizgisinin ötesine geçiyor.


Hızlı başlangıç

Kurulum tarafı oldukça sade:

# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash

# Windows
irm https://claude.ai/install.ps1 | iex

# Homebrew
brew install --cask claude-code

Sonrasında:

cd your-project
claude

İlk denemeler için güzel bir komut:

claude "Bu proje ne yapıyor?"

Bunu sorduğunda repo’yu tarayıp mimariyi anlamaya çalışması ve sana özet çıkarması, aracın asıl farkını hemen hissettiriyor.


Modeller ve maliyet

Claude Code, farklı modellerle çalışıyor. Hangi modeli hangi işte kullandığını bilmek ciddi fark yaratıyor.

Modeller

Model geçişi yapılabiliyor:

/model opus
claude --model opus

Effort ayarı

Model dışında düşünme derinliği de ayarlanabiliyor:

/effort low
/effort high
/effort max

Buradaki mantık basit: küçük iş için büyük model yakma. Değişken adı düzeltmeye Opus açmak gereksiz. Ama auth mimarisini baştan ele alıyorsan Haiku ile de kumar oynama.

Maliyet tarafı

Metindeki ana fikir şu: maliyeti romantikleştirmemek lazım. Günlük işlerin büyük kısmında Sonnet yeterli. Opus’u gerçekten gerektiğinde açmak daha mantıklı.

Maliyeti yönetmek için öne çıkan öneriler:


.claude klasörü ve yükleme sırası

Claude Code davranışını şekillendiren temel yerlerden biri .claude klasör yapısı.

İki ana yapı var:

Bu ayrım önemli çünkü biri ekip standardı, diğeri kişisel çalışma biçimi içindir.


CLAUDE.md, CLAUDE.local.md ve rules

Oturum başında okunan en kritik dosya CLAUDE.md dosyasıdır. Bu dosya, sistem prompt’una en yakın çalışan yapı gibi düşünülebilir.

Buraya yazılabilecek şeyler:

Buraya yazılmaması gerekenler:

Pratik eşik net: 200 satır altında tut.

Örnek bir CLAUDE.md

Project: Acme API

Commands
npm run dev # Start dev server
npm run test # Run tests (Jest)
npm run lint # ESLint + Prettier check
npm run build # Production build

Architecture
- Express REST API, Node 20
- PostgreSQL via Prisma ORM
- All handlers live in src/handlers/
- Shared types in src/types/

Conventions
- Use zod for request body validation
- Return shape is always { data, error }
- Never expose stack traces to the client
- Use the logger module, not console.log

Watch out for
- Tests use a real local DB, not mocks
- Strict TypeScript: no unused imports

CLAUDE.local.md

Bu dosya kişisel tercihler içindir. Takımla paylaşılmayan ama senin çalışma biçimini etkileyen notlar burada tutulur.

rules/

Büyüyen projelerde tek büyük dosya yerine modüler kurallar daha iyi ölçeklenir:

.claude/rules/
├── code-style.md
├── testing.md
├── api-conventions.md
└── security.md

Ayrıca path bazlı kurallar da tanımlanabiliyor. Yani sadece belirli dosya tiplerinde yüklenen kurallar yazmak mümkün.


Çalışma tarzını değiştiren özellikler

Claude Code’u “iyi yardımcı” seviyesinden çıkaran şeylerden biri, tek oturumda çok dosyalı işleri toparlayabilmesi.

Mesela şöyle bir komut:

claude "Kimlik doğrulama sistemini session yerine JWT token kullanacak şekilde refactor et"

Bunun ardından şunları zincir halinde yapabiliyor:

Bu yaklaşım, özellikle repo genelini etkileyen değişikliklerde çok güçlü.

Git entegrasyonu

Claude Code git ile de doğal biçimde çalışıyor:

claude "Değişikliklerimi açıklayıcı bir mesajla commit et"
claude "Bu özellik için bir PR oluştur"
claude "Bu merge conflictleri çözmeme yardım et"
claude "Son 5 committe ne değiştiğini ve etkisini açıkla"

Asıl artı nokta şu: yalnızca “şu değişti” demiyor, çoğu zaman neden değiştiğini de iyi özetliyor.


Alt ajanlar ve özel ajanlar

Alt ajanlar, ana bağlamı boğmadan işleri izole alanlarda yürütmeye yarıyor.

Öne çıkan türler:

Neden önemli? Çünkü log yığınları, test çıktıları ve uzun taramalar ana pencereyi çöp kutusuna çevirebiliyor. Alt ajanlar bu gürültüyü temiz tutuyor.

Özel ajan tanımı örneği

---
name: security-reviewer
description: Expert code reviewer for security vulnerabilities. Use PROACTIVELY when reviewing PRs or before deployments.
model: sonnet
tools: Read, Grep, Glob
---

You are a senior security engineer. When reviewing code:
- Flag bugs, not just style issues
- Check for SQL injection and XSS risks
- Look for exposed credentials or secrets
- Check authentication and authorization gaps
- Note performance concerns only when they matter at scale

Buradaki kritik fikir: ajana ihtiyacı kadar araç ver. Yazma yetkisi gerekmiyorsa verme.


MCP (Model Context Protocol)

MCP, Claude Code’u sadece kod yazan bir araç olmaktan çıkarıp iş akışlarının merkezine koyuyor.

Bağlanabildiği sistemlerden bazıları:

Örnek .mcp.json

{
  "mcpServers": {
    "github": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token"
      }
    }
  }
}

Olası kullanım örnekleri

claude "GitHub repomuzdaki 'critical' etiketli açık bug'ları bul ve özetle"
claude "Bu hafta kayıt olan kullanıcı sayısını veritabanından çek ve sonucu Slack'te #metrics kanalına yaz"
claude "Sentry'deki bu haftanın en büyük 5 hatasını bul ve her biri için GitHub issue oluştur"

Asıl güç burada: sekme sekme gezmeden, tek konuşma içinden farklı sistemleri orkestre edebilmek.


Hooks

CLAUDE.md bir yönerge sistemiyse, hook’lar daha deterministik davranış katmanı gibi düşünülebilir.

En sık geçen olay türleri:

Hook örneği

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write 2>/dev/null"
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/bash-firewall.sh"
          }
        ]
      }
    ]
  }
}

Burada örneğin:

Not: hook değişiklikleri genelde hot-reload olmaz. Oturumu yeniden başlatmak gerekir.


Skills

Skills, tekrar kullanılabilir iş akışlarıdır. Tek satırlık komutlardan daha güçlüdür çünkü yanında destekleyici dosyalar da taşıyabilirler.

Yapı şu şekilde olabilir:

.claude/skills/
├── security-review/
│   ├── SKILL.md
│   └── DETAILED_GUIDE.md
└── deploy/
    ├── SKILL.md
    └── templates/
        └── release-notes.md

Örnek skill

name: security-review
description: Comprehensive security audit. Use when reviewing code for vulnerabilities, before deployments, or when the user mentions security.
allowed-tools: Read, Grep, Glob

Analyze the codebase for security vulnerabilities:
- SQL injection and XSS risks
- Exposed credentials or secrets
- Insecure configurations
- Authentication and authorization gaps
- Report findings with severity ratings and specific remediation steps.

Reference @DETAILED_GUIDE.md for our security standards.

Burada mantık şu: komut değil, küçük bir operasyon paketi tanımlıyorsun.


Plan modu, bellek ve computer use

Plan mode

Büyük bir değişiklikten önce analiz yaptırmak için çok faydalı.

claude "Veritabanı katmanını analiz et ve TypeORM’a geçiş için bir plan öner"

Burada amaç hemen kod yazdırmak değil; önce harita çıkarmak.

Bellek sistemi

Claude bazı tercihleri zamanla hatırlayabiliyor. Mesela “bu projede class component kullanmıyoruz” gibi tercihlerin sonraki oturumlara taşınması mümkün.

Computer use

Metne göre bu özellik, Claude’un doğrudan bilgisayarı kontrol etmesine kadar gidiyor:

Bu alan hâlâ deneysel görünse de etkisi büyük olabilir.


Güçlü kullanıcı iş akışları

“Interview me” tekniği

Karmaşık bir işi başlatırken dev prompt yazmak yerine şunu demek daha iyi olabilir:

claude "Ne inşa etmek istediğim hakkında beni detaylı şekilde mülakata al"

Bu yöntem, senin yazmayı unuttuğun ayrıntıları sorularla ortaya çıkarır.

Araştır → uygula ayrımı

Önce anlamasını sağla, sonra uygulattır. Özellikle legacy projelerde kalite farkı ciddi oluyor.

Worktree ile paralel iş

terminal 1: claude --worktree auth-feature
terminal 2: claude --worktree billing-feature

Ayrı branch ve ayrı bağlamlarda paralel ilerlemek üretkenliği ciddi artırabilir.

Bağlam yönetimi

İyi kullanıcı ile çok iyi kullanıcı arasındaki fark çoğu zaman burada oluşuyor.

Öneriler:

Altın kural: aynı şey iki kez patladıysa zorlamayı bırak, temiz bağlamla yeniden başla.

! öneki

Bir komutu doğrudan shell’de çalıştırmak için:

!git status
!npm test
!cat src/config.ts

Harici editör

Uzun prompt’larda Ctrl+G kullanmak çok daha rahattır.

Rewind

İki kez Escape ile yanlış yöne giden işi geri sarabilmek bayağı işe yarıyor.


İzin modları ve kısayollar

Öne çıkan modlar:

Örnek izin tanımı

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Read",
      "Write",
      "Edit"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

Bu yapı, sürekli mikroyönetim yapmadan güvenli sınırlar koymayı sağlıyor.

Hatırlamaya değer kısayollar


Claude Code vs Cursor vs Copilot

Metindeki dürüst kıyas şu çizgide:

Claude Code

Cursor

GitHub Copilot

Asıl nokta şu: tek araç seçmek zorunda değilsin. Günlük akışta Cursor, ağır kaldırmada Claude Code gayet mantıklı bir kombinasyon olabilir.


Ekosistem

Claude Code etrafında büyüyen bazı dikkat çekici araçlar ve topluluk üretimleri var:

Buradaki vurgu, teorik liste değil; pratikte iş gören araçlar olması.


Yaygın hatalar

Metinde özellikle öne çıkan hatalar şunlar:

  1. CLAUDE.md içine roman yazmak
    Kısa, spesifik ve uygulanabilir kal.

  2. Görevler arasında /clear kullanmamak
    Eski bağlam yeni görevi bozabilir.

  3. Başarısız bağlamı zorlamaya devam etmek
    İki kez patladıysa temiz başla.

  4. Alt ajanları kullanmamak
    Uzun log ve test çıktıları ana konuşmayı boğar.

  5. Her işte Opus kullanmak
    Sonnet çoğu işte yeterlidir.

  6. Büyük değişikliklerde plan modunu atlamak
    Önce plan, sonra uygulama.

  7. Bağlamı aktif yönetmemek
    Bağlam penceresi de bir kaynaktır.


Son söz

Bu yazının en güçlü iddiası şu: Claude Code bir araç gibi değil, zamanla bir takım arkadaşı gibi davranmaya başlıyor.

Kod tabanını okuyabilen, standartları takip eden, test çalıştıran, PR açabilen, tercihlerini hatırlayan ve diğer araçlara bağlanabilen bir sistemden bahsediyoruz.

Meselenin özü de burada:

AI hakkında okumak başka şey, onunla gerçekten üretim yapmak başka şey.

Claude Code tarafında fark yaratan kullanıcılar, sadece komut verenler değil; bağlamı yönetenler, kuralları iyi tanımlayanlar ve aracı bir iş ortağı gibi kullananlar oluyor.

Share