Claude Code Kurulum ve Kullanım Kılavuzu: Symfony Geliştiricileri İçin

Claude Code Kurulum ve Kullanım Kılavuzu: Symfony Geliştiricileri İçin

Bu rehber, Symfony geliştiricilerinin Claude Code'u kurmasına ve günlük iş akışlarına entegre etmesine yardımcı olmak için tasarlanmıştır. Claude Code, Anthropic tarafından geliştirilen ve yazılım geliştirme süreçlerini otomatikleştirmek ve hızlandırmak için tasarlanmış bir komut satırı aracıdır.

İçindekiler

  1. Claude Code Nedir?
  2. Kurulum Adımları
  3. Temel Yapılandırma
  4. Symfony Projeleri İçin CLAUDE.md Dosyası Oluşturma
  5. Temel Kullanım Senaryoları
  6. İleri Seviye Kullanım
  7. Symfony'ye Özel İpuçları ve En İyi Uygulamalar
  8. Sorun Giderme
  9. Kaynaklar

Claude Code Nedir?

Claude Code, Anthropic'in Claude 3.7 Sonnet modelini kullanan, komut satırından çalışan bir yapay zeka aracıdır. Bu araç, kodlama süreçlerini otomatikleştirmek, kod tabanını anlamak, hataları düzeltmek ve yeni özellikler geliştirmek için tasarlanmıştır. Claude Code, geliştirme ortamınızda size yardımcı olmak için dosyaları okuyabilir, komutları çalıştırabilir ve kod yazabilir.

Kurulum Adımları

1. Ön Koşullar

Claude Code'u kurmadan önce, sisteminizde aşağıdaki yazılımların kurulu olduğundan emin olun:

  • Node.js (son kararlı sürüm)
  • Git
  • Symfony CLI (isteğe bağlı, ancak önerilir)

2. Claude Code'u Yükleme

Claude Code'u yüklemek için aşağıdaki adımları izleyin:

bash
# NPM kullanarak global olarak yükleme npm install -g @anthropic/claude-code # Veya Yarn kullanarak yarn global add @anthropic/claude-code

3. API Anahtarını Yapılandırma

Claude Code kullanmak için bir Anthropic API anahtarına ihtiyacınız vardır:

  1. Anthropic Console adresine gidin ve bir hesap oluşturun (veya giriş yapın)
  2. API anahtarı oluşturun
  3. Claude Code için API anahtarını yapılandırın:
bash
claude configure

Bu komut, API anahtarınızı güvenli bir şekilde saklamak için interaktif bir kurulum sihirbazı başlatacaktır.

4. Kurulumu Doğrulama

Kurulumu doğrulamak için aşağıdaki komutu çalıştırın:

bash
claude --version

Bu komut, Claude Code'un sürüm numarasını göstermelidir.

Temel Yapılandırma

Claude Code'u İlk Defa Çalıştırma

Symfony projenizin kök dizininde Claude Code'u başlatmak için:

bash
cd /path/to/your/symfony/project claude

İlk çalıştırmada, Claude Code size /init komutunu çalıştırmanızı önerecektir:

/init

Bu komut, projeniz için temel bir CLAUDE.md dosyası oluşturacaktır. Bu dosya, Claude'un projenizi anlaması için gerekli bilgileri içerir.

İzin Verilen Araçları Yapılandırma

Claude Code, varsayılan olarak her eylem için izin ister. Sık kullanılan araçlara otomatik izin vermek için:

bash
/allowed-tools

Symfony geliştiricileri için önerilen izinler:

  • Edit - Dosya düzenleme izni
  • Bash(git commit:*) - Git commit komutları için izin
  • Bash(composer *) - Composer komutları için izin
  • Bash(php *) - PHP komutları için izin
  • Bash(symfony *) - Symfony CLI komutları için izin

Symfony Projeleri İçin CLAUDE.md Dosyası Oluşturma

CLAUDE.md dosyası, Claude'un projenizi anlaması için en önemli araçtır. Symfony projeleri için özel bir CLAUDE.md örneği:

markdown
# Symfony Projesi Rehberi ## Sık Kullanılan Komutlar ### Symfony Komutları - `symfony console` veya `php bin/console`: Symfony komut satırı aracını çalıştırır - `symfony console debug:router`: Tüm tanımlı rotaları listeler - `symfony console cache:clear`: Symfony önbelleğini temizler - `symfony console make:controller`: Yeni bir Controller oluşturur - `symfony console make:entity`: Yeni bir Entity oluşturur - `symfony console doctrine:migrations:migrate`: Veritabanı migrasyonlarını çalıştırır - `symfony console doctrine:migrations:diff`: Yeni bir migrasyon oluşturur ### Composer Komutları - `composer install`: Bağımlılıkları yükler - `composer update`: Bağımlılıkları günceller - `composer require [paket]`: Yeni paket ekler ## Kod Yapısı Rehberi ### Symfony Dizin Yapısı - `config/`: Symfony yapılandırma dosyaları - `src/`: Uygulama kaynak kodları - `Controller/`: Controller sınıfları - `Entity/`: Doctrine Entity sınıfları - `Repository/`: Doctrine Repository sınıfları - `Service/`: Servis sınıfları - `templates/`: Twig şablonları - `public/`: Web kök dizini ve statik dosyalar - `migrations/`: Veritabanı migrasyon dosyaları - `var/`: Önbellek ve log dosyaları (düzenlemeyin) - `vendor/`: Composer bağımlılıkları (düzenlemeyin) ### Kod Standartları - PSR-1, PSR-2, PSR-4 standartlarını takip et - Controller metodları `Action` soneki ile adlandırılmalı - Servis sınıfları için dependency injection kullan - Entity'ler için getter/setter metodları kullan - Twig şablonlarında PascalCase yerine kebab-case kullan ### İsimlendirme Kuralları - Controller sınıfları: `[İsim]Controller` - Entity sınıfları: tekil isim, örn. `User` - Repository sınıfları: `[Entity]Repository` - Servis sınıfları: `[İşlev]Service` veya `[İşlev]Manager`

Bu CLAUDE.md dosyasını projenizin kök dizinine kaydederek, Claude Code'un Symfony projenizle daha etkili çalışmasını sağlayabilirsiniz.

Temel Kullanım Senaryoları

1. Kod Tabanını Anlama

Yeni bir Symfony projesine başladığınızda, Claude Code'u kullanarak kod tabanını hızlıca anlayabilirsiniz:

Claude, bu Symfony projesinin yapısını anlamamda bana yardımcı olur musun? Temel Controller'ları, Entity'leri ve Servis sınıflarını listele ve aralarındaki ilişkileri açıkla.

2. Yeni Özellik Geliştirme

Yeni bir özellik geliştirmek için Claude Code'u şu şekilde kullanabilirsiniz:

Claude, bir blog yazısı yorumlama sistemi oluşturmak istiyorum. Lütfen şunları yap: 1. Comment entity'si oluş 2. CommentRepository sınıfını oluştur 3. CommentController sınıfını oluştur 4. Yorumları görüntülemek ve eklemek için Twig şablonları oluştur 5. Gerekli rotaları ve form tiplerini oluştur Önce bir plan oluştur, sonra adım adım kodlama yapalım.

3. Hata Ayıklama

Hata mesajlarını Claude Code ile analiz edebilirsiniz:

Claude, şu hata mesajını alıyorum: [HATA MESAJI]. Bu hatanın nedenini bul ve nasıl düzeltebileceğimi göster.

4. Test Yazma

Unit testler ve fonksiyonel testler oluşturmak için:

Claude, UserService sınıfı için PHPUnit testleri oluştur. Özellikle register() ve login() metodlarını test et.

5. Kod İnceleme

Mevcut kodunuzu incelemek ve iyileştirmek için:

Claude, src/Controller/ProductController.php dosyasını incele ve kod kalitesini artırmak için önerilerde bulun. Özellikle performans ve güvenlik açısından bakmanı istiyorum.

İleri Seviye Kullanım

1. Özel Slash Komutları Oluşturma

Symfony projeniz için özel slash komutları oluşturabilirsiniz. Örneğin, .claude/commands/create-symfony-crud.md dosyasında şu içeriği oluşturun:

markdown
Lütfen Symfony için $ARGUMENTS entity'si için tam bir CRUD işlemleri oluştur. Adımlar: 1. Entity sınıfını oluştur 2. Controller oluştur 3. Repository sınıfını oluştur 4. Form tipini oluştur 5. Twig şablonlarını oluştur (index, show, edit, new) 6. Rotaları yapılandır 7. Migrasyon dosyasını oluştur Symfony best practice'lerine uygun kod üret ve beni adım adım bilgilendir.

Bu komutu kullanmak için:

/project:create-symfony-crud Product

2. MCP Sunucuları Kullanma

Claude Code, çeşitli MCP (Model Context Protocol) sunucuları ile çalışabilir. Örneğin, Symfony projenizde Puppeteer ile tarayıcı otomasyonu için:

  1. MCP Puppeteer sunucusunu yükleyin
  2. Claude Code'a entegre edin
  3. Web sayfalarınızı test edin:
Claude, lütfen Puppeteer kullanarak ürün listeleme sayfamızı test et. Sayfada en az 5 ürün görüntülendiğini ve filtreleme işlevinin çalıştığını doğrula.

3. GitHub Entegrasyonu

GitHub CLI ile entegrasyon için:

  1. GitHub CLI'yi kurun: brew install gh (macOS) veya apt install gh (Ubuntu)
  2. GitHub'a giriş yapın: gh auth login
  3. Claude Code ile GitHub işlemlerini otomatikleştirin:
Claude, lütfen şu değişiklikleri yap: 1. ProductController.php'de bir hata düzeltmesi yap 2. Değişiklikleri commit'le 3. "Fix pagination bug in ProductController" başlıklı bir PR oluştur

Symfony'ye Özel İpuçları ve En İyi Uygulamalar

1. Doctrine Entity İlişkileri

Claude'a Doctrine entity ilişkilerini oluştururken daha açık talimatlar verin:

Claude, Product ve Category arasında many-to-many ilişkisi oluştur. İlişki tablosu product_category olsun ve cascade işlemlerini doğru şekilde yapılandır.

2. Form Tipleri

Symfony form tipleri oluştururken:

Claude, ProductType adında bir form tipi oluştur. Form, name (string), price (float), description (text) ve category (entity, multiple select) alanları içermeli. Bootstrap 5 temasına uygun şekilde stillendir.

3. Servis Konteyner ve Dependency Injection

Servis tanımları için:

Claude, email gönderme işlevi için bir EmailService sınıfı oluştur. Bu servisi services.yaml'da tanımla ve gerekli parametreleri enjekte et. Ayrıca bir servis tag'i ekle.

4. Symfony Güvenlik Bileşeni

Güvenlik yapılandırması için:

Claude, admin ve user rollerine sahip bir güvenlik yapılandırması oluştur. Login formu, oturum açma işlemi ve güvenlik duvarlarını yapılandır. security.yaml ve ilgili controller'ları oluştur.

5. API Geliştirme

API Platform veya RESTful API geliştirme için:

Claude, Product entity'si için bir RESTful API oluştur. GET, POST, PUT ve DELETE endpoint'lerini içermeli, JWT kimlik doğrulaması kullanmalı ve API Platform ile entegre olmalı.

Sorun Giderme

Genel Sorunlar ve Çözümleri

  1. API Bağlantı Hatası
    • API anahtarınızı yeniden yapılandırın: claude configure
    • İnternet bağlantınızı kontrol edin
  2. Dosya Düzenleme İzinleri
    • İzin verilen araçları kontrol edin: /allowed-tools
    • Edit aracını izin verilen araçlar listesine ekleyin
  3. Symfony Komut Hatası
    • Symfony CLI'nin kurulu olduğunu doğrulayın
    • Bash komutlarına izin verin: /allowed-tools ve Bash(symfony *)
  4. Context Penceresi Sorunları
    • Context penceresini temizleyin: /clear
    • Daha spesifik sorular sorun
  5. Claude Yanıtları Çok Uzun
    • Daha spesifik talimatlar verin
    • Tek seferde daha küçük görevler isteyin

Kaynaklar