Projen için bir CLAUDE.md
Bu sayfa, kendi repo'su olan ve kodla çalışan biri için. Claude Code bir repo'da açılınca kök dizindeki CLAUDE.md dosyasını okuyor, test komutunu ve dokunulmaması gereken yerleri oraya yazarsan ajan her oturuma bu kurallarla başlıyor. Soruları cevapla, oluşan dosyayı repo'na koy.
Son kontrol:
Oluşan dosya
Her cevapla birlikte güncelleniyor.
# Yöntem Bu repo'da her işi bu dosyadaki sırayla yap. Bir şey belirsizse tek bir soru sor, tahmin etme. ## Proje Bu repo bir web uygulaması. Arayüzde bir şey değiştiyse değişikliği tarayıcıda nerede göreceğimi söyle. ## Dil Bana Türkçe cevap ver. Kod, dosya adları, branch adları ve commit mesajları İngilizce olsun. ## Komutlar Bu projede henüz test yok. Kod yazmadan önce bana bir test aracı öner ve nedenini tek cümleyle söyle. Onay verirsem kur ve test komutunu bu bölüme yaz. ## Başlamadan önce Görevi önce kendi cümlelerinle bana anlat ve neye bakıp bitti diyeceğini yaz. Ben onay verene kadar kod yazma. ## Çalışma sırası 1. Önce testi yaz ve koştur. Test kırmızı yanınca nedenini bana tek cümleyle söyle. 2. Testi yeşile çeviren en küçük değişikliği yap. 3. Testleri tekrar koştur ve ne değiştiğini bana en fazla üç satırla anlat. 4. Yeşil olan her adımı ayrı bir commit'le kaydet. Commit mesajı değişikliği anlatan tek bir cümle olsun. Kırmızı bir testi sırf geçsin diye değiştirme. Testin yanlış olduğunu düşünüyorsan önce bana söyle. ## Branch ve PR - Her işi yeni bir branch'te yap, doğrudan main'e commit atma. - Kendi diff'ini push'tan önce baştan sona oku. Eksik bir test ya da kimsenin istemediği bir değişiklik bulursan düzelt. - Branch'i push etmek ve PR açmak için bana sor. - PR açıklamasına neyin değiştiğini ve son test çıktısını yaz. - PR'ı merge etme. ## Sınırlar Şifre ya da anahtar taşıyan bir dosyayı okuma, commit'e de koyma. Yeni bir bağımlılık eklemeden önce sor. `git push --force`, `git reset --hard`, `git clean` ve `rm -rf` komutlarını hiç çalıştırma. ## Bitti tanımı Komutlar bölümündeki her komut hatasız bitmeden işi bitmiş sayma. İşi bana teslim ederken son test çıktısını da göster. ## Takılırsan 1. Hata veren komutu tekrar koştur ve yalnız ilk hatayı oku. Onu düzelt, sonra baştan al. 2. Bozuk bir halin üstüne düzeltme yığma. Son yeşil commit'i `git log --oneline` ile bul ve oradan yeni bir branch aç. 3. Ekranımda ne gördüğümü bana sor. Hiçbiri işe yaramazsa bunu açıkça söyle ve işin daha küçük bir halini öner.
Kopyaladıktan ya da indirdikten sonra
Dosyayı repo'nun kök dizinine CLAUDE.md adıyla kaydet ve commit'le. Repo'da zaten bir CLAUDE.md varsa bu bölümleri onun sonuna ekle. Claude Code dosyayı oturum açılırken yüklüyor, yüklendiğini görmek için /context yaz ve Memory files listesine bak.
Ajanın hiç çalıştırmaması gereken komutları .claude/settings.json içindeki deny listesine de yaz. Yasak yalnız CLAUDE.md'de yazılıysa ajan gh pr merge gibi bir komutu yine de çalıştırabilir, çünkü Claude Code o komutu kendiliğinden engellemiyor.
Örnekler
Üç hayali proje için formdan çıkan dosyalar. Birini seçip formu onunla doldur. Dosyayı olduğu gibi de kopyalayabilirsin.
Web uygulaması
Kafeler için masa rezervasyonu alan bir Next.js uygulaması. İş, testler ve build geçince bitiyor.
API
Mobil uygulamaya sipariş ve stok verisi sunan bir Spring Boot API'si. Dosya İngilizce, ajan Türkçe cevap veriyor.
Formdaki kuralların çoğunu ücretsiz rehberimde de kullanıyorum. Rehber, yapay zekayla küçük bir web uygulamasını yayına almayı adım adım anlatıyor. Okumak istersen 2 saatte canlı uygulama sayfasından başla.