diff --git a/docs/tr/the-longform-guide.md b/docs/tr/the-longform-guide.md index b9f23cc56..c1b78a472 100644 --- a/docs/tr/the-longform-guide.md +++ b/docs/tr/the-longform-guide.md @@ -1,12 +1,12 @@ # Claude Code'un Her Şeyine Dair Uzun Kılavuz -![Header: The Longform Guide to Everything Claude Code](../assets/images/longform/01-header.png) +![Header: The Longform Guide to Everything Claude Code](../../assets/images/longform/01-header.png) --- > **Ön Koşul**: Bu kılavuz [Claude Code'un Her Şeyine Dair Kısa Kılavuz](./the-shortform-guide.md) üzerine kuruludur. Skill'leri, hook'ları, subagent'ları, MCP'leri ve plugin'leri henüz kurmadıysanız önce onu okuyun. -![Reference to Shorthand Guide](../assets/images/longform/02-shortform-reference.png) +![Reference to Shorthand Guide](../../assets/images/longform/02-shortform-reference.png) *Kısa Kılavuz - önce onu okuyun* Kısa kılavuzda, temel kurulumu ele aldım: etkili bir Claude Code iş akışının omurgasını oluşturan skill'ler ve command'lar, hook'lar, subagent'lar, MCP'ler, plugin'ler ve yapılandırma desenleri. Bu kurulum kılavuzu ve temel altyapıydı. @@ -39,7 +39,7 @@ Lazy loading ile, context window sorunu çoğunlukla çözülmüştür. Ancak to Oturumlar arasında memory paylaşımı için, ilerlemeyi özetleyen ve kontrol eden, ardından `.claude` klasörünüzde bir `.tmp` dosyasına kaydeden ve oturumunuz sonuna kadar ona ekleyen bir skill veya command en iyi bahistir. Ertesi gün bunu context olarak kullanabilir ve kaldığı yerden devam edebilir, her oturum için yeni bir dosya oluşturun böylece eski context'i yeni işe kirletmezsiniz. -![Session Storage File Tree](../assets/images/longform/03-session-storage.png) +![Session Storage File Tree](../../assets/images/longform/03-session-storage.png) *Oturum depolama örneği -> * Claude mevcut durumu özetleyen bir dosya oluşturur. İnceleyin, gerekirse düzenlemeler isteyin, ardından yeniden başlayın. Yeni konuşma için, sadece dosya yolunu sağlayın. Özellikle context limitlerini aşarken ve karmaşık işi sürdürmeniz gerektiğinde kullanışlıdır. Bu dosyalar şunları içermelidir: @@ -110,7 +110,7 @@ Kullandığınız araçları optimize edin ve görev için yeterli olan en ucuz **Model Seçimi Hızlı Referans:** -![Model Selection Table](../assets/images/longform/04-model-selection.png) +![Model Selection Table](../../assets/images/longform/04-model-selection.png) *Çeşitli yaygın görevlerde subagent'ların varsayımsal kurulumu ve seçimlerin arkasındaki akıl yürütme* | Görev Türü | Model | Neden | @@ -128,14 +128,14 @@ Kodlama görevlerinin %90'ı için Sonnet'i varsayılan yapın. İlk deneme baş **Fiyatlandırma Referansı:** -![Claude Model Pricing](../assets/images/longform/05-pricing-table.png) +![Claude Model Pricing](../../assets/images/longform/05-pricing-table.png) *Kaynak: * **Araca Özgü Optimizasyonlar:** grep'i mgrep ile değiştirin - geleneksel grep veya ripgrep'e kıyasla ortalama ~%50 token azaltması: -![mgrep Benchmark](../assets/images/longform/06-mgrep-benchmark.png) +![mgrep Benchmark](../../assets/images/longform/06-mgrep-benchmark.png) *50 görevlik benchmark'ımızda, mgrep + Claude Code, grep tabanlı iş akışlarına kıyasla benzer veya daha iyi değerlendirilen kalitede ~2 kat daha az token kullandı. Kaynak: @mixedbread-ai tarafından mgrep* **Modüler Kod Tabanı Faydaları:** @@ -181,7 +181,7 @@ Kod değişiklikleri için ana sohbet, kod tabanı ve mevcut durumu hakkında so **Keyfi Terminal Sayıları Üzerine:** -![Boris on Parallel Terminals](../assets/images/longform/07-boris-parallel.png) +![Boris on Parallel Terminals](../../assets/images/longform/07-boris-parallel.png) *Boris (Anthropic) birden fazla Claude instance'ı çalıştırma üzerine* Boris'in paralelleştirme hakkında ipuçları var. 5 Claude instance'ını yerel olarak ve 5'ini upstream çalıştırmak gibi şeyler önerdi. Keyfi terminal miktarları belirlemeye karşı tavsiyede bulunurum. Bir terminalin eklenmesi gerçek bir zorunluluktan olmalıdır. @@ -202,7 +202,7 @@ cd ../project-feature-a && claude Instance'larınızı ölçeklendirmeye başlıyorsanız VE birbirleriyle örtüşen kod üzerinde çalışan birden fazla Claude instance'ınız varsa, git worktree'leri kullanmanız ve her biri için çok iyi tanımlanmış bir plana sahip olmanız zorunludur. Tüm sohbetlerinizi adlandırmak için `/rename ` kullanın. -![Two Terminal Setup](../assets/images/longform/08-two-terminals.png) +![Two Terminal Setup](../../assets/images/longform/08-two-terminals.png) *Başlangıç Kurulumu: Kodlama için Sol Terminal, Sorular için Sağ Terminal - /rename ve /fork kullanın* **Cascade Yöntemi:** @@ -314,7 +314,7 @@ alias q='cd ~/Desktop/projects' ## Kilometre Taşı -![25k+ GitHub Stars](../assets/images/longform/09-25k-stars.png) +![25k+ GitHub Stars](../../assets/images/longform/09-25k-stars.png) *Bir haftadan kısa sürede 25.000+ GitHub yıldızı* --- diff --git a/docs/tr/the-security-guide.md b/docs/tr/the-security-guide.md index 516be6a9a..795f0cff1 100644 --- a/docs/tr/the-security-guide.md +++ b/docs/tr/the-security-guide.md @@ -18,13 +18,13 @@ Saldırı vektörleri esasen herhangi bir etkileşim giriş noktasıdır. Agent' ### Saldırı Zinciri ve Dahil Olan Düğümler / Bileşenler -![Attack Chain Diagram](../assets/images/security/attack-chain.png) +![Attack Chain Diagram](../../assets/images/security/attack-chain.png) Örneğin, agent'ım bir gateway katmanı aracılığıyla WhatsApp'a bağlı. Bir rakip WhatsApp numaranızı biliyor. Mevcut bir jailbreak kullanarak bir prompt injection denemesi yapıyorlar. Sohbette jailbreak spam'i yapıyorlar. Agent mesajı okuyor ve bunu talimat olarak alıyor. Özel bilgileri ifşa eden bir yanıt yürütüyor. Agent'ınızın root erişimi, geniş dosya sistemi erişimi veya yüklü yararlı kimlik bilgileri varsa, tehlikeye girdiniz. İnsanların güldüğü bu Good Rudi jailbreak klipleri bile (komik ngl) aynı sorun sınıfına işaret ediyor: tekrarlanan denemeler, sonunda hassas bir ifşa, yüzeyde eğlenceli ancak altta yatan arıza ciddi - yani sonuçta çocuklar için tasarlanmış, bundan biraz çıkarım yapın ve bunun neden felaket olabileceği sonucuna hızla varırsınız. Aynı desen, model gerçek araçlara ve gerçek izinlere bağlandığında çok daha ileri gider. -[Video: Bad Rudi Exploit](../assets/images/security/badrudi-exploit.mp4) — good rudi (çocuklar için grok animasyonlu AI karakteri) hassas bilgileri ifşa etmek için tekrarlanan denemelerden sonra bir prompt jailbreak ile exploit edilir. eğlenceli bir örnek ama yine de olasılıklar çok daha ileri gider. +[Video: Bad Rudi Exploit](../../assets/images/security/badrudi-exploit.mp4) — good rudi (çocuklar için grok animasyonlu AI karakteri) hassas bilgileri ifşa etmek için tekrarlanan denemelerden sonra bir prompt jailbreak ile exploit edilir. eğlenceli bir örnek ama yine de olasılıklar çok daha ileri gider. WhatsApp sadece bir örnek. E-posta ekleri büyük bir vektör. Bir saldırgan gömülü bir prompt'lu PDF gönderiyor; agent'ınız eki işin bir parçası olarak okuyor ve şimdi yardımcı veri olarak kalması gereken metin kötü niyetli talimata dönüştü. Üzerlerinde OCR yapıyorsanız ekran görüntüleri ve taramalar da aynı derecede kötü. Anthropic'in kendi prompt injection çalışması, gizli metin ve manipüle edilmiş görüntüleri açıkça gerçek saldırı malzemesi olarak adlandırıyor. @@ -111,9 +111,9 @@ Belirli sayılar değişmeye devam edecek. Önemli olan seyahat yönü (olaylar Root erişimi tehlikelidir. Geniş yerel erişim tehlikelidir. Aynı makinede uzun ömürlü kimlik bilgileri tehlikelidir. "YOLO, Claude beni koruyor" burada doğru yaklaşım değildir. Cevap izolasyondur. -![Sandboxed agent on a restricted workspace vs. agent running loose on your daily machine](../assets/images/security/sandboxing-comparison.png) +![Sandboxed agent on a restricted workspace vs. agent running loose on your daily machine](../../assets/images/security/sandboxing-comparison.png) -![Sandboxing visual](../assets/images/security/sandboxing-brain.png) +![Sandboxing visual](../../assets/images/security/sandboxing-brain.png) İlke basittir: agent tehlikeye girerse, patlama yarıçapının küçük olması gerekir. @@ -195,7 +195,7 @@ Bir iş akışının sadece bir repo okuması ve testleri çalıştırması gere Bir LLM'nin okuduğu her şey çalıştırılabilir context'tir. Metin context window'a girdiğinde "veri" ve "talimatlar" arasında anlamlı bir ayrım yoktur. Sanitizasyon kozmetik değildir; runtime sınırının bir parçasıdır. -![LGTM comparison — The file looks clean to a human. The model still sees the hidden instructions](../assets/images/security/sanitization.png) +![LGTM comparison — The file looks clean to a human. The model still sees the hidden instructions](../../assets/images/security/sanitization.png) ### Gizli Unicode ve Yorum Payload'ları @@ -278,7 +278,7 @@ OWASP'nin en az ayrıcalık etrafındaki dili agent'lara temiz bir şekilde eşl Agent'ın neyi okuduğunu, hangi aracı çağırdığını ve hangi ağ hedefine gitmeye çalıştığını göremezseniz, onu güvenli hale getiremezsiniz (bu bariz olmalı, yine de bir ralph döngüsünde claude --dangerously-skip-permissions'ı çalıştırdığınızı ve hiçbir endişe olmadan uzaklaştığınızı görüyorum). Sonra karmaşık bir kod tabanıyla geri geliyorsunuz, agent'ın ne yaptığını bulmaya iş yapmaktan daha fazla zaman harcıyorsunuz. -![Hijacked runs usually look weird in the trace before they look obviously malicious](../assets/images/security/observability.png) +![Hijacked runs usually look weird in the trace before they look obviously malicious](../../assets/images/security/observability.png) En azından bunları logla: - araç adı @@ -311,7 +311,7 @@ Zarif ve sert kill'ler arasındaki farkı bilin. `SIGTERM` sürecine temizlik i Ayrıca, sadece parent'ı değil, süreç grubunu kill edin. Sadece parent'ı kill ederseniz, çocuklar çalışmaya devam edebilir. (bu aynı zamanda bazen sabah ghostty sekmelerinize baktığınızda bir şekilde 100GB RAM tükettiğinizi ve bilgisayarınızda sadece 64GB varken sürecin duraklatıldığını görmenizin nedenidir, bir sürü çocuk süreç kapandığını düşündüğünüzde kontrolden çıkmış) -![woke up to ts one day — guess what the culprit was](../assets/images/security/ghostyy-overflow.jpeg) +![woke up to ts one day — guess what the culprit was](../../assets/images/security/ghostyy-overflow.jpeg) Node örneği: diff --git a/docs/tr/the-shortform-guide.md b/docs/tr/the-shortform-guide.md index 9e20acda0..eb8a917ba 100644 --- a/docs/tr/the-shortform-guide.md +++ b/docs/tr/the-shortform-guide.md @@ -1,6 +1,6 @@ # Claude Code'un Her Şeyine Dair Kısa Kılavuz -![Header: Anthropic Hackathon Winner - Tips & Tricks for Claude Code](../assets/images/shortform/00-header.png) +![Header: Anthropic Hackathon Winner - Tips & Tricks for Claude Code](../../assets/images/shortform/00-header.png) --- @@ -16,7 +16,7 @@ Skill'ler, belirli kapsamlar ve iş akışlarıyla sınırlandırılmış kurall Opus 4.5 ile uzun bir kodlama oturumundan sonra ölü kodu ve gevşek .md dosyalarını temizlemek mi istiyorsunuz? `/refactor-clean` çalıştırın. Test mi gerekli? `/tdd`, `/e2e`, `/test-coverage`. Skill'ler ayrıca codemap'leri de içerebilir - Claude'un keşfe context harcamadan kod tabanınızda hızlıca gezinmesi için bir yöntem. -![Terminal showing chained commands](../assets/images/shortform/02-chaining-commands.jpeg) +![Terminal showing chained commands](../../assets/images/shortform/02-chaining-commands.jpeg) *Command'ları zincirleme* Command'lar, slash command'lar aracılığıyla yürütülen skill'lerdir. Örtüşürler ancak farklı şekilde saklanırlar: @@ -66,7 +66,7 @@ Hook'lar, belirli olaylarda tetiklenen otomasyonlardır. Skill'lerin aksine, ara } ``` -![PostToolUse hook feedback](../assets/images/shortform/03-posttooluse-hook.png) +![PostToolUse hook feedback](../../assets/images/shortform/03-posttooluse-hook.png) *PostToolUse hook çalıştırırken Claude Code'da aldığınız geri bildirimin örneği* **Pro ipucu:** JSON'u manuel yazmak yerine hook'ları konuşarak oluşturmak için `hookify` plugin'ini kullanın. `/hookify` çalıştırın ve ne istediğinizi açıklayın. @@ -129,7 +129,7 @@ MCP'ler Claude'u doğrudan harici hizmetlere bağlar. API'lerin yerini tutmaz - **Örnek:** Supabase MCP, Claude'un belirli verileri çekmesine, SQL'i kopyala-yapıştır olmadan doğrudan upstream çalıştırmasına izin verir. Veritabanları, dağıtım platformları vb. için de aynı. -![Supabase MCP listing tables](../assets/images/shortform/04-supabase-mcp.jpeg) +![Supabase MCP listing tables](../../assets/images/shortform/04-supabase-mcp.jpeg) *Supabase MCP'nin public şemasındaki tabloları listeleyen örneği* **Claude'da Chrome:** Claude'un tarayıcınızı özerk olarak kontrol etmesine izin veren yerleşik bir plugin MCP'sidir - işlerin nasıl çalıştığını görmek için etrafta tıklar. @@ -138,7 +138,7 @@ MCP'ler Claude'u doğrudan harici hizmetlere bağlar. API'lerin yerini tutmaz - MCP'lerle seçici olun. Tüm MCP'leri kullanıcı yapılandırmasında tutarım ancak **kullanılmayan her şeyi devre dışı bırakırım**. `/plugins`'e gidin ve aşağı kaydırın veya `/mcp` çalıştırın. -![/plugins interface](../assets/images/shortform/05-plugins-interface.jpeg) +![/plugins interface](../../assets/images/shortform/05-plugins-interface.jpeg) */plugins kullanarak MCP'lere giderek şu anda hangi MCP'lerin yüklü olduğunu ve durumlarını görme* Sıkıştırmadan önce 200k context window'unuz, çok fazla araç etkinleştirilmişse sadece 70k olabilir. Performans önemli ölçüde düşer. @@ -168,7 +168,7 @@ claude plugin marketplace add https://github.com/mixedbread-ai/mgrep # Claude'u açın, /plugins çalıştırın, yeni marketplace'i bulun, oradan yükleyin ``` -![Marketplaces tab showing mgrep](../assets/images/shortform/06-marketplaces-mgrep.jpeg) +![Marketplaces tab showing mgrep](../../assets/images/shortform/06-marketplaces-mgrep.jpeg) *Yeni yüklenen Mixedbread-Grep marketplace'i gösterme* **LSP Plugin'leri**, Claude Code'u sık sık editör dışında çalıştırıyorsanız özellikle kullanışlıdır. Language Server Protocol, Claude'a IDE açık olmadan gerçek zamanlı tip kontrolü, tanıma gitme ve akıllı tamamlamalar verir. @@ -239,7 +239,7 @@ mgrep --web "Next.js 15 app router changes" # Web araması PR'larınızda GitHub Actions ile kod incelemesi kurun. Claude yapılandırıldığında PR'ları otomatik olarak inceleyebilir. -![Claude bot approving a PR](../assets/images/shortform/08-github-pr-review.jpeg) +![Claude bot approving a PR](../../assets/images/shortform/08-github-pr-review.jpeg) *Claude bir bug düzeltme PR'ını onaylıyor* ### Sandboxing @@ -264,7 +264,7 @@ Ben [Zed](https://zed.dev) kullanıyorum - Rust ile yazılmış, bu nedenle ger - **Minimal Kaynak Kullanımı** - Ağır işlemler sırasında Claude ile RAM/CPU için rekabet etmez. Opus çalıştırırken önemli - **Vim Modu** - Bu sizin tarzınızsa tam vim keybinding'leri -![Zed Editor with custom commands](../assets/images/shortform/09-zed-editor.jpeg) +![Zed Editor with custom commands](../../assets/images/shortform/09-zed-editor.jpeg) *CMD+Shift+R kullanarak özel komutlar açılır menüsü olan Zed Editor. Following modu sağ altta hedef işareti olarak gösterilmiş.* **Editörden Bağımsız İpuçları:** @@ -279,7 +279,7 @@ Ben [Zed](https://zed.dev) kullanıyorum - Rust ile yazılmış, bu nedenle ger Bu da geçerli bir seçimdir ve Claude Code ile iyi çalışır. LSP işlevselliğini etkinleştiren `\ide` ile editörünüzle otomatik senkronizasyon ile terminal formatında kullanabilirsiniz (artık plugin'lerle biraz gereksiz). Veya Editor ile daha entegre olan ve eşleşen bir UI'ya sahip extension'ı tercih edebilirsiniz. -![VS Code Claude Code Extension](../assets/images/shortform/10-vscode-extension.jpeg) +![VS Code Claude Code Extension](../../assets/images/shortform/10-vscode-extension.jpeg) *VS Code extension, doğrudan IDE'nize entegre edilmiş Claude Code için native bir grafik arayüz sağlar.* --- @@ -363,7 +363,7 @@ Bu anahtar - 14 MCP yapılandırılmış ancak proje başına sadece ~5-6'sı et Kullanıcı, dizin, kirli göstergeli git branch, kalan context %, model, zaman ve todo sayısını gösterir: -![Custom status line](../assets/images/shortform/11-statusline.jpeg) +![Custom status line](../../assets/images/shortform/11-statusline.jpeg) *Mac root dizinimde örnek statusline* ```