Hepsi tek bir CLAUDE.md dosyasında. Andrej Karpathy'nin, yapay zekânın kod yazarken düştüğü tuzaklar üzerine yazdıklarından derlenmiş. Hazırlayan forrestchang, README'de lisansı MIT yazıyor.
Kuruluma geç GitHub sayfasıYıldız sayısı 17 Ekim 2026'da GitHub'dan alındı. Claude Code'un kendi aboneliği ayrı.
Karpathy üç şeyden şikâyet ediyor. Model senin yerine bir varsayım yapıp sormadan devam ediyor. Basit bir işi gereğinden uzun ve karmaşık yazıyor. Bir de senden istenmeyen yerlere, yan koda ve yorumlara dokunuyor.
Bu repo bunlara karşı dört kuralı tek dosyada topluyor. Kurduğun şey Claude'un okuduğu düz bir metin dosyası, kendi başına hiçbir şey çalıştırmıyor. Repodaki öteki dosyalar da metin ve ayar: README, örnekler, Cursor kuralı, eklenti ayarı. Betik ya da otomatik çalışan bir kanca yok.
Hazırlayana göre işe yaradığını şuradan anlıyorsun: değişiklik listesinde istemediğin satırlar azalıyor, Claude sorusunu hatadan sonra değil koda başlamadan soruyor. Bunu kendi projende sen ölçeceksin, repoda bir ölçüm yok.
Claude Code'un içinde, sohbet satırına sırayla yaz. Önce pazar yerini ekle:
/plugin marketplace add forrestchang/andrej-karpathy-skillsSonra eklentiyi kur:
/plugin install andrej-karpathy-skills@karpathy-skillsBöylece kurallar tek projeye bağlı kalmıyor. Eklenti bunları bir skill olarak ekliyor; skill'in kendi açıklamasına göre Claude onu kod yazarken, incelerken ya da düzenlerken açıyor.
Yalnız bir projede istiyorsan dosyayı o projenin köküne indir. Claude Code o klasörde açıldığında dosyayı okuyor. Terminalde proje klasöründeyken, yeni bir projeysen:
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.mdProjende zaten bir CLAUDE.md varsa sonuna ekle:
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.mdKomutlar reponun README dosyasından birebir alındı. Repo bugün multica-ai hesabında duruyor, komutlardaki eski forrestchang adresi oraya yönleniyor.
Windows PowerShell'de curl, curl programı değil başka bir komutun kısa adı. Yukarıdaki satırı Git Bash ya da WSL'de çalıştırırsan sorun yok. PowerShell'de kalacaksan yeni proje için curl yerine curl.exe yaz:
curl.exe -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.mdVar olan dosyanın sonuna eklemek için >> kullanma: Windows PowerShell'de eklenen kısmı farklı bir kodlamayla yazıyor ve dosya bozuk okunuyor. Bunun yerine:
curl.exe -s -o karpathy.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
Add-Content CLAUDE.md '' -Encoding UTF8
Get-Content karpathy.md -Encoding UTF8 | Add-Content CLAUDE.md -Encoding UTF8Sonra karpathy.md dosyasını silebilirsin.
Claude varsayımlarını açıkça yazar. İsteğin iki anlamı varsa birini sessizce seçmez, ikisini de gösterir. Daha basit bir yol görürse söyler. Bir şey belirsizse durur, neyin belirsiz olduğunu söyler ve sorar.
Don't assume. Don't hide confusion. Surface tradeoffs.CLAUDE.md, kural 1
Örnek: "Kayıt formuna doğrulama ekle" dedin. Telefon zorunlu mu, hata mesajı alanın altında mı çıkacak? Tahmin edip yazmak yerine bunu önce sana soruyor.
İşi çözen en az kod. İstenmeyen özellik yok, bir kere kullanılacak kod için soyutlama yok, kimsenin istemediği ayar seçeneği yok, olamayacak bir durum için hata yakalama yok. 200 satırlık iş 50 satıra inebiliyorsa yeniden yazılır.
Minimum code that solves the problem. Nothing speculative.CLAUDE.md, kural 2
Örnek: Bir CSV dosyasındaki tutarları toplayan küçük bir betik istedin. Ayar dosyası, eklenti yapısı ve beş sınıf yerine tek bir fonksiyon geliyor.
Yalnız gereken yere dokunur. Yandaki kodu, yorumları, biçimi "iyileştirmez", çalışan şeyi yeniden düzenlemez, dosyanın mevcut stiline uyar. İlgisiz ölü kod görürse silmez, sana söyler. Kendi değişikliğinin boşa çıkardığı import ve değişkenleri ise temizler.
Every changed line should trace directly to the user's request.CLAUDE.md, kural 3
Örnek: Bir butonun rengini değiştirmesini istedin. Değişiklikte yalnız o renk satırı var; girintiler, değişken adları ve öteki bileşenler olduğu gibi kalıyor.
Görevi doğrulanabilir bir hedefe çevirir. "Hatayı düzelt" yerine "hatayı tekrar üreten bir test yaz, sonra testi geçir". Çok adımlı işte kısa bir plan yazar ve her adımın yanına nasıl kontrol edileceğini koyar. Kontrol geçmeden "bitti" demez.
Define success criteria. Loop until verified.CLAUDE.md, kural 4
Örnek: "1. Formu düzelt → kontrol: e-posta boşken gönderince hata yazısı çıkıyor. 2. Kaydı düzelt → kontrol: dolu formla kayıt veritabanında görünüyor."
Bilmen gerekenler
Bu kurallar Claude'un nasıl davranacağını yönlendiriyor, hatasız çalışmasını garanti etmiyor. Yazdığı kodu yine de kendin kontrol et.
Kurallar hızdan çok dikkati öne alıyor. Hazırlayanın kendi notu da bu: yazım hatası düzeltmek gibi basit işlerde her adımı bu titizlikle yürütmek gerekmiyor.
Repoda ayrı bir LICENSE dosyası yok, GitHub da lisansı tanımıyor. README ve eklenti ayar dosyası (plugin.json) lisansı MIT olarak yazıyor.
bu rehberi kim hazırladı
Ben Oktay, Mihenk'te küçük ve orta ölçekli işletmelere web sitesi, özel yazılım ve otomasyon yapıyorum. Claude Code'u kendi işimde her gün kullanıyorum.
mihenkstudyo.com891 ücretsiz skill rehberi →Claude ile 20 video efekti →