--system-prompt ile bir kodlama kurali ekliyorsunuz. Calisiyor — ancak simdi Claude guvenlik yonergelerini, kod stili tercihlerini ve CLAUDE.md dosyalarinizdan gelen tum talimatlari unutmus durumda. Eklemek istediginizde tum sistem istemini degistirdiniz. Bu, uretim botlarini bozar — aniden icerik politikalarini gormezden gelirler ve onay almadan yikici islemler gerceklestirirler.
Claude’a istemin otesinde talimat vermenin uc yolu vardir: --append-system-prompt varsayilanlarin uzerine kurallar ekler, --system-prompt varsayilanlari tamamen degistirir ve CLAUDE.md dosyalari sikilamayi (compaction) atlatan kalici proje duzeyinde yapilandirma saglar. Dogru olani secmek, Claude’un guvenlik yonergelerini koruyup korumayacagini, cagri basina ne kadar odeyeceginizi ve kurallarinizin oturumlar arasinda gecerli kalip kalmayacagini belirler.
Ozel bir nedeniniz olmadikca --append-system-prompt kullanin. --system-prompt her seyi degistirir — yalnizca korumalı bir sohbet botu kisililigi veya dosya sistemi erisimi olmayan saf bir JSON donusturucu gibi bir sey insa ederken kullanin.
—append-system-prompt
Bu guvenli, eklemeli yaklasimdir. Metniniz varsayilan sistem isteminin sonuna eklenir, boylece Claude tum yerlesik guvenlik yonergelerini, arac talimatlarini ve kodlama kurallarini korur. Kurallariniz bunlarin uzerine katmanlanir.
Eklenen metin Claude’un gordugu sistem isteminin bir parcasi olur, ancak hicbir sey cikarilmaz. Bu, cogu kullanim senaryosu icin dogru secimdir: karmasik istekler icin plan modunu zorlamak, kod inceleme kriterleri eklemek, “her zaman TypeScript strict modu kullan” gibi alana ozgu kurallar enjekte etmek veya cikti formati kisitlamalari belirlemek.
# Force plan-first behavior for complex tasksclaude -p "Refactor the auth module" \ --append-system-prompt "When the user brings a list of changes, \immediately call EnterPlanMode and research the codebase before presenting a plan."
# Security review with structured output rulesclaude -p "Review auth.py" \ --append-system-prompt "Focus exclusively on SQL injection and XSS vulnerabilities. \Rate each finding as Critical, High, Medium, or Low."—system-prompt
Bu bayrak varsayilan Claude Code sistem isteminin tamamini degistirir. Yerlesik her sey — guvenlik yonergeleri, arac kullanim talimatlari, kodlama kurallari, izin yonetimi kurallari, git guvenlik protokolleri, ton ve stil yonergeleri — gider. Claude yalnizca sizin sagladiginiz seyleri takip eden bos bir sayfa olur.
TEHLIKE: —system-prompt TUM guvenlik yonergelerini kaldirir. Varsayilan sistem istemi kritik kurallar icerir: sormadan dosya silme, git guvenlik protokolleri, izin yonetimi, icerik politikasi uyumu ve daha fazlasi. Degistirmek bunlarin TUMUNU kaldirir. Guvenlik kurallari olmadan Claude, onay almadan yikici dosya islemleri (rm -rf) gerceklestirir. Ozellikle bir sohbet botu veya ogretmen gibi bos sayfa bir kisililige ihtiyaciniz yoksa —append-system-prompt kullanin.
Tam degistirme, Claude’un tamamen farkli bir kisilik olmasi gerektiginde dogru aractir — bir Gandalf sohbet botu, bir dil ogretmeni, saf bir JSON donusturucu. Dosya sistemi erisimini devre disi birakmak ve korumalı bir kisilik olusturmak icin --tools "" ile eslestirin:
# Pure persona with no tool accessclaude -p "Tell me about yourself" \ --system-prompt "You are Gandalf the Grey. Speak in character." \ --tools ""CLAUDE.md
Hem --system-prompt hem de --append-system-prompt gecicidir. Yalnizca mevcut claude -p cagrisina uygulanirlar ve bir oturumu --resume ile devam ettirdiginizde korunmazlar. Kalici, proje duzeyinde talimatlar icin CLAUDE.md kullanin.
Bir CLAUDE.md dosyasi oturum baslangicinda diskten yuklenir ve sikistirmadan (compaction) sonra yeniden okunur. Bu, kurallarinizin /compact komutunu ve otomatik sikilamayi tetikleyen uzun oturumlari atlattigini anlamir. Dosyayi proje kokunuze yerlestirin ve o dizinden baslanan her oturum talimatlari devralir.
## Coding Standards- Use TypeScript strict mode for all new files- Prefer named exports over default exports- All functions must have JSDoc comments
## Git Rules- Never commit directly to main- Prefix commit messages with feat:, fix:, or chore:Kalicilik Karsilastirmasi
| Kaynak | Ne Zaman Yuklenir | /compact’tan Saglar mi | Kapsam |
|---|---|---|---|
—system-prompt | Oturum baslangici | N/A (gecici) | Tek cagri |
—append-system-prompt | Oturum baslangici | N/A (gecici) | Tek cagri |
CLAUDE.md | Oturum baslangici + sikistirma sonrasi | Evet (diskten yeniden okunur) | Proje duzeyi kalici |
CLAUDE.md’yi 200 satirin altinda tutun. Uzun dosyalar onemli miktarda baglam tuketir ve Claude tum talimatlara uyamayabilir. En onemli kurallarinizi ust kisma yerlestirin.
Hangisi Ne Zaman Kullanilir
Dogru Mekanizmayi Secmek
| Durum | Kullanin | Neden |
|---|---|---|
| Ozel kurallarla tek seferlik CI isi | —append-system-prompt | Guvenlik varsayilanlarini korur, kurallarinizi tek calisma icin ekler |
| Bos sayfa kisilik (sohbet botu, ogretmen) | —system-prompt | Varsayilanlari degistirir, boylece kisilik seyreltilmez |
| Tum oturumlar icin proje capinda kurallar | CLAUDE.md | Oturumlar arasinda kalici kalir ve sikilamayi atlatir |
| Tek bir cagri icin gecici kural | —append-system-prompt | Yan etkisi yok, dosya degisikligi gerekmiyor |
/compact’i atlatmasi gereken kurallar | CLAUDE.md | Sikistirmadan sonra diskten yeniden okunur |
| CI guvenlik inceleme hatti | —append-system-prompt | Arac erisimini ve guvenligi koruyarak inceleyici kisiligi ekler |
Farki kendiniz gorun. Once ekleyin:
claude -p “What instructions do you have?” —append-system-prompt “Always respond in exactly one sentence.”
Simdi degistirin:
claude -p “What instructions do you have?” —system-prompt “Always respond in exactly one sentence.”
—system-prompt’un Claude’un varsayilan talimatlarini nasil cikardigina, —append-system-prompt’un ise onlari koruduğuna dikkat edin. Hangi yanit daha kullanisli?
Token Maliyeti: Degistirme ve Ekleme
Sectiginiz sistem istemi mekanizmasi token sayilari ve maliyet uzerinde dogrudan etkiye sahiptir. Kisa bir istemle tam degistirme, ~14K varsayilandan daha az onbellege alinmis token kullanir. Ekleme, birlesmis istem icin yeni cache girisleri olusturur.
Degistirme cagrisi 8.811 onbellek okuma tokeniyle $0.015’e mal olur. Ekleme cagrisi 9.124 onbellek olusturma tokeniyle $0.061’e mal olur cunku birlesmis varsayilan-arti-eklenmis istem ilk kez onbellege alinmak zorundaydi. Ayni eklenen metinle yapilan sonraki cagrilarda, onbellek yeniden kullanildikca olusturma maliyeti duser.
Uc Katmanin Hepsi Birlesir
Yaygin bir yanlis kanı: --system-prompt CLAUDE.md’yi degistirir. Degistirmez. Uc baglam katmaninin hepsi ayni anda aktiftir:
Sistem Istemi Yigini
| Katman | Kaynak | —system-prompt ile Kaldirilir mi? |
|---|---|---|
| Temel sistem istemi | Yerlesik varsayilan VEYA —system-prompt | Degistirilir (bayragin degistirdigi budur) |
| CLAUDE.md hiyerarsisi | Dizin agacindaki tum CLAUDE.md dosyalari | Hayir — her zaman yuklenir, devre disi birakilamaz |
| Ekleme istemi | —append-system-prompt | Hayir — her seyin ardindan eklenir |
--system-prompt "pirate speak" + --append-system-prompt "end with ARRR" + “TEST_PROJECT’dan bahset” iceren bir CLAUDE.md calistirmak — uc talimat da her yanıtta gorulur. Etkili yigin sudur: [--system-prompt VEYA varsayilan] + [CLAUDE.md hiyerarsisi] + [--append-system-prompt].
GUVENLIK: CLAUDE.md yuklemesini devre disi birakacak bir bayrak yoktur. Klonladiginiz herhangi bir depo Claude’un baglamina talimat enjekte edebilir. Hicbir —system-prompt, hicbir —disable-slash-commands, hicbir .git siniri bunu engelleyemez. Tek izolasyon mekanizmasi ayri depolar veya komutlari calistirmadan once CLAUDE.md’nin manuel olarak incelenmesidir. Korumalı alan (sandbox), allowedTools kisitlamalari ve on-kontrol CLAUDE.md denetimi dahil azaltma stratejileri icin Bolum 19’a bakin.
Dikkat Edilmesi Gerekenler
Tam degistirme guvenlik yonergelerini kaldirir. Varsayilan sistem istemi “sormadan dosya silme” ve git guvenlik protokolleri gibi kurallar icerir. —system-prompt kullandiginizda bunlarin hepsi kaybolur. Claude istendigi takdirde mutlulukla rm -rf yapar. Gelistiriciler guvenlik korumalarinin hala gecerli olmasini beklediginde bu veri kaybina neden olur. Tam degistirmeyi yalnizca guvenligi kendiniz ustlenmeye kasitli olarak karar verdiginizde kullanin — ve dosya sistemi erisimini tamamen devre disi birakmak icin —tools "" ile eslestirmeyi dusunun.
MCP arac aciklamalari tam degistirmeyi atlatir. MCP araclari (Chrome DevTools, Notion, vb.) sistem isteminden ayri olarak enjekte edilir. —system-prompt “short” —tools "" ile bile bir test 22.295 onbellege alinmis okuma tokeni gosterdi cunku MCP aciklamalari baglamda kaldi. Bunlari sistem istemi bayraklariyla kaldiramazsiniz.
—append-system-prompt —print modunda gecicidir. Bir oturumu —resume ile devam ettirdiginizde korunmaz. Oturum devam ettirmelerinde gecerli kalan kurallara ihtiyaciniz varsa bunlari CLAUDE.md’ye koyun.
CLAUDE.md Boyutlandirma Rehberi
CLAUDE.md dosyalari her oturum baslangicinda baglama yuklenir ve sikilamayi atlatir. Boyutlari baslangic maliyetini, yanit kalitesini ve ilk yanit gecikmesini dogrudan etkiler.
Onerilen limitler:
- Tek bir CLAUDE.md icin 10.000 kelimenin altinda — optimum performans icin topluluk konsensüsü
- 2.800+ satir olculebilir bozulmaya neden olur — ~2.100 ek baslangic tokeni ve 10-12 saniye ilk yanit gecikmesi
- 47.000 kelime felaket boyutunda — bu olcekte performans dramatik olarak duser
Monorepo bolme stratejisi: Tek bir devasa kok CLAUDE.md yerine alt dizine ozgu dosyalara bolun:
project/├── CLAUDE.md # 2,000 words — global conventions only├── frontend/CLAUDE.md # 3,000 words — React patterns, component structure├── backend/CLAUDE.md # 3,000 words — API conventions, database patterns└── infrastructure/CLAUDE.md # 2,000 words — deployment, CI/CD specificsClaude, dizin hiyerarsisindeki (kokten cwd’ye kadar) tum CLAUDE.md dosyalarini yukler. Alt dizin dosyalari ust dosyalara eklenir — onlari degistirmez. Yalnizca mevcut calisma dizininize giden yoldaki CLAUDE.md dosyalari yuklenir, boylece bir frontend gelistirici backend CLAUDE.md tokenleri icin odeme yapmaz.
CLAUDE.md boyutu icin kesin bir limit yoktur, ancak topluluk testleri 10.000 kelimenin otesinde olculebilir bozulma gosterir: daha yavas ilk yanitlar, daha yuksek baslangic token maliyetleri ve Claude’un dikkati cok fazla yonergeye dagildikca azalan talimat uygulama dogrulugu. Tam kapsami korurken her birini 10K kelimenin altinda tutmak icin buyuk dosyalari alt dizine ozgu CLAUDE.md dosyalarina bolun.
Otomasyon scriptlerinizden birine —append-system-prompt “Be concise. Respond in under 50 words.” ekleyin. Claude’un eklediginiz kurala uyarken hala varsayilan guvenlik yonergelerine uyduğunu dogrulayin. Bu, —system-prompt yerine neredeyse her zaman isteyeceginiz secenektir.