.claude/ klasör yapısının analizi
(blog.dailydoseofds.com).claude/klasörü, Claude Code'un çekirdek kontrol dizini olarak proje bazlı kuralları, komutları, izinleri ve bellek durumunu yönetirCLAUDE.md, Claude'un davranış ilkelerini ve proje kurallarını tanımlayan merkezi dosyadır; birden çok katmandaki yapılandırmayı birleştirerek uygularcommands/,skills/,agents/klasörleri sırasıyla kullanıcı tanımlı komutlar, otomatik iş akışları ve uzman alt ajanları yapılandırarak iş birliği verimliliğini artırırsettings.json, komut çalıştırma izinlerini ve dosya erişim kapsamını kontrol eder;settings.local.jsonile kişisel override yapılabilir- Genel yapı, Claude'a projenin kimliğini ve kurallarını ileten bir protokol olarak çalışır; açık yapılandırmalar üretkenliği ve iş birliği verimliliğini en üst düzeye çıkarır
.claude/ klasör yapısı ve bileşenleri
.claude/klasörü, Claude Code'un davranışını kontrol eden çekirdek dizindir ve proje bazlı kuralları, komutları, izinleri ve bellek durumunu yönetir- Proje kökündeki klasör, ekip düzeyindeki yapılandırmaları içerir ve Git'e commit edilir
- Ana dizindeki (
~/.claude/) klasör, kişisel ayarları ve oturum kayıtlarını saklar; otomatik bellek ve kişisel komutları içerir -
CLAUDE.md — Claude'un kılavuzu
- Claude Code oturumu başlarken ilk okunan dosyadır ve Claude'un davranış ilkelerini ve proje kurallarını tanımlar
- Proje kökündeki
CLAUDE.mdekip ortak kurallarını,~/.claude/CLAUDE.mdgenel kişisel kuralları, alt klasörlerdekiCLAUDE.mdise klasöre özel kuralları üstlenir - Claude, birden çok
CLAUDE.mddosyasını birleştirerek uygular - Önerilen içerikler arasında build·test komutları, önemli mimari kararlar, sezgisel olmayan kısıtlar, adlandırma ve hata işleme kuralları yer alır
- 200 satırın altında tutulması önerilir; aşırı uzunluk, Claude'un yönergelere uyma oranını düşürür
-
CLAUDE.local.md — kişisel override
- Ekip ortak kurallarından ayrı olarak kişisel tercihleri yansıtabilen bir dosyadır
- Proje kökünde
CLAUDE.local.mdoluşturulursa Claude bunu da birlikte okur .gitignoreiçine otomatik olarak eklenir ve depoya commit edilmez
-
rules/ klasörü — modüler kural yönetimi
CLAUDE.mdbüyüdüğünde.claude/rules/klasörüne bölünerek yönetilebilir- Her kural dosyası konuya göre ayrılır, bu da bakımı kolaylaştırır
- Örnek:
code-style.md,testing.md,api-conventions.md,security.md
- Örnek:
- YAML frontmatter içindeki
pathsalanı kullanılarak yalnızca belirli yollara uygulanan kurallar tanımlanabilir- Örnek: API kurallarını yalnızca
src/api/**/*.tsyoluna uygulamak
- Örnek: API kurallarını yalnızca
- Yol belirtilmeyen kurallar, tüm oturumlarda her zaman yüklenir
-
commands/ klasörü — kullanıcı tanımlı slash komutları
.claude/commands/klasöründeki her Markdown dosyası bir slash komutu (/) olarak kaydedilir- Örnek:
review.md→/project:review,fix-issue.md→/project:fix-issue
- Örnek:
!backtick sözdizimi ile shell komutu çalıştırma sonucunu Claude prompt'una eklemek mümkündür- Örnek:
!git diff main...HEAD
- Örnek:
$ARGUMENTSdeğişkeni ile komut çalışırken argüman iletmek mümkündür- Örnek:
/project:fix-issue 234→ GitHub issue 234 içeriği otomatik yüklenir
- Örnek:
- Proje komutları ekiple paylaşılır; kişisel komutlar
~/.claude/commands/içinde saklanır ve tüm projelerde kullanılabilir
-
skills/ klasörü — otomatik çalışan iş akışları
- Komutlara benzer ama otomatik tetiklenen iş akışları olarak çalışır
- Claude, konuşma içeriğini analiz ederek uygun durumlarda otomatik çalıştırır
- Her skill, alt klasördeki
SKILL.mddosyasıyla tanımlanır; YAML frontmatter ile tetikleme koşulları ve izin verilen araçlar belirtilir- Örnek:
security-reviewskill'i güvenlikle ilgili konuşmalarda otomatik çalışır
- Örnek:
- Skill klasöründe
DETAILED_GUIDE.mdgibi yardımcı belgeler veya şablon dosyaları bulunabilir - Kişisel skill'ler
~/.claude/skills/içinde saklanır ve genel olarak kullanılabilir
-
agents/ klasörü — uzman alt ajanlar
.claude/agents/klasöründe belirli rolleri üstlenen alt ajanlar (persona) tanımlanır- Her ajan bağımsız bir sistem prompt'una, modele ve araç erişim iznine sahiptir
- Örnek:
code-reviewer.md,security-auditor.md
- Örnek:
toolsalanı ile erişilebilen araçlar sınırlandırılarak güvenlik ve rol ayrımı sağlanırmodelalanı ile işe uygun Claude modeli (ör. Haiku, Sonnet, Opus) seçilebilir- Claude, gerektiğinde ilgili ajanı ayrı bir bağlamda çalıştırır ve yalnızca sonucu özetleyerek raporlar
-
settings.json — izinler ve proje ayarları
.claude/settings.json, Claude'un komut çalıştırma izinlerini ve dosya erişim kapsamını tanımlar$schemaalanı, VS Code gibi ortamlarda otomatik tamamlama ve doğrulama desteği sağlarallowlistesi otomatik onaylanan komutları,denylistesi ise tamamen engellenen komutları belirtir- Örnek: izin verilenler —
Bash(npm run *),Read,Write,Edit - engellenenler —
Bash(rm -rf *),Bash(curl *),.envdosyasını okuma
- Örnek: izin verilenler —
- Listelerde olmayan komutlar için çalıştırmadan önce kullanıcı onayı istenir
- Kişiye özel izin değişiklikleri
.claude/settings.local.jsoniçinde saklanır ve Git'e dahil edilmez
-
~/.claude/ klasörü — genel ayarlar ve bellek
~/.claude/CLAUDE.md, tüm projelere ortak uygulanan kişisel yönergeleri içerir~/.claude/projects/, proje bazlı oturum kayıtlarını ve otomatik belleği saklar- Claude'un öğrendiği komutlar, kalıplar ve yapısal içgörüler korunur
/memorykomutuyla görüntülenip düzenlenebilir
~/.claude/commands/,~/.claude/skills/,~/.claude/agents/dizinleri genel kişisel komutlar·skill'ler·ajanlar için depodur
-
Genel yapı örneği
your-project/ ├── CLAUDE.md ├── CLAUDE.local.md └── .claude/ ├── settings.json ├── settings.local.json ├── commands/ ├── rules/ ├── skills/ └── agents/ ~/.claude/ ├── CLAUDE.md ├── settings.json ├── commands/ ├── skills/ ├── agents/ └── projects/ -
İlk kurulum adımları
- 1. adım:
/initkomutuyla temelCLAUDE.mdoluşturup yalnızca çekirdek içeriği bırakın - 2. adım:
.claude/settings.jsonyazın, çalıştırmaya izin verme·engelleme kurallarını tanımlayın -
3. adım:Sık kullanılan iş akışlarına (ör. kod inceleme, issue düzeltme) uygun komutlar ekleyin
- 4. adım:
CLAUDE.mdbüyürse.claude/rules/içine ayırın - 5. adım:
~/.claude/CLAUDE.mdiçine kişisel tercih kuralları ekleyin
- 4. adım:
- 1. adım:
Temel içgörüler
.claude/klasörü, Claude'a projenin kimliğini ve kurallarını ileten bir protokoldürCLAUDE.mden önemli dosyadır; bu dosya ne kadar net tanımlanırsa Claude'un üretkenliği o kadar artar- Diğer bileşenler bunu tamamlayan optimizasyon katmanlarıdır ve kademeli olarak genişletilebilir
- Açık yapılandırmalar, Claude'dan gelen düzeltme taleplerinin azalmasına ve verimli iş birliğine yol açar
Ek tartışmalar
settings.jsoniçindeki deny listesi insan kullanımı için güvenli olsa da, ajan modunda Bash erişimi nedeniyle ek koruma gerekebilir- OneCLI, ağ düzeyinde kimlik bilgisi token'larını ikame eden bir proxy katmanı sağlayarak gizli bilgilerin açığa çıkmasını önler
- Gelecekte yalnızca ajan moduna özel .claude yapılandırmalarına (kurallar·izinler·skill'lerin ayrılması) ihtiyaç duyulabileceği belirtiliyor
- Güncel belgelere göre komutlar (commands) ile skill'ler (skills) birleştirildi;
.claude/commands/deploy.mdile.claude/skills/deploy/SKILL.mdaynı şekilde/deploykomutunu üretir, ancak skill'ler ek özellikleri (yardımcı dosyalar, otomatik tetikleme vb.) destekler
1 yorum
Hacker News yorumları
Yapay zeka ajanları için toolkit kurmak, sanki kusursuz üretkenlik kurulumunu aramak gibi hissettiriyor
İnsan blog yazıları ve YouTube videoları izleyip rutin kuruyor ama sonunda basit bir yapılacaklar listesi ile istikrarlı çalışan kişi daha ileri gidiyor
Benim deneyimimde, Plain Claude'a plan yaptırıp gözden geçirdikten sonra uygulatmak hâlâ en iyi çalışan basit yöntem
Ajanın veri pipe etmesi, istek oluşturması, sistemi takip etmesi ve kodu güncellemesi gibi teknik beceriler, geliştirme verimliliğini sıçratıyor
10 milyon satırlık kodda üretkenlik ciddi biçimde arttı ve bunun içinde gerçek kod üretiminin payı %5 bile değil
Esas neden, test ve doğrulama için toolchain'leri hızlıca kurabilme yeteneği
Aslında kişi ne istediğini net biçimde bilip bunu iyi aktarabiliyorsa, yapay zekayla da oldukça çok iş yapılabiliyor
Çoğu kişi bunu bilmiyor. Bu yüzden plan çıkarttırma süreci, anlayış kazanmak için bir kısayol oluyor
Ama her oturumda bağlamı tekrar etmek ve
.mddosyaları kopyalamak gibi verimsizlikler varŞu anki hedefim bu tekrarı ortadan kaldırmak.
Biriken bağlamı tutan bir “context bank”i nasıl yönettiğinizi merak ediyorum — örneğin “rolüm, sorumlu olduğum ürün, güncel dokümanlar” gibi temel bilgiler
Dokümanlarda tekrar ve güncelliğini yitirmiş çok içerik var, bu yüzden tüm Drive'ı bağlamak da mümkün değil
Tekrarlanan bağlam iki kereden fazla ortaya çıkarsa bir Skill dosyası mı oluşturulmalı, yoksa dokümanları toplayıp tek bir klasörde mi yönetmeli, bunu düşünüyorum
Aşırı yapılandırma (over-configuration) kalite düşüşüne ve döngü sorunlarına yol açıyor
Modeller giderek iyileştiği için, eskiden gerekli olan talimatlar artık performansı engelleyebiliyor
Hatta Anthropic ekibinin her 30 günde bir
claude.mddosyasını sıfırladığını da duydumBu yüzden Claude'a bir MCP server yaptırdım ve artık muhasebe işlerini otomatik yürütüyor
Ay sonu kapanışından sonra Claude'a ana işleri çıkarıp Skill hâline getirtince, sanki bir junior muhasebeci edinmişim gibi çalıştı
Özel MCP ve Skill'lerin gerçekten çok faydalı olduğunu düşünüyorum
Birçok kişide, agentic coding'e başlamadan önce devasa bir kurulum duvarı oluşturuluyormuş hissi var
Ama başlangıçta boş bir
.claudeveAGENTS.mdile başlayıp kullanım şeklini doğrudan öğrenmek doğru yaklaşımBaşkalarının yaptığı skill'leri rastgele kurarsanız nondeterminism artıyor ve context window da boşa harcanıyor
İstisna olarak sadece
playwright-cligibi dış kurulumları önerebilirimÖrneğin şu kural gibi ön koşulları kontrol edecek şekilde ayarlarsanız daha güvenli oluyor
Güvenlik ekiplerinin de bu yaklaşımı tercih edeceğini düşünüyorum
Ben de kural tanımlarken Claude'un GPG imzası olmadan commit atmamasını sağladım
Ama bu tür kurallar sabit olmamalı, sürekli evrilmeli
Aksine, tekrar tekrar küçük başlayın ve kısa tutun diye vurguluyor
Yeni başlayan biri bile
AGENTS.mdiçine birkaç satır eklerse yapay zeka kullanıcının niyetini daha iyi anlıyorBasit yapılandırmalar yapay zeka arızalarını büyük ölçüde azaltıyor
Her geliştirici agentic araçlar kullandığında iş birliği biçimi de baştan değişiyor
Bu kadar karmaşık yapılandırma tartışmalarının, modeller geliştikçe 1 yıl içinde büyük ölçüde ortadan kalkacağını düşünüyorum
Asıl ilginç kısım
~/.claude/projectsklasörüGereksiz yapılandırma ne kadar azsa sonuçlar benim için o kadar iyi oldu
İnsanlar dokümanları aşırı derecede kuralcı hâle getiriyor ama yapay zeka yetkin ama gergin bir yetişkin gibi
Fazla talimat verince daha aptalca davranıyor
Bu yazı gerçek deneyimden çok üretilmiş gibi duruyor
Claude.mdkısa tutulmalı, içine sadece birkaç bağlantı konmalıBağlam biriktikçe performans düştüğü için planlama ile uygulamayı ayırmak ve her seferinde sıfırlamak gerekiyor
Skill'ler her zaman bağlamda mı duruyor ve komutlar sadece elle mi çağrılıyor, bu net değil
Keşke tüm model sağlayıcıları ortak bir standart dosya seti paylaşsa
O zaman Claude, Codex, Cursor ve Opencode arasında geçiş yapmak daha kolay olurdu
Aynı prompt'a her model farklı tepki verdiği için prompt tuning de modele göre değişmeli
agents.mdoluşturupClaude.md'nin ona referans vermesini sağlayabilir, sonra klasörler arasında symlink (sync) ile bağlayabilirsinizKusursuz değil ama oldukça iyi çalışıyor
Bu yüzden bugünkü çeşitliliği aslında olumlu buluyorum
Claude Fast'in alternatif dokümanı çok faydalı
.claudeklasörü tanımından neden nefret edeyim, bilmiyorumAna ajanı dosyaları doğrudan yazacak, bunları yinelemeli biçimde güncelleyecek ve kendini iyileştiren bir sistem kuracak şekilde yönlendirebilirsiniz
Şu anda
.claudekendi kendini çoğaltıyor, değerlendiriyor ve güncelliyor — ben kod yazmaktan çok.claudekodluyorumCLAUDE.mdbasit bir belge değil, Claude'un işletim sistemiDavranışı tanımlıyor, bilgiyi skill'lere devrediyor ve zamanla kendini geliştiren bir sistem kuruyor
İnsanların pek fark etmediği engel şu: Claude'a dosya düzenlettirseniz bile, yeniden okuyacağını açıkça belirtmezseniz değişiklikler yansımıyor
Örneğin
CLAUDE.mddosyasını yeni yazdıysanız, Claude'un bunu yeni talimat olarak algılaması için yeniden yüklemesi gerekiyor~/.claude/plansklasöründe plan modu çalıştırıldığında oluşturulan plan dosyaları saklanıyorBen bu dizini açıp yedek almak ya da referans olarak bakmak için sık kullanıyorum
Ben kurulumu global MCP server'lar ve composite agent etrafında yapıyorum
Her MCP server kendi araç setini tanımlıyor ve ajan bu çerçevede otonom biçimde çalışıyor
.agent.md, yalnızca kullanılabilir araçları açıklayan bir doküman; karmaşık yapılandırmalara gerek yokSkill'lerin veya yeniden kullanılabilir prompt'ların değerinin düşük olduğunu düşünüyorum
Modeller zaten yeterince akıllı; gereken şey yönlendirme (orientation)