deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Codex ve Cursor'ın aksine Claude Code'da çakışan CLAUDE.md dosyalarının kazananı yok

dev.to'da yayımlanan bir karşılaştırma, Claude Code'un bulduğu tüm CLAUDE.md dosyalarını birleştirdiğini ve kurallar çatıştığında modelin keyfi olarak seçmesini sağladığını ortaya koyuyor; Codex ve Cursor ise yalnızca modele bir ipucu olan bir öncelik sırası tanımlıyor.

Codex ve Cursor'ın aksine Claude Code'da çakışan CLAUDE.md dosyalarının kazananı yok

Claude Code her şeyi birleştiriyor ve keyfi seçiyor

dev.to'da yayımlanan uygulamalı bir karşılaştırma, birçok Claude Code kullanıcısını şaşırtan bir boşluğu netleştiriyor: Talimat dosyaları çeliştiğinde araçta hiçbir öncelik sırası yok. Bulduğu her şey — yönetilen talimatlar, ~/.claude/CLAUDE.md konumundaki kullanıcı düzeyindeki dosya, dosya sistemi kökünden çalışma dizinine kadar her CLAUDE.md ve CLAUDE.local.md, ayrıca .claude/rules/ — bağlamda birleştiriliyor. Hiçbir şey diğerinin yerine geçmiyor. Gönderide alıntılanan Anthropic belgeleri, iki talimat birbiriyle çeliştiğinde "Claude keyfi olarak birini seçebilir" diyor.

Soru başlangıçta, CLAUDE.md keşfinin nasıl çalıştığını soran bir Claude Code GitHub issue'sundan gelmişti. Bir maintainer, tüm dosyaların başlangıçta dahil edildiğini, dolayısıyla "çakışan talimatlar eklememeye dikkat etmeniz gerektiğini" yanıtladı. dev.to makalesine göre bu yanıtı hâlâ geçerli ve belgeler artık ayrıntıları belgeliyor.

AGENTS.md işleyişi bir karmaşılık ekliyor. Varsayılan olarak Claude Code, AGENTS.md dosyasını yalnızca çalışma dizininde veya üzerinde CLAUDE.md ya da CLAUDE.local.md olmadığında okur. Bu dosyalardan birini oluşturduğunuzda AGENTS.md tamamen atlanır; onu import etmeniz veya claude-md-and-agents-md modunu etkinleştirmeniz gerekir. Dikkat çekici bir sonuç: Kişisel bir CLAUDE.local.md paylaşılan bir CLAUDE.md dosyasını "düzeltmez" — yanında durur — ve ona güvenen bir repoda AGENTS.md'nin okunmasını sessizce de durdurabilir.

Codex ve Cursor bir kazanan tanımlıyor

Aynı karşılaştırma, her iki rakibin de bir sıralamaya sahip olduğunu ortaya koyuyor. Codex önce global ~/.codex/AGENTS.md dosyasını (veya AGENTS.override.md) yükler, sonra proje kökünden çalışma dizinine kadar her dizin için bir dosya yükler; varsayılan olarak en fazla 32 KiB. Daha yakın dosyalar bağlamda daha sonra göründüğü için önceki yönergeleri geçersiz kılar; boyut sınırını aşayan hiçbir şey hiç yüklenmez.

Cursor, Team Rules'ı, .cursor/rules/*.mdc içindeki proje kurallarını, User Rules'ı ve kök ile iç içe AGENTS.md dosyalarını birleştiriyor. Önceki kaynaklar kazanır: Team, Project'i; Project de User'ı yener; iç içe AGENTS.md dosyalarında ise daha spesifik olan kazanır.

AGENTS.md kuralının kendisi bunu özlü biçimde özetliyor: düzenlenen dosyaya en yakın AGENTS.md kazanır ve açık sohbet prompt'ları her şeyin yerine geçer.

"En yakın kazanır" neden hâlâ bir garanti değil

Gönderiye göre öncelik sırası olduğu yerlerde bile bu bir mekanizma değil, yalnızca bir ipucu. Her araç bir kuralın iki sürümünü de tek bir prompt'a koyuyor; öncelik, yalnızca birinin daha sonra gelmesi veya daha spesifik olarak etiketlenmesi anlamına geliyor; model yine ikisini de görüyor ve karar veriyor. Claude Code, CLAUDE.md içeriğini system prompt'tan sonra bir kullanıcı mesajı olarak iletiyor ve Anthropic, özellikle "belirsiz veya çakışan talimatlar" için katı uyum garantisi olmadığını söylüyor.

Yerleşik agent rehberliği de kurallarınızla yarışabilir — commit kurallarınız agent'ın kendi varsayılanlarıyla çakışabilir ve Claude Code, includeGitInstructions ile yerleşik git talimatlarını devre dışı bırakarak yalnızca sizinkilerin kalmasını sağlayabilir. Anthropic ayrıca her CLAUDE.md dosyasını 200 satırın altında tutmayı öneriyor; çünkü uzun dosyalar uyumu azaltıyor ve uzun bir dosyanın derinlerine gömülü bir çatışmayı fark etmek herkes için kolay değil.

Umut beklemek yerine çatışmaları nasıl ortadan kaldırırsınız

Gönderiden pratik öneriler:

  • Gerçekte neyin yüklendiğini denetleyin. Claude Code'da /context komutunu çalıştırıp Memory dosyaları listesini okuyun; Cursor'da hangi kuralların sürekli açık, hangilerinin glob'a bağlı olduğunu kontrol edin; Codex için repo kökünden başlattığınız yere kadar dizinleri gezin.

  • Her kurala tam olarak tek bir yurt verin. Repo genelindeki bilgiler kök dosyada, paket kuralları iç içe veya yola kapsamlı bir kuralda, kişisel tercihler kullanıcı dosyasında dursun.

  • Geçersiz kılmak yerine silin. Üstüne bir çelişki yığmak yerine kök kuralı daraltın (örneğin "pnpm kullan, ancak legacy/ hariç, bkz. legacy/AGENTS.md").

  • Asla başarısız olmaması gereken kuralları markdown'dan çıkarıp hook'lara, linter'lara veya CI kontrollerine taşıyın. Hiçbir öncelik sırası düz metni zorunlu kılmaz.

  • Büyük refactor'lerden sonra yeniden kontrol edin. Claude Code'un /doctor prompt-audit'i (v2.1.283+) birbiriyle çelişen dosyaları raporluyor; gönderinin yazarları ayrıca, yinelenen ve çakışan kuralları token maliyetleriyle birlikte işaretleyen ücretsiz bir tarayıcı tabanlı denetleyici olan Clogmeter'ı sunuyor.

Neden önemli

CLAUDE.md ve AGENTS.md dosyaları, agentic coding için fiili yapılandırma katmanı haline geldi; ancak anlamları araçlar arasında büyük farklılık gösteriyor. "En yakın dosya kazanır" varsayımı yapan bir geliştirici — bu Codex ve Cursor'da doğru, orada bile yalnızca tavsiye niteliğinde, Claude Code'da ise yanlış — build komutlarının, commit kurallarının veya güvenlik kurallarının sessizce yok sayıldığını görebilir. Güvenilir strateji yapısal olanıdır: Her kuralı tam olarak tek bir yerde tutun, dosyaları kısa tutun ve kritik olan her şeyi prompt'un dışında zorunlu kılın.

  • #claude-code
  • #ai-agents
  • #developer-tools
  • #agentic-coding
  • #llm

İlgili yazılar