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
- Claude Code Nedir?
- Kurulum Adımları
- Temel Yapılandırma
- Symfony Projeleri İçin CLAUDE.md Dosyası Oluşturma
- Temel Kullanım Senaryoları
- İleri Seviye Kullanım
- Symfony'ye Özel İpuçları ve En İyi Uygulamalar
- Sorun Giderme
- 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:
- Anthropic Console adresine gidin ve bir hesap oluşturun (veya giriş yapın)
- API anahtarı oluşturun
- 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 izniBash(git commit:*)
- Git commit komutları için izinBash(composer *)
- Composer komutları için izinBash(php *)
- PHP komutları için izinBash(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:
- MCP Puppeteer sunucusunu yükleyin
- Claude Code'a entegre edin
- 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:
- GitHub CLI'yi kurun:
brew install gh
(macOS) veyaapt install gh
(Ubuntu) - GitHub'a giriş yapın:
gh auth login
- 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
- API Bağlantı Hatası
- API anahtarınızı yeniden yapılandırın:
claude configure
- İnternet bağlantınızı kontrol edin
- API anahtarınızı yeniden yapılandırın:
- Dosya Düzenleme İzinleri
- İzin verilen araçları kontrol edin:
/allowed-tools
Edit
aracını izin verilen araçlar listesine ekleyin
- İzin verilen araçları kontrol edin:
- Symfony Komut Hatası
- Symfony CLI'nin kurulu olduğunu doğrulayın
- Bash komutlarına izin verin:
/allowed-tools
veBash(symfony *)
- Context Penceresi Sorunları
- Context penceresini temizleyin:
/clear
- Daha spesifik sorular sorun
- Context penceresini temizleyin:
- Claude Yanıtları Çok Uzun
- Daha spesifik talimatlar verin
- Tek seferde daha küçük görevler isteyin