🤖 Claude Code Rehberi
Claude Code, ilgili araçlar, otomasyon servisleri ve kişisel proje mimarileri üzerine soru-cevap formatında notlar. Her soruya kendi notunu ekleyebilir, sol menüden arayabilir ve kategoriye göre gezinebilirsin.
Kategoriler
settings.json değişiklikleri Claude'a nasıl etki eder?
settings.json, Claude Code'a "şunu yapabilirsin, şunu yapamazsın, şu modeli kullan" gibi kuralları söyler. Birden fazla yerde tanımlanabilir ve bazıları diğerlerini geçersiz kılar.
Bir apartmanın kat yönetmelikleri gibi düşün: bina yönetimi (kurumsal) koyduğu kuralı, dairedeki kişisel tercihler (kullanıcı) değiştiremez. Üstteki kat, alttakini geçersiz kılar.
Hangi ayar kazanır?
"Kurumsal politika" ve "--flag" tam olarak ne?
IT/yönetim tarafından merkezi olarak dağıtılan, kullanıcının değiştiremeyeceği bir ayar dosyası (managed settings). Şirket bilgisayarlarına MDM/yönetim aracıyla itilir; tek tek çalışanlar açıp düzenleyemez. Amaç: tüm şirkette aynı güvenlik/izin kurallarını zorunlu kılmak.
claude komutunu çalıştırırken eklenen --flag'ler (ör. claude --model=claude-opus-5). Sadece o an başlattığın oturuma özeldir, dosyaya yazılmaz, terminali kapatınca etkisi biter — hızlı, geçici bir override.
İkisi de dosya tabanlı ayarlardan (settings.json) daha yüksek önceliklidir çünkü biri organizasyon zorunluluğu, diğeri o anki bilinçli seçimdir — ikisi de "arkada kalıcı bir dosyada mı yazıyor" sorusuna hayır der, bu yüzden en tepede dururlar.
Kurumsal politikayı kim belirliyor?
Sen değil — bunu şirketin IT/güvenlik ekibi belirler. Kişisel kullanımda (kendi bilgisayarında, kendi hesabınla) bu katman genelde hiç yoktur; devreye girdiği yer, şirketin sana verdiği/yönettiği bir bilgisayardır.
Şirketin IT/güvenlik ekibi, bir managed-settings.json dosyası hazırlar (izin kuralları, yasaklı komutlar vb.).
Elle kopyalanmaz — MDM (Mobile Device Management) araçlarıyla (ör. Jamf, Intune, Group Policy) tüm şirket bilgisayarlarına otomatik itilir.
Kullanıcının erişemeyeceği, işletim sistemi seviyesinde sabit bir konumda (örnekler aşağıda) — proje veya kullanıcı klasöründe değil.
Görebilir ama değiştiremez/silemez (normal kullanıcı yetkisiyle). Değiştirmeye çalışsan bile Claude Code her oturumda dosyayı yeniden okur.
Dosya nerede durur (işletim sistemine göre)
| İşletim Sistemi | Tipik konum |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Linux | /etc/claude-code/managed-settings.json |
| Windows | C:\ProgramData\ClaudeCode\managed-settings.json |
Bu yollar sistem seviyesinde olduğu için normal kullanıcı hesabı buraya yazamaz — sadece bilgisayarın yöneticisi (IT) değiştirebilir. Kişisel/bireysel kurulumlarda bu dosya genelde hiç mevcut değildir; o yüzden ev bilgisayarında bu katmanı hiç görmeyebilirsin.
managed-settings.json katmanı hiç oluşmaz — kontrolün tamamen sende, sadece iki katman var: ~/.claude/settings.json (tüm projelerde geçerli genel ayarların) ve proje içindeki .claude/settings.json / .claude/settings.local.json. Kurumsal politika bölümünü sadece işyerinde yönetilen bir bilgisayar kullanırsan hatırlaman yeterli.
Örnek settings.json
{
"permissions": {
"allow": ["Bash(git *)"],
"deny": ["Bash(rm -rf *)"],
"ask": ["Bash(git push*)"]
},
"model": "claude-sonnet-5",
"env": {
"NODE_ENV": "development"
},
"hooks": {
"PostToolUse": [
{ "matcher": "Edit", "hooks": [{ "type": "command", "command": "npx prettier --write $CLAUDE_FILE" }] }
]
},
"statusLine": { "type": "command", "command": "git branch --show-current" },
"cleanupPeriodDays": 30
}
Ne gibi değişiklikler yapılabilir?
- permissions: hangi araç/komutun otomatik izinli (allow), yasak (deny) veya her seferinde sorulacak (ask) olduğu.
- hooks: bir araç çalışmadan önce/sonra otomatik komut tetikleme (ör. dosya kaydedilince otomatik format).
- env: oturum boyunca geçerli ortam değişkenleri.
- model: varsayılan kullanılacak model.
- statusLine: ekranın altında özel bilgi göstermek (ör. git dalı).
- cleanupPeriodDays: eski oturum kayıtlarının kaç günde temizleneceği.
Yeni trendler
Ayar dosyalarının kullanımında öne çıkan yönelimler: hooks ile otomasyonun artması (format/lint/test'i manuel hatırlamak yerine ayara bağlamak), izin listelerini daraltma (varsayılan izin isteme sıklığını azaltıp sadece güvenli komutları allowlist'e almak), ve kurumsal (managed) ayarlarla merkezi governance — şirketlerin AI araçlarını IT politikasıyla standartlaştırması. Bunlar genel yönelimler; kesin anahtar isimleri için güncel resmi dokümantasyonu kontrol et.
Ne zaman etkili olur?
Çoğu ayar, dosyayı kaydettiğin an sonraki isteğe yansır. İzinlerle ilgili büyük değişikliklerde veya bazı hook tanımlarında Claude Code'u yeniden başlatmak gerekebilir.
settings.local.json'u .gitignore'a ekle. Kişisel tercihlerini takıma zorlamamış olursun.
API anahtarını doğrudan settings.json içine yazmak. Repo paylaşılınca anahtar sızar.
Yeni oturumda bu model kullanılır; dosya kişisel olduğu için ekibin ortak ayarları bozulmaz.
Anahtar repo geçmişinde herkese açık kalır — iptal edip yenisini çıkarman gerekir.
💬 Notlar & Sorular
Claude Code komutları nelerdir?
/ yazınca açılan kısayollar. Bazıları Claude Code ile hazır gelir, bazılarını kendin tanımlarsın.
Komutlar, tekrar tekrar yazacağın uzun talimatları tek kelimeye indirger. En çok kullanılan hazır komutlar aşağıda; kendi özel komutlarını da ekleyebilirsin.
Sohbeti sıfırlar. Tamamen ilgisiz yeni bir işe başlarken kullan.
Geçmişi özetleyip yer açar. Aynı işin içinde bağlam dolmuşsa kullan.
Önceki bir noktaya geri döner. Yanlış yöne sapıldığında kullan.
Bağlam penceresinin ne kadar dolu olduğunu gösterir.
Proje için başlangıç CLAUDE.md taslağı oluşturur.
Alt ajanları (subagent) listeler ve yönetir.
Bağlı MCP sunucularını ve araçlarını gösterir.
Tüm komutların listesini ve kısa açıklamasını gösterir.
Kendi komutunu yazmak
.claude/commands/ klasörüne bir .md dosyası koyarsan, dosya adı yeni bir komut olur. Örneğin deploy-checklist.md dosyası /deploy-checklist komutunu oluşturur.
Sık tekrarladığın bir isteği (ör. dağıtım kontrol listesi) özel komut yap, tekrar tekrar yazma.
Her küçük iş için ayrı komut tanımlamak. Liste kabarır, hangisinin ne yaptığını unutursun.
Uzun dağıtım talimatı tek kelimeyle çalışır, tekrar yazmana gerek kalmaz.
/help listesi kabarır, hangi komutun ne yaptığını hatırlamak zorlaşır.
💬 Notlar & Sorular
.claude/commands/'ına ekleyen kullanıcı sayısı artıyor. Kesin listeyi öğrenmek için repoları/marketplace'i kontrol et.
/help komutunu çalıştır.
/rewind nasıl etkili kullanılır?
/rewind, konuşmayı ve yapılan kod değişikliklerini önceki bir noktaya geri sarar.
Bir metin editöründeki Ctrl+Z'nin genişletilmiş hali gibi düşün — ama sadece yazdığın metni değil, Claude'un yaptığı dosya değişikliklerini de geri alır.
Zaman çizgisinde geri dönüş
Neyi geri alamaz?
- Gönderilmiş bir e-posta veya mesaj
git pushile uzak sunucuya gönderilmiş bir commit- Harici bir API'ye yapılmış çağrı (ör. bir ödeme isteği)
Bunlar "yan etki" (side effect) sayılır — Claude Code'un kendi konuşma/kod geçmişinin dışında, gerçek dünyada bir iz bırakır.
Riskli, büyük bir değişikliğe girmeden önce "gerekirse rewind ederim" rahatlığıyla dene.
git push yaptıktan sonra rewind'in hatayı otomatik düzelteceğini sanmak.
Kod, denemeden önceki sağlam haline döner; bozuk değişiklikler silinir.
Konuşma geri sarılır ama uzak sunucudaki commit kalır — hata düzelmez, ayrıca git ile geri almak gerekir.
💬 Notlar & Sorular
/context nasıl etkili kullanılır?
/context, Claude'un "çalışma belleği" olan bağlam penceresinin ne kadar dolu olduğunu ve neyle dolu olduğunu gösterir.
Bağlam penceresi, masandaki çalışma alanı gibidir. Üstüne ne kadar çok kağıt (dosya, mesaj) koyarsan, yeni bir kağıda o kadar az yer kalır.
Bağlam penceresi neyle dolar?
Ne zaman kontrol edilmeli?
Uzun süren bir oturumda, özellikle çok dosya okunduysa, /context ile doluluğu kontrol et. Pencere dolmaya yaklaştıysa iki seçeneğin var:
- /compact — geçmişi özetler, aynı işe devam edersin.
- /clear — tamamen sıfırlar, yeni bir işe başlarsın.
Uzun oturumlarda ara ara /context çalıştır, doluluk yükselince /compact'ı düşün.
Pencere tamamen dolana kadar bekleyip cevap kalitesindeki düşüşü fark etmemek.
Geçmiş özetlenir, iş kesintisiz devam eder, cevap kalitesi korunur.
Pencere dolar, Claude erken talimatları "unutur", tutarsız cevaplar gelir.
💬 Notlar & Sorular
Cloudflare kullanım sınırları nelerdir?
Bir apartmanın ortak kullanım kotası gibi düşün: ücretsiz katman sana günlük belirli bir "kullanım hakkı" verir. Kotayı aşarsan ya ertesi gün sıfırlanmasını beklersin ya da ücretli plana geçersin.
Ücretsiz katman sınırları (özet)
| Servis | Ücretsiz sınır |
|---|---|
| Workers (kod çalıştırma) | 100.000 istek/gün, istek başına 10ms CPU süresi |
| KV (basit depolama) | 1 GB, günde 100K okuma / 1K yazma |
| D1 (SQL veritabanı) | 5 GB, günde 5M satır okuma / 100K satır yazma |
| R2 (dosya depolama) | 10 GB-ay, ayda 1M "Class A" + 10M "Class B" işlem |
| Durable Objects / Queues | günde 100K istek / 10K işlem |
Sınırı aştığında istekler hataya düşer veya (ücretli plana geçtiysen) kullanım başına ücretlendirilir — örneğin Workers'ta 1 milyon istek yaklaşık 0,30 dolar.
Güncel trendler
Cloudflare dashboard'undan (veya wrangler tail ile) kullanımını periyodik kontrol et — kota aşımını sürpriz olarak yaşama.
Yoğun trafik beklenen bir prod uygulamayı hiç ölçmeden ücretsiz katmanda barındırmak — kota aşılınca uygulaman aniden hata vermeye başlar.
Günlük 100K isteğin çok altında kalır, hiç ücret ödemeden çalışır.
Günlük istek limiti aşılır, sayfa hata vermeye başlar — ücretli plana geçmek gerekirdi.
💬 Notlar & Sorular
wrangler entegrasyonu nedir?
git'e benzet ama "deploy" için: kodu yazarsın, wrangler dev ile kendi bilgisayarında canlıymış gibi test edersin, wrangler deploy dediğinde saniyeler içinde dünya genelinde yayına alınır.
En çok kullanılan komutlar
Yerel geliştirme sunucusu başlatır, canlı yeniden yükleme (hot reload) ile.
Worker'ı Cloudflare'ın global ağına yayınlar.
Canlı loglara gerçek zamanlı bakmanı sağlar.
API anahtarı gibi gizli değerleri güvenle saklar.
Kurulum ve yapılandırma
npm install -g wrangler
wrangler login
wrangler dev
wrangler deploy
Proje, kök dizindeki wrangler.jsonc (yeni önerilen format) veya wrangler.toml dosyasıyla yapılandırılır — Worker adı, ortam değişkenleri, bağlı KV/D1/R2 kaynakları burada tanımlanır.
wrangler.jsonc, eski wrangler.toml formatının yerini alan önerilen yeni yapılandırma biçimi. Wrangler artık Workers'ın yanı sıra D1, R2, Vectorize, Workers AI, Queues gibi tüm platformu tek CLI'dan yönetiyor.
Gizli anahtarları wrangler secret put ile sakla — asla wrangler.jsonc dosyasına açık yazma.
API anahtarını doğrudan yapılandırma dosyasına yazıp git'e commit'lemek — repo paylaşılırsa anahtar sızar.
Anahtar Cloudflare'ın şifreli deposunda tutulur, kod veya repo'da hiç görünmez.
Anahtar repo geçmişinde herkese açık kalır, iptal edip yenisini çıkarmak gerekir.
💬 Notlar & Sorular
GitHub ne için kullanılır?
git ile versiyonlanan kod projelerini internette barındıran, ekiplerin birlikte kod yazmasını/incelemesini/otomatikleştirmesini sağlayan platform.
Ne için kullanılır?
Projenin tüm geçmişiyle birlikte uzak bir sunucuda saklanması.
Bir değişikliği ana koda birleştirmeden önce inceleme/tartışma süreci.
Hata bildirimi, özellik isteği ve görev takibi.
Kod her push'landığında otomatik test/derleme/dağıtım (CI/CD).
Statik bir siteyi doğrudan repo'dan ücretsiz yayınlama.
GitHub'ın entegre AI kodlama asistanı.
Google Drive'ın kod için versiyonlu, dallanabilir (branch) ve işbirlikli hali gibi düşün — sadece dosyaları saklamaz, kimin ne zaman ne değiştirdiğini de tutar ve değişiklikleri güvenle birleştirmeni sağlar.
Her değişikliği ayrı bir branch'te yap, PR ile ana koda birleştir — geçmiş temiz ve gözden geçirilebilir kalır.
Gizli anahtarları (.env, API key) doğrudan repo'ya commit'lemek — public repo'da bu bilgi herkese açılır.
Değişiklik incelenip onaylandıktan sonra ana koda güvenle birleşir.
Gizli anahtarlar repo geçmişinde herkese açık kalır.
💬 Notlar & Sorular
trigger.dev ne işe yarar?
Bir restoranda garsonun siparişi mutfağa verip müşteriyle ilgilenmeye devam etmesi gibi düşün — uzun süren bir işi (video işleme, PDF dönüştürme) arka plana atarsın, kullanıcı beklemez, iş bitince sonuç gelir.
Ne için kullanılır?
Uzun süren LLM çağrılarını zaman aşımına takılmadan çalıştırma.
Dakikalar sürebilen dönüştürme işlerini arka planda yürütme.
Binlerce satırlık veriyi timeout riski olmadan işleme.
Cron benzeri periyodik görevler (Redis/kuyruk kurmadan).
Redis kurmana, kuyruk altyapısı yönetmene veya cron sunucusu çalıştırmana gerek kalmaz — normal kod yazar gibi TypeScript'te görevini tanımlarsın, trigger.dev zamanlama, yeniden deneme (retry) ve izlenebilirliği (observability) kendisi yönetir.
Güncel trendler
Kullanıcıyı bekletmeden yürütülmesi gereken uzun işleri (rapor oluşturma, toplu e-posta) trigger.dev'e devret.
Milisaniyeler içinde dönmesi gereken basit bir API çağrısını gereksiz yere arka plan görevi yapmak — karmaşıklık ekler, fayda sağlamaz.
Kullanıcı sonucu beklemeden devam eder, iş timeout'a takılmadan tamamlanır.
Gereksiz gecikme ve karmaşıklık eklenir — doğrudan senkron cevap yeterliydi.
💬 Notlar & Sorular
composio.dev ne işe yarar?
Bir üniversal elektrik adaptörü gibi düşün: her ülkenin (aracın) kendi prizi (API'si, kimlik doğrulama yöntemi) var; composio, ajanının tek bir "fiş" ile hepsine bağlanmasını sağlıyor.
Ne sağlıyor?
| Özellik | Ne işe yarar |
|---|---|
| 1000+ hazır toolkit | Gmail, Slack, Notion, GitHub gibi araçlara hazır bağlantı |
| OAuth yönetimi | Kullanıcı kimlik doğrulama akışlarını senin yerine halleder |
| MCP desteği | Model Context Protocol üzerinden ajanlara araç sunar |
| Otomatik güncelleme | API'ler değiştiğinde entegrasyonları kendisi günceller |
Ücretsiz katımı ayda 20.000 araç çağrısı içerir — kişisel projeler için genelde yeterli bir başlangıç noktası.
Güncel trendler
Ajanının Gmail/Slack gibi hesaplarına erişimini composio üzerinden ver — kendi OAuth akışını sıfırdan yazmaktan çok daha hızlı ve güvenli.
Ajanına gereğinden fazla araca (hiç kullanmayacağı hesaplara) erişim vermek — saldırı yüzeyini gereksiz büyütür.
Ajan sadece izin verilen kapsamda çalışır, yanlışlıkla e-posta gönderemez.
Ajan bir hata yaparsa etkisi çok geniş bir alana yayılır — gereksiz risk.
💬 Notlar & Sorular
apify ne işe yarar?
Bir uygulama mağazası gibi düşün ama "veri toplama robotları" için: 15.000'den fazla hazır "Actor" (Amazon ürün verisi çeken, sosyal medya izleyen vb.) mağazadan seçip doğrudan çalıştırabilirsin — sıfırdan scraper yazmana gerek kalmaz.
Ne için kullanılır?
Apify Store'dan (15.000+) hazır bir scraper seçip doğrudan çalıştırma.
Özel bir veri kaynağı için kendi scraper'ını yazıp Apify altyapısında çalıştırma.
Herhangi bir web sitesini API'ye dönüştürüp uygulamana bağlama.
Kullanım alanları: pazar araştırması, rekabet analizi, SEO takibi, makine öğrenmesi için veri toplama.
Güncel trendler
Bir siteyi kazımadan önce o sitenin kullanım şartlarını/robots.txt'ini kontrol et — her veri çekimi hukuki/etik açıdan serbest değildir.
Kişisel veri (e-posta, telefon) içeren sayfaları izinsiz toplu kazımak — gizlilik ve yasal risk taşır.
Kod yazmadan, dakikalar içinde yapılandırılmış veri elde edilir.
Site sahibiyle hukuki sorun yaşanabilir veya IP engellenebilir.
💬 Notlar & Sorular
E-mail servisleri: domain'e ücretsiz e-mail nasıl kurulur?
sen@kendisirketin.com) ücretsiz e-posta kurmanın iki farklı düzeyi var: sadece alma (Cloudflare Email Routing) veya alma + gönderme (Zoho Mail Forever Free + Cloudflare kombinasyonu).
İki seçenek karşılaştırması
| Servis | Ne yapar | Sınır |
|---|---|---|
| Cloudflare Email Routing | Gelen e-postayı domain'inden mevcut Gmail'ine yönlendirir | Sadece alma — bu adresten gönderemezsin |
| Zoho Mail (Forever Free) | Gerçek bir posta kutusu — hem alma hem gönderme | 5 kullanıcı, tek domain, kullanıcı başına 5GB, sadece webmail (IMAP/POP yok) |
İkisini birlikte kullanmak yaygın bir çözüm: Cloudflare gelen postayı yönlendirir, Zoho kimliği doğrulanmış gönderim (SMTP) sağlar — ikisi birlikte hem alma hem gönderme için tamamen ücretsiz bir kurulum oluşturur.
Kurulum adımları (özet)
Domain'ini Cloudflare'a ekle, DNS yönetimini Cloudflare'a taşı.
Cloudflare Email Routing'i aç, gelen postayı kişisel Gmail'ine yönlendir.
Zoho Mail'e ücretsiz kaydol, aynı domain'i doğrula (DNS kaydı ekleyerek).
Zoho'nun webmail arayüzünden domain adresinle e-posta gönder.
IMAP/POP desteğiyle SMTP: Kendi VPS'inde email server
Zoho Mail Free Plan IMAP/POP desteği sunmadığı için, istemci uygulamalara (Outlook, Thunderbird, Apple Mail) direkt bağlanamazsın. IMAP/POP isteyen kullanıcılar iki yolu var:
| Yöntem | Kurulum | Maliyet | IMAP/POP |
|---|---|---|---|
| Mail-in-a-Box | Ubuntu VPS'inde tek komutla kurulur, tüm DNS/SSL otomatik | VPS maliyeti (~$5/ay) | ✓ Tam destek |
| Mailu | Docker container, biraz teknik bilgi gerekir | VPS maliyeti (~$5/ay) | ✓ Tam destek |
| Postfix + Dovecot | Tüm bileşenleri elle kurmanız gerekir, zaman alıcı | VPS maliyeti (~$5/ay) | ✓ Tam destek |
Mail-in-a-Box: Ubuntu VPS kir, SSH ile curl https://mailinabox.email/setup.sh | sudo bash çalıştır, DNS kayıtlarını yapılandır.
Mailu: Docker Compose ile VPS'de deploy et, SSL certificate'ı Let's Encrypt otomatik sağlar.
Postfix + Dovecot: Postfix (SMTP) ve Dovecot (IMAP/POP) daemon'larını el ile konfigüre et, iptables/ufw firewall kurallarını ayarla.
Kişisel projen veya yan proje domain'in için bu ücretsiz kombinasyonu kullan — kurulum 15-20 dakika sürer.
Müşterilerle iletişimde kullanacağın kritik bir iş e-postasını, IMAP desteği olmayan ücretsiz webmail-only bir plana bağlamak — Outlook/Apple Mail gibi istemcilerle bağlanamazsın.
Domain'ine gelen tüm e-postalar otomatik olarak Gmail'ine düşer, hiç ek maliyet olmaz.
Email Routing sadece alma yapar — göndermek için ayrıca Zoho (veya başka bir SMTP servisi) kurulumu şart.
💬 Notlar & Sorular
aider ve roo code ne işe yarar?
Nerede çalışırlar?
| Özellik | 🖥️ aider | 🧩 Roo Code | 💬 Claude Code |
|---|---|---|---|
| Çalıştığı yer | Sadece terminal | VS Code eklentisi | Kendi terminal/masaüstü uygulaması |
| Model desteği | Çoklu (OpenAI, Anthropic, Gemini, yerel modeller...) | Model-agnostik, kendi API anahtarını getirirsin (BYOK) | Anthropic modelleri |
| Git entegrasyonu | Her değişiklik otomatik, temiz bir commit olur | Dosya/terminal erişimi var, commit otomasyonu daha az öne çıkar | Git komutlarını terminal üzerinden çalıştırır |
| Öne çıkan özellik | "Architect mode" — önce planlayan, sonra hızlı düzenleyen iki-model modu | Architect/Code/Debug/Ask gibi değiştirilebilir modlar | Subagent, plan modu, skill sistemi |
aider bir İsviçre çakısı gibidir — küçük, hızlı, tek işi (terminalden kod düzenleyip commit'lemek) çok iyi yapar. Roo Code ise atölyene entegre edilmiş bir yardımcı gibidir — VS Code'un içinde, açık dosyalarını ve terminalini doğrudan görür.
aider — öne çıkan özellikler
- Açık kaynak, ücretsiz — kendi API anahtarınla kullanım başına ödersin (abonelik yok).
- 130'dan fazla dil için tree-sitter tabanlı sözdizimi desteği.
- Her değişiklik için otomatik, açıklamalı git commit'i oluşturur.
- Sesli komutla kod isteği verebilme (voice input).
Roo Code — öne çıkan özellikler
- VS Code Marketplace üzerinden kurulan bir eklenti.
- Dosya sistemi erişimi, terminal kontrolü, web tarayabilme gibi çok adımlı yetenekler.
- Architect / Code / Debug / Ask gibi hazır modlar + kendi özel modunu tanımlama.
- Cline projesinden türemiş bir topluluk projesi.
Güncel trendler
Zaten VS Code'da çalışıyorsan ve hızlı, dosya-içi düzenleme istiyorsan Roo Code/Cline dene; terminal-öncelikli, git-temiz bir akış istiyorsan aider'a bak.
Bir aracı sadece "popüler" diye, kendi iş akışına (editör mü terminal mi tercih ettiğine) bakmadan seçmek.
Değişiklik yapılır ve otomatik, açıklamalı bir commit oluşur — geçmiş temiz kalır.
Eklenti bakımı/desteği belirsizse ileride güncelleme veya destek alamayabilirsin — önce Marketplace'te aktif olduğunu doğrulamak gerekirdi.
💬 Notlar & Sorular
Doğru prompt nasıl verilir? Prompt neleri içermeli, neleri içermemeli?
Claude'a (özellikle Claude Code gibi ajan araçlarında) verdiğin promptun kalitesi, aldığın sonucun kalitesini doğrudan belirler. İyi bir prompt; net bir hedef, gerekli bağlam ve "bittiğinde nasıl anlaşılır" bilgisini içerir. Kötü bir prompt bunları modele tahmin ettirir — ve model senin aklından geçeni değil, en olası yorumu uygular.
Bir prompt, yeni işe başlayan ama şirketi hiç tanımayan yetenekli bir yükleniciye verdiğin iş talimatı gibidir. "Mutfağı düzelt" dersen, kendi zevkine göre bir şey yapar. "Dolap kapaklarını beyazdan mat griye boya, menteşeleri değiştirme, bütçe 5.000 TL, cuma günü bitir" dersen, tam istediğini alırsın. Yükleniciyi suçlamak değil, talimatı netleştirmek işe yarar.
Bir prompt neleri içermeli?
Doğrudan eylem fiiliyle başla: "Yaz", "Düzelt", "Karşılaştır". "Bir bak", "ne dersin" gibi belirsiz açılışlardan kaçın.
Neden istediğini kısaca söyle. "Performans için" ile "okunabilirlik için" istenen refactor'lar tamamen farklı sonuç doğurur.
Kelime/satır sınırı, hedef kitle, kullanılacak/kullanılmayacak kütüphane, dosya yolu gibi elle tutulur gereklilikler.
JSON mu, madde işaretli liste mi, kod bloğu mu istiyorsun? Formatı "yapma" değil doğrudan "yap" diyerek belirt.
Tek bir örnek (one-shot) çoğu zaman yeterlidir. Sonuç hâlâ istediğin gibi değilse ikinci, üçüncü örnek ekle.
"Bilgi yetersizse tahmin etme, eksik olduğunu söyle" gibi bir cümle, uydurma (halüsinasyon) riskini azaltır.
Neleri içermemeli?
| Yaygın hata | Neden sorun çıkarır |
|---|---|
| Gereksiz uzunluk / dolgu cümleler | Daha uzun prompt otomatik olarak daha iyi sonuç vermez; asıl talimat gürültüye karışır. |
| Belirsiz kibarlık kalıpları ("lütfen bi bak", "uygun olursa") | Net bir talimat değildir, model neyin "bitti" sayılacağını bilemez. |
| Ağır rol ataması ("Sen 20 yıllık bir..." gibi uzun persona metinleri) | Güncel modellerde çoğu zaman gereksizdir; kısa bir bağlam cümlesi genelde yeterlidir. |
| Çelişkili talimatlar aynı promptta | "Kısa tut" + "her adımı detaylıca açıkla" gibi çakışan isteklerde model birini feda etmek zorunda kalır. |
| İlgisiz bağlam yığını | Alakasız dosya/geçmiş eklemek, asıl isteğin modelin "dikkatini" bölmesine yol açar. |
Kullanılabilecek teknikler
| Teknik | Ne işe yarar |
|---|---|
| XML/başlık etiketleri | Uzun promptlarda kaynak metni <kaynak>...</kaynak> gibi ayırmak, hangi kısmın veri hangi kısmın talimat olduğunu netleştirir. |
| Zincirleme düşünme | Karmaşık/çok adımlı görevlerde "önce planla, sonra uygula" diye adım adım istemek, ara adımları atlamasını önler. |
| Prompt zincirleme | Tek dev bir promptun içine sıkıştırmak yerine görevi ardışık, küçük isteklere bölmek (araştır → planla → uygula → gözden geçir). |
| Az-örnekli öğrenme (few-shot) | İstenen format/ton net değilse 1-3 örnek göstermek; tek örnek çoğu zaman yeterli, gerekmedikçe artırma. |
| Negatif yerine pozitif ifade | "Kod bloğu kullanma" yerine "sadece düz metin döndür" gibi, ne YAPILACAĞINI söylemek ne YAPILMAYACAĞINI söylemekten daha güvenilir sonuç verir. |
Claude Code'da (ajan/CLI kullanımında) ek olarak nelere dikkat edilmeli?
Claude Code, düz metin üreten bir sohbet değil; dosya okuyan, komut çalıştıran bir ajan olduğu için promptların bazı ek unsurlara ihtiyacı var:
"Projeyi düzenle" yerine "sadece src/api/ klasöründeki hata yönetimini düzelt" gibi net bir sınır çiz — aksi halde ajan gereksiz dosyalara da dokunabilir.
"Testler geçmeli", "TypeScript hatasız derlenmeli" gibi somut bir "bitti" tanımı ver — yoksa ajan kendi ölçütüne göre durur.
Büyük/geri dönüşü zor değişikliklerde önce sadece bir plan iste (bkz. ➜ Plan Modu), koda dokunmadan onay ver.
"Tüm uygulamayı yeniden yaz" yerine, birbirini izleyen küçük, doğrulanabilir adımlara böl — her adımdan sonra kontrol etme şansın olur.
"utils/date.ts içindeki formatDate fonksiyonuna, ISO string girişini de destekleyen bir test ekle. Mevcut testleri bozma, sadece yeni bir it() bloğu ekle."
"Tarih fonksiyonlarını daha iyi hale getir." — hangi dosya, ne anlamda "daha iyi", hangi testler korunacak, hiçbiri belli değil.
Claude tam olarak istenen bölümü, istenen yere, mevcut içeriği bozmadan ekler — tek seferde doğru sonuç.
Claude neyin eksik/yanlış olduğunu tahmin etmek zorunda kalır; muhtemelen istemediğin bölümleri de değiştirir, birkaç tur düzeltme gerekir.
💬 Notlar & Sorular
BTW Nedir?
Commit mesajlarında, kod incelemesinde veya PR açıklamasında, ana konudan bağımsız küçük bir noktayı belirtmek için kullanılır.
Fix cache bug. Btw removed a dead console.log
Line 42 looks good, btw function name could be clearer
Fixed cache invalidation. Btw, updated the docs too
Küçük, ilgisiz bir düzeltmeyi belirtmek için kullan: küçük temizlikler BTW'ye uygundur.
Önemli bir güvenlik düzeltmesini "btw" arkasına saklamak — başlıkta açıkça belirtilmeli.
Reviewer asıl düzeltmeyi hemen görür, küçük ek not da kayıtta kalır.
Güvenlik açığı düzeltmesi geçmişte gizli kalır, denetimde gözden kaçabilir.
💬 Notlar & Sorular
.MD Uzantısı Nedir?
.md dosyaları düz metindir ama yapılandırılmış bir biçimde yazılır — hem insan tarafından kolayca okunur, hem de otomatik olarak biçimli bir sayfaya dönüştürülebilir.
Nerede kullanılır?
Proje tanıtımı, kurulum adımları, örnekler.
Claude'un projeye özel okuduğu talimat dosyası.
Claude'un oturumlar arası hatırladığı bilgilerin dizini.
GitHub'da kod birleştirme talebinin metni .md ile biçimlenir.
Kısa örnek
# Başlık
## Alt başlık
**Kalın metin** ve bir liste:
- Madde 1
- Madde 2
`kod satırı`
Uzun bir .md dosyasını konuya göre küçük dosyalara böl, tek dosyada 100+ satır tutma.
Kodu güncelleyip ilgili .md dosyasını (README, dokümantasyon) güncellemeyi unutmak.
Yeni katılan biri veya Claude projeyi ilk açtığında bağlamı hemen anlar.
Yeni biri eski adımları izler, kurulum başarısız olur, zaman kaybeder.
💬 Notlar & Sorular
CLAUDE.md, AGENTS.md gibi) standart hale geliyor — projeler artık insan için README'ye ek olarak, AI ajanına özel talimat dosyası da tutuyor.
Markdown Nedir?
# ve ** gibi basit işaretlerle biçimli metin yazmanı sağlayan basit bir dildir.
HTML etiketleri (<h1>, <strong>) yazmak yerine, Markdown'da aynı sonucu çok daha kısa işaretlerle elde edersin.
Yazdığından göründüğüne
Sık kullanılan işaretler
# Başlık -> büyük başlık
**kalın** -> kalın metin
*italik* -> italik metin
- madde -> madde işaretli liste
[metin](url) -> link
`kod` -> satır içi kod
Kod bloklarında dili belirt: ```javascript gibi. Renklendirme ve okunabilirlik artar.
Tüm başlıkları aynı seviyede (#) kullanmak — hiyerarşi kaybolur.
Sözdizimi renklenir, kod bloğu okunması kolay hale gelir.
Tüm başlıklar aynı büyüklükte görünür, sayfanın hiyerarşisi kaybolur.
💬 Notlar & Sorular
CLI (Komut Satırı Arayüzü) Nedir?
CLI ile GUI karşılaştırması
| Özellik | ⌨️ CLI | 🖱️ GUI |
|---|---|---|
| Hız | Çok hızlı, script ile tekrarlanabilir | Manuel tıklama, daha yavaş |
| Otomasyon | Kolay — bir dosyaya yaz, çalıştır | Zor, ekstra araç gerekir |
| Öğrenme eğrisi | Başta dik | Sezgisel, kolay |
| Uzaktan erişim | Çok kolay (SSH ile) | Daha zor |
Örnek komut akışı
git init — yeni bir proje başlat
git add . — değişiklikleri hazırla
git commit -m "ilk commit" — kaydet
Claude Code'da CLI
Claude Code'un terminal panelinde bu komutları doğrudan çalıştırabilirsin. Proje türüne göre Bash (Linux/Mac) veya PowerShell (Windows) kullanılır.
Sık tekrar eden adımları bir script dosyasına yaz, tekrar tekrar elle yazma.
Şifreyi veya API anahtarını komut satırına açık yazmak — geçmişte iz olarak kalır.
Tek komutla tüm adımlar hatasız ve hızlı çalışır.
Anahtar terminal geçmişinde (~/.bash_history) düz metin olarak kalır.
💬 Notlar & Sorular
.claudeignore Nedir?
.gitignore gibi çalışır.
Bir apartman kapıcısına hangi ziyaretçileri içeri almayacağını söylemek gibidir — .claudeignore, Claude'un projede görmemesi gereken dosyaların listesidir.
Dosyalar nasıl filtrelenir?
Kısa örnek
node_modules/
.env
*.log
dist/
.env ve gizli anahtar dosyalarını her zaman listeye ekle — Claude'un görmesine gerek yok.
node_modules/'ü ignore etmemek — binlerce gereksiz dosya taranır, yavaşlar.
Claude arama yaparken bu dosyaları atlar — hem hız hem gizlilik korunur.
Claude binlerce node_modules dosyasını tarar, yavaşlar, .env içeriğini de görebilir.
💬 Notlar & Sorular
README nasıl yazılır?
Bir cihazın kutusundaki hızlı başlangıç kılavuzu gibi düşün — cihazın her özelliğini anlatmaz, ama fişe takıp çalıştırana kadar geçen ilk adımları eksiksiz verir.
Standart bölümler
Başlık + 1 cümlelik özet — proje ne yapar, kimin için.
Kurulum — kopyala-yapıştır çalışacak komutlar.
Kullanım — en yaygın 1-2 kullanım örneği.
Yapılandırma — varsa önemli ayarlar/ortam değişkenleri.
Katkı — nasıl PR açılır, nasıl test edilir.
Lisans — projeyi kimin nasıl kullanabileceği.
Kısa şablon
# Proje Adı
Tek cümlede ne yaptığı.
## Kurulum
```bash
npm install proje-adi
```
## Kullanım
```js
import { yapBirSey } from "proje-adi";
yapBirSey();
```
## Katkı
PR'lar için önce bir issue açın.
## Lisans
MIT
Güncel trendler
Kurulum bölümündeki komutları arada bir gerçekten çalıştırıp test et — "çalışmayan kurulum adımı" en sık rastlanan README hatasıdır.
README'yi projenin başında bir kez yazıp bir daha hiç güncellememek — kod değiştikçe adımlar eskir, yeni katılan biri yanlış yönlendirilir.
Yeni katılan biri (veya Claude Code) ilk denemede doğru şekilde kurulumu tamamlar.
Yeni katılan biri projeyi nasıl kullanacağını bulamaz, konuyu sormak için zaman kaybeder.
💬 Notlar & Sorular
Subagent nedir, nasıl ve ne zaman kullanılır?
Bir ofis yöneticisi gibi düşün: sen (ana Claude) tüm resmi görürsün, ama bazı işleri uzman asistanlara devredersin. Asistan işi derinlemesine yapar, sana sadece özet raporu getirir — kendi masasındaki dağınıklığı sana taşımaz.
Nasıl çalışır?
Nasıl oluşturulur, nerede tutulur?
.claude/agents/ klasörüne bir .md dosyası ekle (proje-özel) veya ~/.claude/agents/ (genel).
Dosyanın başına name ve description yaz — Claude bu açıklamaya göre ne zaman çağıracağına karar verir.
/agents komutuyla listele, test et veya düzenle.
Örnek subagent dosyası
Aşağıdaki dosya .claude/agents/code-reviewer.md olarak kaydedilirse, tanımlı yeni bir subagent oluşur:
---
name: code-reviewer
description: Kod değişikliği veya PR incelemesi istendiğinde kullan.
Kullanıcı "review this", "kodu incele", "diff'i kontrol et" dediğinde
ya da önemli bir değişiklik yapıldıktan hemen sonra proaktif çağır.
tools: Read, Grep, Glob
---
Sen kıdemli bir kod inceleme uzmanısın. Çağrıldığında:
1. `git diff` ile son değişiklikleri gör
2. Şunlara odaklan: doğruluk, güvenlik, okunabilirlik
3. Bulguları önem sırasına göre, tek satır özetle raporla
4. Dosyaları DEĞİŞTİRME — sadece incele ve raporla
Dosyanın parçaları ne işe yarar?
| Alan | Ne işe yarar |
|---|---|
name | Agent'ın kimliği — /agents listesinde ve çağrılarda bu isimle görünür. |
description | En kritik alan: ana Claude bu metni okuyup "bu görevde bu agent'ı çağırmalı mıyım" kararını verir. Belirsiz yazarsan hiç tetiklenmez veya yanlış anda tetiklenir. |
tools | Agent'a hangi araçların açık olduğu (kapsamı daraltır) — burada sadece okuma araçları var, dosya değiştiremez. |
| Gövde metni | Agent'ın "sistem promptu" — kimliğini ve görev adımlarını tanımlar. |
Sonuç ana konuşmayı nasıl etkiler?
Subagent kendi ayrı, boş bir bağlam penceresinde başlar; sen ona ne gönderirsen sadece onu görür. İçeride onlarca dosya okusa, çok adım atsa bile, bunların HİÇBİRİ ana konuşmaya yansımaz — sadece en sonda yazdığı özet metin, sanki bir fonksiyon çağrısının dönüş değeriymiş gibi ana konuşmaya "sonuç" olarak döner. Ana Claude bu özeti okur ve ona göre bir sonraki adıma karar verir. Bu yüzden ana bağlam şişmez; ama bu da demektir ki özet ne kadar eksik yazılırsa, ana Claude o kadar eksik bilgiyle karar verir — agent'ın raporu ne kadar net ve eksiksizse sonuç o kadar güvenilir olur.
Nasıl yönetilir / test edilir?
/agentsile mevcut tüm agent'ları listele, birini seçip düzenle veya sil.- Yeni bir agent'ı küçük, zararsız bir görevle test et — açıklaması doğru tetikleniyor mu, doğru araçlara erişiyor mu kontrol et.
- Proje-özel agent'lar git ile versiyonlanır — ekip aynı agent'ları paylaşabilir.
description'ı zamanla gözden geçir: yanlış anda tetikleniyorsa veya hiç tetiklenmiyorsa, muhtemel sebep description'ın belirsizliğidir.
Ne zaman kullanılmalı?
- Geniş bir kod taramasında (çok dosya, belirsiz konum)
- Birbirinden bağımsız birkaç araştırmayı paralel yürütürken
- Ana konuşmanın bağlamını doldurmaması gereken uzun, ayrıntılı bir iş varken
Riskler
Kötü sonuç ihtimali var: subagent, ana konuşmanın tüm inceliğini görmez — sadece verdiğin talimatı görür. Yanlış varsayımla ilerleyebilir, bu yüzden sonucunu körü körüne kabul etme. Ayrıca her agent'a dar ve net bir görev ("tek iş") vermek, hem doğru zamanda tetiklenmesini hem de güvenilir sonuç vermesini sağlar.
Küçük, bağımsız araştırmalar için birden fazla subagent'i paralel çalıştır — zaman kazandırır.
Tek satırlık basit bir işi bile subagent'e devretmek — kurulum maliyeti işin kendisinden uzun sürer, üretkenliği azaltır.
Ana konuşma onlarca dosya içeriğiyle dolmaz; sadece özet sonuç döner, bağlam temiz kalır.
Agent'ın kurulup rapor verme süresi işin kendisinden uzun sürer — zaman kaybı.
💬 Notlar & Sorular
Skill nedir, ajanlardan farkı ne?
Ajan = farklı bir işe atanmış çalışan (kendi masası, kendi belleği var). Skill = o çalışanın raftan çektiği bir el kitabı ("bu işi şöyle yap"). Persona (kim davrandığı) ajanlarla, prosedür (nasıl yapıldığı) skillerle belirlenir.
Temel fark
| Özellik | 🤖 Subagent | 🧩 Skill |
|---|---|---|
| Bağlam penceresi | Kendine ait, ayrı | Yok — ana konuşmaya karışır |
| Ne getirir | Bağımsız bir "çalışan" | Bir "nasıl yapılır" talimatı |
| Tetiklenme | Ana Claude görevi devreder | Konu/istek eşleşince otomatik yüklenir |
| Nerede tanımlı | .claude/agents/ | .claude/skills/ |
Ajanlar skilleri kullanabilir mi?
Evet. Bir subagent kendi görevini yürütürken, uygun bir skill'in talimatlarını da takip edebilir. Yani ikisi birbirini dışlamaz — bir "çalışan" (ajan), elindeki "el kitabına" (skill) bakarak çalışabilir.
Tekrar eden bir süreci (ör. kod inceleme kontrol listesi) skill yap; farklı bir "kimlik" gerektiren işi (ör. sadece okuma yapan araştırmacı) ajan yap.
Basit bir talimat listesini gereksiz yere ayrı bir subagent olarak tasarlamak — skill yeterliyken karmaşıklık eklemek.
Claude otomatik doğru inceleme adımlarını takip eder.
Gereksiz karmaşıklık; her defasında agent'ı yeniden kurma zahmeti.
💬 Notlar & Sorular
npx skills add kullanici/repo gibi tek satır komutla başkasının yazdığı skill'i kendi ortamına kurmak yaygınlaşan bir kalıp (bkz. Soru 17'teki caveman örneği).
Skiller nerede depolanır, düzenlenebilir mi?
SKILL.md dosyası olan kendi klasöründe tutulur.
Nerede tutulur?
Proje-özel skiller — sadece bu projede çalışır.
Kullanıcı-genel skiller — tüm projelerde çalışır.
Kurulu bir eklenti üzerinden de skill gelebilir.
Kısa örnek yapı
.claude/skills/
deploy-checklist/
SKILL.md # name, description + adımlar
Değiştirilebilir mi, yenisi eklenebilir mi?
- Değiştirme: Evet —
SKILL.mdiçeriğini düzenlemek yeter. - Yeni ekleme: Evet — yeni bir klasör +
SKILL.mdoluştur,namevedescriptionyaz. - Eskiyi düzenleme: Evet — özellikle
description'ı netleştirmek önemli, çünkü Claude hangi skill'i ne zaman tetikleyeceğine bu açıklamaya bakarak karar verir.
description'ı somut ve net yaz — "ne zaman kullanılır" açıkça belirtilsin ki yanlış anda tetiklenmesin.
Çok genel bir açıklama yazmak (ör. "yardımcı olur") — Claude ne zaman kullanacağını kestiremez.
Claude doğru anda bu skill'i otomatik yükler.
Claude ne zaman kullanacağını kestiremez; skill hiç tetiklenmez veya yanlış anda devreye girer.
💬 Notlar & Sorular
description alanının kalitesi hâlâ en belirleyici faktör.
Plan modu nedir, nasıl daha etkili kullanılır?
Bir usta duvarı örmeden önce projeyi çizip sana gösterir gibi düşün. Önce kağıt üzerinde konuşulur, sonra inşaata başlanır — yanlış yerde duvar örülmez.
Nasıl çalışır?
Daha çok soru ile başlaması için
Görevi bilerek biraz açık uçlu bırak veya doğrudan iste: "önce bana sorular sor, varsayımla ilerleme." Net, tek yorumlu bir talimat verirsen Claude soru sormadan direkt plana geçebilir — belirsizlik bıraktığın kadar soru gelir.
Nasıl yönetilir?
- Plan modundayken sadece okuma araçları çalışır, dosya değişmez.
- Plan bittiğinde onay istenir; onaylarsan uygulama başlar, reddedersen plan güncellenir.
- Net hedef + kısıt ver ("neden" kısmını da açıkla) — plan kalitesi buna bağlı.
Riskli/çok dosyalı bir değişiklik öncesi plan modunu kullan, onaylamadan uygulamaya izin verme.
Plan her sunulduğunda okumadan "devam et" demek — planın kontrol amacı boşa gider.
Kod değişmeden önce yaklaşım onaylanır; yanlış yönde büyük değişiklik riski azalır.
Planlamanın kontrol faydası hiç kullanılmaz, yanlış varsayımla ilerleme riski geri döner.
💬 Notlar & Sorular
Claude Code artifacts nedir?
Bir taslak metni Google Docs'ta paylaşılabilir bir bağlantıya dönüştürmek gibi düşün — içerik artık sohbetin kendisine hapsolmuyor, kendi adresi (URL) oluyor, istediğin kişiye link olarak gösterebiliyorsun.
Ne tür içerik olabilir?
Bu rehber gibi — tasarım, etkileşim, kendi CSS/JS'i olan tam bir web sayfası.
Akış şeması, grafik gibi vektörel görseller.
Tek başına incelenebilir/indirilebilir kod parçaları.
Rapor, not, plan gibi biçimli metin belgeleri.
Yaşam döngüsü
Gizlilik ve paylaşım
Artifact'ler varsayılan olarak private'tır — sadece sen görürsün. Başkasıyla paylaşmak istersen sayfanın kendi paylaşım menüsünden bilinçli olarak paylaşman gerekir; otomatik herkese açık olmaz.
Ne zaman artifact kullanmalısın? (kullanım senaryoları)
Tam da bu sayfa gibi — tekrar tekrar başvuracağın, kategorilere ayrılmış uzun içerik. Sohbette kaybolmaz, link sabit kalır.
Bütçe hesaplayıcı, karar matrisi, kontrol listesi gibi kendi başına çalışan, girdi alan küçük araçlar.
Bir arayüz fikrini koda geçmeden önce görsel olarak denemek, müşteriye/ekibe hızlı göstermek.
Bir tabloyu/log çıktısını grafiğe, diyagrama çevirip daha okunur hale getirmek.
Canlı veri okuyan, durumu özetleyen, paylaşılan bir çalışma sayfası (runtime capability ile veritabanı/form gibi özellikler eklenebilir).
Basit bir oyun, simülasyon veya öğretici interaktif örnek — kod indirip çalıştırmaya gerek kalmadan tarayıcıda açılır.
Kendi işlerine nasıl uyarlarsın?
Artifact'i "Claude'un kod yazdığı bir chat mesajı" gibi değil, ayrı bir mini-proje gibi düşün. Genel akış:
Sadece göstermek mi (statik rapor), yoksa kullanıcının bir şey yapmasını mı istiyorsun (form, hesaplayıcı, oyun)? Bu, sayfanın karmaşıklığını belirler.
Gerçek içerikle (uydurma/lorem ipsum değil) başlaması için verini/örneklerini promptun içine koy.
İlk yayından sonra artık sabit bir linkin var — bundan sonraki her istek "aynı linke güncelle" şeklinde ilerler.
"Her şeyi yeniden yaz" yerine "şu bölümü ekle / şu rengi değiştir" gibi somut, tek seferde bir değişiklik iste.
Plan moduyla nasıl daha etkili hale getirilir?
Basit/tek parçalı bir artifact için (kısa bir SVG diyagram, tek soru-cevap sayfası) plan moduna gerek yok — direkt iste. Ama çok bölümlü, etkileşimli veya veri tutan bir artifact (bu rehber gibi 20+ bölümlü bir sayfa, veya form+veritabanı olan bir araç) için plan modu riski azaltır:
| Adım | Ne yapılır |
|---|---|
| 1. Plan moduna geç | Shift+Tab ile plan modunu aç; Claude henüz hiçbir şey yazmaz, sadece dinler/okur. |
| 2. Yapıyı tarif et | Hangi bölümler olacak, hangi veri/örnekler kullanılacak, tasarım yönü ne (renk, ton, hedef kitle) — bunları anlat. |
| 3. Planı gözden geçir | Claude'un çıkardığı bölüm/iskelet planını oku; eksik veya gereksiz bir kısım varsa bu aşamada düzelt (kod henüz yazılmadığı için ucuz bir düzeltme). |
| 4. Onayla, uygulat | Planı onaylayınca Claude artifact'i baştan sona bu plana göre yazar — "yanlış yöne" gidip sonradan tamamen sökmen gerekmez. |
Bu rehberin kendisi de tam bu şekilde büyüdü: önce plan modunda hangi sorular/bölümler ekleneceği netleşti, sonra içerik yazılıp tek tek yayınlandı — bkz. ➜ Plan Modu.
Başlangıç için örnek iş ve promptlar
| İhtiyaç | Örnek prompt |
|---|---|
| Kişisel rehber/rapor | "Şu konudaki notlarımı [X konusu], kategori bazlı sol menüsü olan, tek sayfa bir rehbere dönüştür ve artifact olarak yayınla." |
| Basit hesaplayıcı | "Aylık bütçe girip kategori bazında harcama yüzdesi gösteren basit bir hesaplayıcı artifact'i yap." |
| Veri görselleştirme | "Şu CSV/tabloyu [veriyi yapıştır] bar grafik olarak gösteren bir artifact hazırla, açık/koyu tema desteği olsun." |
| Kontrol listesi / checklist | "[Şu süreç] için işaretlenebilir, tamamlananları hatırlayan bir kontrol listesi artifact'i yap." |
| Mini oyun | "Basit bir [X] oyunu (ör. hafıza kartları, kelime bulmaca) artifact olarak hazırla, mobilde de oynanabilir olsun." |
Uzun, tekrar başvuracağın bir çıktıyı (rehber, rapor, kontrol listesi) artifact yap — sohbet geçmişinde kaybolmaz, linkle geri dönersin.
Hassas/kişisel bilgi içeren bir artifact'i "nasıl olsa kimse bulamaz" diyerek paylaşım linkiyle dağıtmak — link elindeki herkese erişim verir.
Kalıcı bir link oluşur; rapor sohbet kapansa bile linkten tekrar açılabilir.
Linki gören herkes içeriği görebilir — paylaşım kapsamını önce daraltmak gerekirdi.
💬 Notlar & Sorular
Loop sistemi nedir, nasıl kullanılır?
/loop, bir promptu veya komutu belirli aralıklarla (veya Claude'un kendi belirlediği hızda) tekrar tekrar çalıştırır.
Fırında pişen bir yemeği düzenli arayla kontrol etmek gibi — her seferinde tekrar sormana gerek kalmaz, Claude kendi kendine "bakıp" gerekirse sana haber verir.
Nasıl çalışır?
Kısa örnek
/loop 10m /check-ci
# 10 dakikada bir CI durumunu kontrol et, sonuç değişince haber ver
Doğru prompt nasıl verilir?
- Net bir durma koşulu belirt: "X olursa dur", yoksa sonsuz döner.
- Interval'i işin doğasına göre seç — saniyelerle ölçülen kontrolü dakikalarla, günlük bir kontrolü saatlerle yapma.
- Interval belirtmezsen Claude kendi hızını (dynamic) ayarlar — çoğu durumda bu yeterlidir.
Dış bir sistemin durumunu (CI, deploy) periyodik izlemek için, net durma koşuluyla kullan.
Ağır bir işi çok kısa aralıkla tekrarlatmak — önceki çalışma bitmeden yenisi tetiklenir, kaynak israf olur.
Arka planda düzenli kontrol edilir, sadece sonuç değişince haber alırsın — manuel takip gerekmez.
Ağır test paketi çok sık ve süresiz tekrarlanır — kaynak ve token israfı.
💬 Notlar & Sorular
caveman ne işe yarar?
Bir telgraf mesajı gibi düşün: "kelime başına ücret" mantığıyla yazılan, gereksiz her sözcüğün atıldığı ama anlamın tam kaldığı bir dil. caveman, Claude'un cevaplarını böyle bir telgrafa çeviriyor — teknik doğruluk, kod ve hata mesajları asla kısaltılmıyor.
Nasıl çalışır?
| Öncesi (normal) | Sonrası (caveman) |
|---|---|
| "Elbette, bu hatayı hemen inceleyeyim ve size açıklayayım." | "Hata inceleniyor." |
| "Yeni bileşen için bir useMemo eklemenizi öneririm çünkü her render'da..." | "Yeni obje ref her render. useMemo kullan." |
İki yönlü çalışır: yazar tarafı Claude'un cevaplarını kısaltır (kod ve hata mesajlarına dokunmadan); okur tarafı (proxy modu) Claude'un okuduğu log/test/JSON çıktısını da sıkıştırır. Güvenlik uyarıları veya geri alınamaz işlemler gibi kritik anlarda otomatik olarak normal dile döner — kısaltma anlamı bozacaksa devre dışı kalır.
Kurulum
# Küçük versiyon (sadece skill)
npx skills add JuliusBrussee/caveman -g
# Tam versiyon (proxy dahil)
npm install -g @caveman-ai/cli
caveman setup --install
Claude Code, Codex, Gemini CLI, Cursor, Windsurf dahil 30'dan fazla ajanda çalışıyor.
Yoğunluk seviyeleri
Hafif kısaltma, okunabilirlik önde.
Varsayılan — belirgin kısaltma, teknik içerik korunur.
En agresif kısaltma.
Normal dile geri dön.
Ölçülen sonuçlar
| Ölçüm | Sonuç |
|---|---|
| Adobe Research | 1.4-2.4× maliyet düşüşü |
| JetBrains testi | %8.5 daha az çıktı token'ı, kalitede fark yok |
| Proxy benchmark (54 test) | %33.2 giriş token'ı tasarrufu |
Güncel trendler / son eklenenler
Pixel Mode: Skill talimatlarını PNG resmine çevirip ek tasarruf sağlıyor. caveman learn: Geçmiş kullanım verisini analiz edip en çok token tüketen kalıpları buluyor. Trial modu: caveman'lı ve caveman'sız gerçek oturumları karşılaştırıyor. Ayrıca Wenyan modları (klasik Çince tabanlı, en agresif sıkıştırma seviyeleri) eklendi.
settings.json'a değil, kişisel settings.local.json'a eklemen tercih sebebi olabilir (bkz. ➜ Soru 1).
Uzun, teknik ve tekrarlayan oturumlarda /caveman full aç — token tasarrufu en çok burada hissedilir.
Yeni birine kod açıklarken veya hassas bir kararı tartışırken ultra modu açık bırakmak — bağlam kaybı yanlış anlamaya yol açabilir.
Cevaplar kısa ve terse gelir, oturum sonunda çıktı token'ı belirgin azalır — teknik doğruluk korunur.
Auto-clarity kuralı devreye girip otomatik normale döner — ama en güvenlisi kritik anlarda zaten kapalı tutmaktır.
💬 Notlar & Sorular
rtk (Rust Token Killer) ne işe yarar?
Bir asistanın kalın bir raporu okuyup sana sadece "önemli olan 3 satırı" söylemesi gibi düşün — git status gibi bir komutu çalıştırdığında, rtk araya girip ham çıktıyı Claude'a göndermeden önce gürültüyü temizliyor.
Nasıl çalışır?
Desteklenen komut kategorileri
ls, cat, grep, find, diff
status, log, diff, push, pull
pytest, cargo test, jest, go test, ESLint, TypeScript
Docker, Kubernetes, AWS (EC2, Lambda)
Kurulum
# macOS/Linux (Homebrew)
brew install rtk
# Windows (winget)
winget install rtk-ai.rtk
# Claude Code'a hook olarak bağlama
rtk init -g
Güncel trendler / son eklenenler
Native Windows desteği (v0.37.2+) — artık Unix shell (WSL) gerektirmiyor. SQLite tabanlı kurtarma modu — bir komut başarısız olursa tam çıktı ayrıca kaydediliyor. Opt-in telemetri — anonim kullanım verisi topluyor ama varsayılan kapalı, GDPR uyumlu, kaynak kodu/gizli bilgi toplamıyor.
Sık çalıştırdığın, uzun çıktı veren komutlarda (test suite, git log) rtk'yı aktif tut — en çok tasarruf burada.
Bir komutun tam/ham çıktısına ihtiyacın olduğunda (ör. detaylı hata ayıklama) rtk'nın özetlenmiş halini yeterli sanmak.
50 satırlık log yerine gruplanmış, gürültüsüz kısa özet Claude'a gider — bağlam israf olmaz.
Kritik bir detay özet dışında kalmış olabilir — SQLite kurtarma modundan tam çıktıya bakmak gerekir.
💬 Notlar & Sorular
ponytail ne işe yarar?
Yeni bir özellik isteyip ekibe götürdüğünde, kıdemli bir mühendisin "buna hiç yeni kod yazmadan, zaten var olan şu fonksiyonla çözebiliriz" demesi gibi düşün — ponytail bu refleksi ajana kural olarak yüklüyor.
Nasıl çalışır? — 7 kademeli kontrol
Buna gerçekten ihtiyaç var mı?
Kodda zaten var mı?
Standart kütüphanede var mı?
Platformun kendi özelliğiyle olur mu?
Zaten yüklü bir bağımlılıkla olur mu?
Tek satırda yapılabilir mi?
Son çare: minimum gerekli kod
Kurulum ve komutlar
# Claude Code içinde
/plugin marketplace add DietrichGebert/ponytail
| Komut | İşlevi |
|---|---|
/ponytail lite|full|ultra|off | Yoğunluk seviyesini ayarla |
/ponytail-review | Diff'te aşırı mühendislik arayıp silme listesi sunar |
/ponytail-audit | Tüm repo'yu tarar |
/ponytail-gain | Performans skorunu gösterir |
Ölçülen sonuçlar
| Ölçüm | Sonuç |
|---|---|
| Kod satırı | %54 daha az (aşırı mühendislikte %94'e kadar) |
| Maliyet | %20 daha ucuz |
| Hız | %27 daha hızlı |
| Güvenlik | %100 korunmuş (iddia edilen ölçüme göre) |
Not: Kod zaten minimal ise fark küçük olur; asıl fark aşırı mühendislik olan durumlarda (ör. gereksiz bir tarih seçici bileşeni) ortaya çıkıyor.
Güncel trendler / son eklenenler
20 ajan desteği: Claude Code'un yanı sıra Codex, Gemini, GitHub Copilot CLI, Cursor, Windsurf ve daha fazlası. Subagent injection: Oluşturulan alt ajanlar (subagent) da bu kuralları otomatik miras alıyor — tek tek ayarlamana gerek kalmıyor.
Yeni bir özellik istemeden önce /ponytail-review çalıştır — gereksiz soyutlamayı erken yakalar.
Gerçekten karmaşık, çok parçalı bir mimari gerektiren işte "en az kod" kuralını zorlamak — bazen doğru soyutlama gerekir.
Ajan önce standart kütüphaneyi kontrol eder, sıfırdan yazmak yerine Intl.DateTimeFormat önerir.
Ajan gerekli soyutlamayı bile "gereksiz" sayıp atlayabilir — mimari ihtiyaç varsa modu gevşetmek gerekir.
💬 Notlar & Sorular
headroom ne işe yarar?
headroom-desktop'ı anlatıyor).
Bir su arıtma cihazı gibi düşün: musluktan (senin araçların) çıkan su (veri) API'ye ulaşmadan önce cihazdan (headroom) geçip gereksiz kısımlarından arındırılıyor — ama suyun kendisi (kod blokları) dokunulmadan geçiyor.
Nasıl çalışır?
Kurulum
# macOS (Homebrew)
brew install --cask headroom
# Diğer platformlar: GitHub Releases sayfasından indir
# Desteklenen: macOS 14+, Windows 10+, Linux (x86_64)
Paket içeriği
Ana prompt optimizasyon motoru.
Komut çıktısı sıkıştırması (bkz. ➜ rtk sayfası) pakete dahil.
markitdown, serena, codebase-memory, context7
Sıkıştırma oranları
| İçerik türü | Tasarruf |
|---|---|
| JSON / yapılandırılmış log | %86-100 |
| Düz metin | %43-46 |
| Kod blokları | Kasıtlı olarak sıkıştırılmaz (korunur) |
Güncel trendler / son eklenenler
Menü çubuğunda tasarruf analitik panosu (günlük/aylık grafik), otomatik güncelleme sistemi ve macOS Keychain / Windows Credential Manager entegrasyonu gibi "kurumsal masaüstü uygulaması" standartlarına yaklaşan özellikler ekleniyor. Bağımsız Python runtime yönetimi sayesinde sistem Python'unu etkilemiyor.
Uzun, log-ağırlıklı oturumlarda (build çıktısı, test raporu okutma) headroom'u açık bırak — en çok tasarruf JSON/log'da olur.
headroom'un kod bloklarını da sıkıştırdığını sanıp kod kalitesinden endişelenmek — kod koruma politikası gereği kod hiç dokunulmadan geçer.
Build log'u API'ye ulaşmadan önce sıkıştırılır, Claude aynı bilgiyi çok daha az token ile alır.
Uygulama kapalıyken 127.0.0.1:6767'ye bağlantı olmaz — istekler normal (sıkıştırılmamış) şekilde gider.
💬 Notlar & Sorular
Doğru bir CLAUDE.md dosyası nasıl yazılır?
Yeni işe başlayan birine verilen "ilk gün notu" gibi düşün: şirket kültürünü anlatan bir roman değil, "kahve makinesi şurada, toplantılar 10'da, bu klasöre dokunma" gibi kısa, pratik notlar. Ne kadar uzun ve dağınık olursa, o kadar az okunur.
İçeriğinde neler olmalı, neler olmamalı?
| ✅ Olmalı | ❌ Olmamalı |
|---|---|
| Claude'un tahmin edemeyeceği bash komutları (özel script'ler) | Claude'un koda bakarak zaten çıkarabileceği bilgiler |
| Varsayılandan farklı kod stili kuralları | Standart dil/framework kuralları (Claude zaten biliyor) |
| Test komutları ve tercih edilen test çalıştırıcı | Detaylı API dokümantasyonu (onun yerine linkle) |
| Repo görgü kuralları (branch adlandırma, PR kuralları) | Sık değişen bilgiler (versiyon numaraları, geçici durumlar) |
| Projeye özgü mimari kararlar | Uzun anlatım/tutorial metinleri |
| Ortam tuhaflıkları (zorunlu env değişkenleri) | "Temiz kod yaz" gibi zaten aşikar pratikler |
Her satır için kendine şunu sor: "Bu satırı silsem Claude hata yapar mıydı?" Cevap hayırsa, o satırı sil.
Nasıl oluşturulur?
Proje kökünde /init komutu, mevcut proje yapısına bakarak otomatik bir başlangıç taslağı oluşturur.
Otomatik oluşan taslağı satır satır gözden geçir; aşikar olanları sil, eksik olan gerçek kuralları ekle.
Üstte 10-20 satırlık "kesinlikle uyulması gereken" kurallar; nadiren gereken detaylar için @dosya/yolu ile ayrı dosyalara bağlantı ver.
/context komutu, dosyanın gerçekten yüklendiğini teyit eder.
# Code style
- ES modules (import/export) kullan, CommonJS (require) değil
- Mümkünse import'ları destructure et (ör. import { foo } from 'bar')
# Workflow
- Kod değişikliği serisi bitince mutlaka typecheck çalıştır
- Performans için tüm test paketini değil, tekli testleri çalıştır
Uzunluk ve yapı
Önerilen sınır 200 satırın altı — bazı ekipler 60 satıra kadar iner. Dosya şişince Claude bazı kuralları "gürültüde kaybeder" ve göz ardı etmeye başlar; bu yüzden nadiren gereken, konuya özel bilgi için CLAUDE.md yerine ➜ skill kullanmak daha doğrudur — skill'ler sadece konu uygun olduğunda yüklenir, her oturumda bağlamı şişirmez.
Kimler için gereklidir?
Küçük bir kişisel projede bile faydalıdır — "bu projede pnpm kullanıyorum, npm değil" gibi tek satırlık bir not, tekrar tekrar aynı düzeltmeyi yapmanı önler.
Git'e eklenip (commit) ekiple paylaşılabilir — böylece herkesin Claude'u aynı kuralları bilir, zamanla değer biriktiren canlı bir doküman haline gelir.
Avantaj / dezavantaj
Aynı düzeltmeyi tekrar tekrar yazmazsın; tutarlı kod stili, daha az "hayır öyle değil" döngüsü, ekip için ortak bir "Claude sözleşmesi".
Şişirilmiş/eski bir CLAUDE.md, önemli kuralların gürültüde kaybolmasına yol açar — kod gibi bakım ister, "yaz ve unut" olmaz.
Claude her seferinde doğru test komutunu çalıştırır, yanlış araç deneyip zaman kaybetmez.
Claude bazı kuralları atlamaya başlar; önemli bir talimat (ör. "migration'a dokunma") diğerlerinin arasında kaybolur.
@include ile referans dosyalar) ve "progressive disclosure" (bilgiyi sadece gerektiğinde yükletme) öne çıkan yaklaşımlar. Bir kural sürekli atlanıyorsa dosyayı kısaltmak, o satıra tek başına "ÖNEMLİ" vurgusu eklemekten daha etkili kabul ediliyor.
💬 Notlar & Sorular
Container tool'lar (dev container / sandbox) nedir, nasıl kullanılır?
Evinde büyük bir tadilata girişmeden önce, aynı planı önce bir maketle denemek gibi düşün. Maket bozulsa evin gerçek duvarına bir şey olmaz — container da tam olarak bunu sağlar: Claude'un riskli/otonom çalışmasına izin verirken gerçek bilgisayarını korur.
Neden kullanılır?
--dangerously-skip-permissions gibi onay istemeden çalışan modları, gerçek dosya sistemine değil container'a hapsederek daha güvenli hale getirir.
Ekipteki herkes (veya senin farklı bilgisayarların) aynı araç/sürüm setiyle çalışır — "bende çalışıyordu" sorunu azalır.
İncelemeden güvenmediğin bir repoyu, kendi asıl sistemine bulaştırmadan container içinde açıp Claude'a analiz ettirebilirsin.
Nasıl kurulur? (VS Code örneği)
Proje köküne .devcontainer/devcontainer.json dosyası eklenir:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}
}
Sonra VS Code'da Dev Containers: Rebuild Container komutu çalıştırılır, container içinde açılan terminalde claude yazılıp giriş yapılır. Claude Code'un kendi resmi "Dev Container Feature"ı, VS Code eklentisini de otomatik ekler.
Dev container / sandbox / VM karşılaştırması
| Yöntem | İzolasyon seviyesi | Kurulum zahmeti |
|---|---|---|
| Yerleşik Bash sandbox | Dosya/ağ izolasyonu, Claude Code içinde hazır gelir | Yok — bir ayar açman yeterli |
| Dev container | Tam bir Docker container — ayrı dosya sistemi, ayrı araç seti | Orta — devcontainer.json + Docker gerekir |
| Sanal makine (VM) | En yüksek izolasyon — işletim sistemi seviyesinde ayrım | Yüksek — VM kurulumu/yönetimi gerekir |
--dangerously-skip-permissions ile çalışan bir container bile ana bilgisayarını tamamen korumaz — container içindeki kimlik bilgilerin (~/.claude) yine de sızabilir. Host'taki ~/.ssh gibi gizli anahtarları container'a bağlamamak (mount etmemek), sadece güvendiğin repolarla çalışmak önerilir.
Otonom/onaysız çalıştıracağın uzun bir görevi (ör. büyük bir migration) container içinde başlatmak — bir şey ters giderse gerçek dosyaların etkilenmez.
Host'taki SSH anahtarlarını veya bulut kimlik bilgilerini container'a bağlayıp sonra güvenmediğin bir repoyu bu container'da açmak.
Claude container içinde çalışır; ekip arkadaşın aynı dosyayı kullanarak birebir aynı ortamı elde eder.
Kötü niyetli bir proje, container'da bile SSH anahtarlarına erişip dışarı sızdırabilir.
💬 Notlar & Sorular
Claude Code'un IDE entegrasyonları ve araçları nelerdir?
Mevcut arayüzler
| Arayüz | Ne için uygun |
|---|---|
| Terminal CLI | Orijinal, en esnek arayüz — script'lenebilir, headless (-p) modda otomasyona uygun. |
| VS Code eklentisi | Grafik sohbet paneli, checkpoint tabanlı geri alma, @ ile dosya referansı, paralel konuşmalar. VS Code fork'larında (Cursor, Devin Desktop, Kiro) da çalışır. |
| JetBrains eklentisi | IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, GoLand, Android Studio ile çalışır. Diff'ler IDE'nin kendi görünümünde açılır, seçili kod bağlamı otomatik paylaşılır. |
| Masaüstü uygulaması | Birden fazla oturumu görsel olarak yönetmek, isteğe bağlı her birini ayrı worktree'de çalıştırmak için. |
| Web (claude.ai/code) | Oturumları Anthropic'in bulut altyapısında, kendi bilgisayarını açık tutmadan çalıştırmak için. |
| Slack entegrasyonu | Bir Slack kanalından doğrudan Claude'a görev vermek/soru sormak için. |
IDE eklentisi ne katar?
Değişiklikler ham metin yerine IDE'nin kendi karşılaştırma (diff) ekranında gösterilir.
O an seçili olan kod/dosya otomatik olarak Claude'un bağlamına eklenir, ayrıca yapıştırmana gerek kalmaz.
Dil sunucusunun (linter/derleyici) bulduğu hatalar gerçek zamanlı olarak Claude'a akar.
Her adım bir kontrol noktası oluşturur, IDE üzerinden görsel olarak geri sarılabilir (bkz. ➜ /rewind).
claude oturumunu algılayıp IDE özelliklerini otomatik devreye sokar.
Zaten bir IDE'de (VS Code/JetBrains) çalışıyorsan eklentiyi kur — diff'leri IDE'nin kendi görünümünde inceleyip tek tek onaylamak, ham terminal çıktısından çok daha hızlıdır.
JetBrains eklentisini kurup CLI'yi kurmayı unutmak — eklenti çalışan bir CLI oturumu olmadan hiçbir şey yapamaz.
Claude dosyayı otomatik okur, değişiklik IDE'nin diff ekranında satır satır incelenip onaylanabilir.
Eklenti panel olarak görünür ama arkada çalışan bir oturum bulamadığı için işlevsiz kalır.
💬 Notlar & Sorular
PWA + Supabase + Tailscale + Python ile kişisel senkron sistemi nasıl kurulur?
Bir tiyatro sahnesi gibi düşün: PWA seyircinin gördüğü sahne (arayüz), Supabase sahne arkasındaki senaryo defteri (herkesin aynı sayfada olmasını sağlayan ortak kayıt), Tailscale kulis ile sahne arasındaki gizli, güvenli koridor, Python dinleyici ise kulis tarafında talimatı alıp gerçekten ışığı yakan teknisyen.
Dört bileşen
Sistemin ön yüzü. Aslında normal bir web sitesidir; ama Safari/Chrome'da "Ana Ekrana Ekle" denince, App Store'dan inmiş gerçek bir uygulama gibi tam ekran, kendi ikonuyla açılır. Tek bir kod tabanı hem bilgisayarda hem telefonda aynı arayüzü verir.
Sistemin beyni ve senkronizasyon merkezi. Bir cihazda (ör. telefonda) yapılan değişiklik, bu bulut veritabanı sayesinde saniyeler içinde diğer tüm cihazlara (ör. bilgisayara) yansır — "gerçek zamanlı" (realtime) senkronizasyon budur.
Güvenli ağ köprüsü. Dışarıdayken telefondan evdeki bilgisayara bağlanmak için modemde tehlikeli portlar açmana gerek bırakmaz; cihazların arasında WireGuard tabanlı, şifreli, özel bir sanal ağ (mesh VPN) kurar.
Evdeki bilgisayarda arka planda sürekli çalışan küçük bir programdır. PWA'daki bir butona basınca (ör. "Render'ı Başlat"), bu komut Tailscale ağı üzerinden gelir, Python script'i onu yakalayıp bilgisayarda fiziksel olarak o işlemi gerçekleştirir.
Parçalar birlikte nasıl çalışır?
Hangi işe hangi parça bakar?
| İhtiyaç | Cevap veren bileşen |
|---|---|
| "Telefonda uygulama gibi görünsün istiyorum" | PWA (ana ekrana ekle) |
| "Bir listeyi telefonda değiştirince bilgisayarda da güncellensin" | Supabase/Firebase (realtime veritabanı) |
| "Dışarıdayken evdeki bilgisayara güvenle erişmek istiyorum" | Tailscale (port açmadan özel ağ) |
| "Telefondan bir tuşla evdeki bilgisayarda gerçek bir işlem başlatmak istiyorum" | Python dinleyici (komutu alıp fiziksel olarak çalıştıran arka plan programı) |
Tailscale'i sadece cihazların birbirini güvenle bulması için kullan, Python dinleyicide de gelen komutu doğrulayan basit bir kontrol (ör. sabit bir gizli anahtar) bulunsun.
Tailscale kurmak yerine modemde port yönlendirme (port forwarding) açıp Python dinleyiciyi doğrudan internete açık bırakmak — herkes o porta istek atabilir.
Evdeki bilgisayar komutu alır, yazıcı süreci başlar — telefon ile bilgisayar aynı Tailscale ağında olduğu için hiçbir port dışarıya açılmaz.
İnternetteki herkes o adrese istek atıp evdeki bilgisayarda komut çalıştırmayı deneyebilir — güvenlik açığı.
💬 Notlar & Sorular
n8n nedir?
Bir domino dizisi gibi düşün: ilk domino (tetikleyici — ör. "yeni form gönderildi") devrilince, birbirine bağladığın her sonraki taş (node — ör. "e-posta gönder", "tabloya satır ekle") otomatik olarak sırayla devrilir.
Nasıl çalışır?
Bir olay iş akışını başlatır: form gönderimi, zamanlanmış saat, gelen webhook, yeni e-posta...
400'den fazla hazır entegrasyon (Gmail, Slack, Google Sheets...) veya HTTP/API node'uyla neredeyse her servisi birbirine bağlarsın.
İş akışı her tetiklendiğinde sırayla çalışır; her node'un girdi/çıktısını görsel olarak izleyip hata ayıklayabilirsin.
n8n'i benzerlerinden ayıran ne?
| Özellik | n8n | Zapier / Make |
|---|---|---|
| Barındırma | Kendi sunucunda (self-hosted) veya bulut | Sadece bulut (kapalı kaynak) |
| Veri kontrolü | Verin tamamen sende kalır | Sağlayıcının sunucularından geçer |
| Lisans | Fair-code, açık kaynak | Kapalı kaynak, tamamen ücretli |
| AI entegrasyonu | OpenAI/HuggingFace gibi modelleri iş akışına node olarak ekleyebilirsin | Kendi AI eklentileri üzerinden |
Kimler için uygun?
Tekrarlayan, birden fazla uygulama arasında geçen işleri olan herkes için: freelancer'lar müşteri süreçlerini otomatikleştirebilir, küçük işletmeler form→CRM→e-posta gibi zincirleri elle yapmak yerine otomatikleştirebilir, geliştiriciler ise self-hosted olduğu için veri gizliliği gereken senaryolarda tercih edebilir.
Tekrar eden, kurallı bir süreci (ör. "yeni sipariş gelince stok tablosunu güncelle, müşteriye e-posta at") otomatikleştirmek.
Karmaşık, her seferinde insan yargısı gerektiren bir kararı (ör. "bu şikayete nasıl cevap verilmeli") tamamen n8n'e bırakmak — otomasyon kural tabanlıdır, muhakeme yapmaz.
Form her gönderildiğinde tablo ve Slack otomatik güncellenir, elle veri girmek gerekmez.
İş akışı kurmak, işi elle bir kez yapmaktan daha uzun sürer — otomasyonun değeri tekrar sayısıyla orantılıdır.
💬 Notlar & Sorular
Notion nedir, ücretli midir, nasıl kullanılır?
Lego bloklarından bir çalışma alanı kurmak gibi düşün: metin, tablo, takvim, resim — her biri bir "blok"tur ve istediğin gibi sayfanın içine sürükleyip birleştirirsin. Bir Word belgesi + Excel tablosu + wiki'nin tek bir aracın içinde birleşmiş hali.
Ücretli mi?
| Plan | Fiyat (yaklaşık) | Kapsam |
|---|---|---|
| Free | Ücretsiz | Sınırsız sayfa/blok, sınırsız veritabanı, 5 kişiye kadar iş birliği — kişisel kullanım için genelde yeterli. |
| Plus | ~4 $/ay (kişi başı) | Sınırsız dosya yükleme, daha uzun sürüm geçmişi — bireysel yoğun kullanıcılar için. |
| Business | ~8 $/ay ve üzeri (kişi başı) | Gelişmiş izinler, SAML SSO gibi ekip/kurumsal özellikler. |
Kişisel kullanım için ücretsiz plan çoğu zaman fazlasıyla yeterlidir — içerik miktarı sınırı yoktur, sadece bazı gelişmiş dosya/işbirliği özellikleri ücretli planlarda kilitlidir.
Temel özellikler
Her satır (metin, başlık, görsel, kod, tablo...) ayrı bir "blok"tur — sürükleyip yeniden sıralayabilirsin.
Tablo/kanban/takvim/galeri gibi farklı görünümlerde gösterilebilen, filtrelenebilen yapılandırılmış veri listeleri.
Hazır sayfa iskeletleri (günlük planlayıcı, proje takibi, CRM...) — sıfırdan kurmak yerine kopyalayıp uyarlarsın.
Sayfa içeriğini özetleme, yazma, çeviri gibi yerleşik AI özellikleri (genellikle ayrı/ek ücretli).
Nasıl kullanılır? (başlangıç adımları)
Hesap açıp kişisel veya takım çalışma alanı kurarsın.
Boş bir sayfa veya hazır bir şablonla başlarsın; / yazarak blok tipini seçersin.
Görev listesi, okuma listesi gibi tekrarlayan verileri bir veritabanı bloğuna çevirirsin.
Aynı veriyi farklı sayfalarda farklı filtrelerle (ör. "bu hafta yapılacaklar") gösterirsin.
Kullanım senaryoları
| Senaryo | Nasıl kullanılır |
|---|---|
| Kişisel not defteri | Günlük, kitap/film listesi, fikir defteri — tek aramayla her şeye ulaşırsın. |
| Proje yönetimi | Kanban görünümlü bir görev veritabanı: Yapılacak / Devam Ediyor / Bitti sütunları. |
| Ekip wiki'si | Şirket/proje dokümantasyonu, onboarding rehberi, SSS sayfası. |
| Basit CRM | Müşteri/kontak veritabanı — filtre ve etiketlerle takip. |
| İçerik takvimi | Blog/sosyal medya paylaşımlarını takvim görünümünde planlama. |
Sık kullanacağın bir yapı için (ör. haftalık görev takibi) hazır bir şablonla başlayıp kendi ihtiyacına göre uyarlamak.
Notion'ı, gerçek zamanlı ve karmaşık sorgulama gerektiren büyük bir üretim veritabanının yerine kullanmaya çalışmak — Notion bir uygulama veritabanı değil, esnek bir çalışma alanıdır.
Dakikalar içinde çalışan bir görev panosu hazır olur, sıfırdan tasarlamaya gerek kalmaz.
Büyük veri setlerinde performans ve sorgu esnekliği düşer — bunun için gerçek bir veritabanı (ör. Supabase) daha uygundur.
💬 Notlar & Sorular
OpenClaw nedir?
Evinde 7/24 çalışan, telefonundan mesaj attığında talimatları yerine getiren kişisel bir asistan gibi düşün — ama bu asistan bulutta bir şirkete değil, tamamen senin kontrolündeki bir bilgisayara bağlı.
Nasıl çalışır?
Kendi bilgisayarında/sunucunda tek bir "Gateway" süreci çalıştırırsın — bu, mesajlaşma uygulamaları ile AI modeli arasındaki köprüdür.
Discord, WhatsApp, Telegram, Slack, Signal, Microsoft Teams gibi 10'dan fazla mesajlaşma platformuna eklentiyle bağlanır.
100'ün üzerinde hazır "beceri" ile shell komutu çalıştırma, dosya yönetimi, web otomasyonu gibi işleri yapabilir.
Anthropic Claude, OpenAI GPT modelleri veya Ollama ile yerel modeller — istediğini bağlayabilirsin.
Kimler için uygun?
Kendi verisinin bir bulut şirketinden geçmesini istemeyen, teknik olarak kendi sunucusunu/bilgisayarını yönetebilen kişisel kullanıcılar için uygundur. Kurulumu ve bakımı kendine aittir — hazır bir SaaS ürünü değil, kendi barındırdığın (self-hosted) bir sistemdir.
Evdeki bir bilgisayarda sürekli çalıştırıp, WhatsApp'tan "şu dosyayı bul/özetle" gibi komutlar vermek.
Gateway'i güvenlik önlemi almadan doğrudan internete açık bırakmak — kendi bilgisayarına/dosyalarına erişimi olan bir sistemi korumasız bırakmak risklidir.
OpenClaw dosya sisteminde notları bulur, özetler ve taslağı hazırlar — hepsi kendi bilgisayarında, dışarıya veri sızmadan.
Bağlı mesajlaşma hesabına erişimi olan biri, bilgisayarında istediğin komutu çalıştırabilir hale gelir.
💬 Notlar & Sorular
Hermes (Agent) nedir?
Yeni işe başlayan ve her gün biraz daha deneyim kazanan bir asistan gibi düşün — sıradan bir chatbot her konuşmada "sıfırdan" başlarken, Hermes önceki etkileşimlerden öğrendiklerini saklar ve zamanla seni daha iyi tanır.
Öne çıkan özellikler
Oturumlar arasında seni ve geçmiş etkileşimleri hatırlar, giderek daha isabetli yanıtlar verir.
Deneyimden yeni "skill" üretir, kullandıkça bu becerileri iyileştirir — kurulu bir özellik listesiyle sınırlı kalmaz.
CLI, Telegram, Discord, Slack, WhatsApp, Signal, Microsoft Teams, e-posta, SMS gibi çok sayıda kanaldan tek bir ajana erişirsin.
Hermes'i bir HTTP endpoint olarak dışa açıp Open WebUI, LobeChat gibi OpenAI formatı konuşan herhangi bir arayüzden bağlanabilirsin.
OpenClaw ile farkı ne?
| Özellik | Hermes Agent | OpenClaw |
|---|---|---|
| Geliştirici | Nous Research | Peter Steinberger (bağımsız, açık kaynak topluluğu) |
| Öne çıkan yön | Kalıcı hafıza + kendi kendini geliştiren öğrenme döngüsü | 100+ hazır AgentSkill, geniş kanal desteği, hızlı topluluk büyümesi |
| Model desteği | Model-agnostik (Anthropic, OpenRouter, Nous Portal dahil) | Model-agnostik (Claude, GPT, Ollama) |
| Gizlilik | Tüm veri kendi makinende kalır, telemetri yok | Self-hosted, kendi API anahtarınla |
İkisi de aynı kategoriye girer — "her zaman açık, kendi barındırdığın kişisel AI ajanı" — ama Hermes hafıza/öz-gelişim tarafına, OpenClaw ise hazır beceri/kanal genişliğine daha çok vurgu yapıyor.
Uzun vadede seni tanıyan, tercihlerini hatırlayan bir asistan istiyorsan (ör. "her sabah özetimi böyle hazırla") Hermes'in hafıza özelliğinden faydalanmak.
Kalıcı hafızayı kontrolsüz bırakıp hassas bilgilerin (parola, finansal veri) otomatik olarak "öğrenilen bilgi" havuzuna girmesine izin vermek.
Hermes bu tercihi hafızasına kaydeder; sonraki tüm raporlarda tekrar hatırlatmana gerek kalmaz.
Hassas bilgi kalıcı hafızaya/loglara karışabilir — parola/finansal bilgi bu tür asistanlara asla yazılmamalı.
💬 Notlar & Sorular
Bir sunum (prezentasyon) ajanı nasıl hazırlanır?
Neden özel bir ajan gerekir?
Genel bir promptla ("bana sunum hazırla") her seferinde farklı uzunlukta, farklı tonda, tutarsız formatta bir çıktı alırsın. Özel bir ajan, bu kararları bir kere verip tekrar tekrar aynı kaliteyi almanı sağlar — bkz. ➜ Doğru Prompt Yazımı.
Nasıl tanımlanır?
.claude/agents/sunum-ajani.md dosyası olarak, YAML başlıkla birlikte:
---
name: sunum-ajani
description: Slayt tabanlı sunum/prezentasyon hazırlar
tools: Read, Write, Artifact
model: sonnet
---
Sen bir sunum tasarımcısısın. Kurallar:
- Her slaytta en fazla 1 başlık + 4 madde
- Madde başına en fazla 12 kelime
- Her 3 slaytta bir görsel/diyagram önerisi ekle
- Ton: [kullanıcının belirttiği ton, ör. "resmi ama sıcak"]
- Sunumu HTML/reveal.js tabanlı bir artifact olarak yayınla
- Bitirmeden önce slayt sayısını ve tahmini süreyi özetle
İçermesi gereken kurallar
Kaç slayt, slayt başına kaç madde — sınır koymazsan Claude her seferinde farklı yoğunlukta çıktı üretir.
"Yönetim kuruluna resmi sunum" ile "arkadaş grubuna rahat anlatım" tamamen farklı cümle yapısı gerektirir.
Her slaytta görsel mi olacak, sadece gerektiğinde mi? Hangi diyagram türleri (akış, karşılaştırma, zaman çizelgesi) tercih edilir?
HTML/reveal.js artifact mi, markdown mı, PDF'e uygun sade bir yapı mı — net belirtilmezse Claude en genel formatı seçer.
Artifact ile birlikte kullanım
Sunum ajanı, çıktısını bir ➜ Claude Code Artifact'i olarak yayınlarsa, sunum kendi linkiyle paylaşılabilir hale gelir — dosya indirip başka bir programda açmaya gerek kalmaz, tarayıcıda tam ekran gösterilebilir.
"10 dakikalık bir sunum, 8-10 slayt, her slaytta tek fikir" gibi somut sınırlar vermek.
"Güzel bir sunum yap" demek — slayt sayısı, ton, hedef kitle belirsiz kalınca sonuç şansa kalır.
Ajan tanımlı kurallara göre (kısa madde, resmi ton, 3 slaytta bir grafik) tutarlı bir sunum üretir.
Bir seferinde 5 slayt, bir seferinde 20 slayt — tutarsız sonuç, her seferinde yeniden yönlendirme gerekir.
💬 Notlar & Sorular
Bir web sitesi arayüz (UI) ajanı nasıl hazırlanır?
Neden özel bir ajan gerekir?
Genel bir promptla her sayfa farklı bir "AI tasarımı" gibi görünebilir — tutarsız renk paleti, farklı font çiftleri, birbirini tutmayan bileşen stilleri. Özel bir ajan, marka/tasarım kurallarını bir kere sabitler.
Nasıl tanımlanır?
.claude/agents/arayuz-ajani.md dosyası olarak:
---
name: arayuz-ajani
description: Web arayüzü/UI bileşenleri tasarlar ve kodlar
tools: Read, Write, Edit, Artifact
model: sonnet
---
Sen bir frontend/UI tasarımcısısın. Kurallar:
- Renk paleti: [marka renklerini buraya yaz]
- Tipografi: başlık için [font], gövde metni için [font]
- Açık VE koyu tema her zaman tanımlanır
- Mobil genişlikte (~400px) yatay taşma olmaz
- Tekrarlanan bileşenler (kart, buton) aynı kenar/gölge/köşe kuralını paylaşır
- Yeni bir sayfa/component'ten önce mevcut tasarım sistemini oku, tekrar icat etme
İçermesi gereken kurallar
Renk/font/boşluk değerlerini her seferinde tekrar sormak yerine, bir "tasarım tokenleri" listesine işaret et.
Açık/koyu mod için hangi CSS değişken yapısının kullanılacağı net olmalı (bkz. bu rehberin kendi :root/body.dark-mode yapısı).
Minimum genişlik, kenar boşluğu, hangi noktada tek sütuna düşüleceği gibi somut eşikler.
Klavye odağının görünür olması, yeterli renk kontrastı gibi asgari kurallar.
Artifact ile birlikte kullanım
Arayüz ajanı çıktısını doğrudan bir ➜ Claude Code Artifact'i olarak yayınlarsa, sonucu hemen tarayıcıda görüp linkle paylaşabilirsin — kod indirip yerelde çalıştırmaya gerek kalmadan hızlı geri bildirim alırsın.
Marka renklerini/fontlarını bir kere ajan tanımına yazıp, sonraki her istekte "bu tasarım sistemine uy" demek.
Her yeni sayfada rengi/fontu yeniden tarif etmek — zamanla küçük farklarla tutarsız bir görsel kimlik ortaya çıkar.
Yeni sayfa, sitenin geri kalanıyla aynı renk/font/bileşen diline sahip olur.
"Modern" ve "mavi" her seferinde farklı yorumlanır — site genelinde tutarsız bir görünüm oluşur.
💬 Notlar & Sorular
PWA (Progressive Web App) nedir, nasıl yapılır?
Normal bir web sitesi, her ziyarette yeniden kurulması gereken geçici bir çadır gibidir. PWA ise aynı çadırı, kalıcı bir kapı ve tabelayla (ana ekran ikonu) sabit bir yapıya çevirir — içerik hâlâ "web" olsa da artık orada duran, tıkla-aç bir şeydir.
Üç temel bileşen
Uygulamanın adını, ikonlarını, başlangıç rengini ve açılış URL'sini tanımlayan bir manifest.json dosyası — "ana ekrana ekle" dendiğinde tarayıcı bu dosyayı okur.
Arka planda çalışan, ağ isteklerini yakalayıp önbelleğe alabilen bir script — çevrimdışı çalışmayı ve hızlı yüklenmeyi bu sağlar.
Service Worker'lar sadece güvenli (HTTPS) bağlantılarda çalışır — bu bir zorunluluktur, opsiyonel değildir.
Nasıl uygulanır? (minimum örnek)
1. manifest.json oluştur ve sayfaya bağla:
{
"name": "Yapılacaklar Listem",
"short_name": "Todo",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#5A9E1A",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
]
}
<link rel="manifest" href="/manifest.json">
2. Bir Service Worker kaydet (basitleştirilmiş örnek):
// sw.js
self.addEventListener('install', (e) => {
e.waitUntil(caches.open('v1').then((cache) => cache.addAll(['/', '/index.html'])));
});
self.addEventListener('fetch', (e) => {
e.respondWith(caches.match(e.request).then((res) => res || fetch(e.request)));
});
// index.html içinde
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
3. Gerekli ikon boyutlarını (genelde 192×192 ve 512×512) hazırla, HTTPS üzerinden yayınla — bu kadarı, tarayıcının "ana ekrana ekle" seçeneğini göstermesi için genelde yeterlidir.
Örnek kullanım senaryoları
| Senaryo | PWA neden uygun |
|---|---|
| Kişisel yapılacaklar/not uygulaması | App Store'a yüklemeden, tek kod tabanıyla telefon+bilgisayarda aynı arayüz (bkz. ➜ PWA + Supabase + Tailscale + Python). |
| Haber/blog sitesi | Service Worker sayesinde önceden okunan içerik çevrimdışı da açılabilir. |
| Küçük e-ticaret | Mobil mağaza onay sürecine (App Store/Play Store incelemesi) girmeden hızlı yayına alma. |
| İç araç / dashboard | Şirket içi bir panoyu, ayrı bir uygulama geliştirmeden telefonlara "kurulu" gibi dağıtmak. |
PWA'nı App Store / Play Store'ye eklemek
PWA varsayılan olarak tarayıcıdan "ana ekrana ekle" ile kurulur, ama resmi App Store'lara girmek isterseniz:
| Mağaza | Yöntem | İşlem |
|---|---|---|
| Google Play Store | Bubblewrap + Trusted Web Activity (TWA) | PWA'nı native Android wrapper'a sarıp, Play Store'a gönder. APK/Bundle Play Store'a uyumlu hale getirilir. |
| Microsoft Store | PWA otomat kayıt | PWA'n konusunda geliştirici paneline ilerle, Microsoft otomatik tarayıcı kayıtlarından algılar ve Store'da listeleme önerir. |
| Apple App Store (iOS) | Web Clip + native wrapper | iOS sanatsal kısıtlamalar nedeniyle PWA'yı direkt Store'a koymaz. Alternatif: PhoneGap/Cordova gibi framework'le native shell sarıp gönder (ancak bu PWA değil, hybrid uygulamadır). |
| Samsung Galaxy Store | Bubblewrap ile Play Store'a benzer | Samsung Galaxy Store'a PWA yüklemek için native wrapper'a ihtiyaç var. |
Bubblewrap kur: npm install -g @bubblewrap/cli — bu araç PWA'yı Play Store uyumlu APK/Bundle'a dönüştürür.
Proje başlat: bubblewrap init --manifest=https://senin-site.com/manifest.json — PWA'nın manifest'ini okur, gerekli yapıları hazırlar.
Build et: bubblewrap build — signed APK ve App Bundle üretir.
Play Store'a gönder: Google Play Console'a gir, Bundle'ı yükle, açıklama ve icon ekle, onay için gönder.
Güncel trendler ve sınırlamalar
Tarayıcı desteği eşit değildir: Chrome/Edge (Android dahil) PWA'yı tam destekler, Safari/iOS ise tarihsel olarak daha kısıtlıdır (bazı bildirim/depolama özellikleri sınırlı veya geç gelir) — iOS'ta test etmeden "her yerde aynı çalışır" varsayma. Play Store'a koymanın avantajı: daha geniş dağıtım ve kullanıcı bulma, ama dezavantajı: PWA'nın tek kod tabanı avantajı kısmen kaybolur (her store için ayrı build/review).
Basit, esas olarak veri gösteren/form alan bir aracı (kişisel takip uygulaması, iç panel) PWA olarak yayınlamak — native uygulama geliştirme maliyetinden kaçınırsın.
Yoğun kamera/Bluetooth/arka plan konum gibi native donanım erişimi gerektiren bir uygulamayı PWA ile yapmaya çalışmak — bu tür erişimler PWA'da sınırlı veya yoktur.
Site, telefonda kendi ikonu ve tam ekran penceresiyle gerçek bir uygulama gibi açılır.
Ana ekrana eklense bile çevrimdışı çalışmaz, önbellekleme olmadığı için avantajların çoğu kaybolur.
💬 Notlar & Sorular
21st.dev nasıl kullanılır? (menü rehberi)
Bir mobilya mağazasının showroom'u gibi düşün: her bölüm (koltuklar, masalar, lambalar) kendi reyonunda durur, beğendiğin parçayı kutusuyla (kaynak koduyla) alıp evine (projene) götürürsün — sıfırdan mobilya yapmana gerek kalmaz.
Bu sayfada ara
Arama yaparak kategorileri filtrele:
Üst menü (top nav) — İngilizce / Türkçe
| İngilizce | Türkçe karşılığı | Ne işe yarar |
|---|---|---|
| Components | Bileşenler | Tek tek arayüz parçaları (buton, kart, hero bölümü...). |
| Templates | Şablonlar | Baştan sona hazır, tam site şablonları (bazıları ücretli, bazıları açık kaynak). |
| Themes | Temalar | shadcn/ui için hazır renk/tema paketleri (Vercel, Supabase, Claude gibi isimlerle). |
| Pricing | Fiyatlandırma | Ücretsiz/ücretli plan karşılaştırması. |
| Log in / Sign up | Giriş Yap / Kayıt Ol | Hesap oluşturma — bookmark/koleksiyon gibi özellikler için gerekir. |
Sol menü (Components sayfasındaki kategori listesi)
Bileşenler sayfasında (21st.dev/components) sol tarafta, sayfanın soldaki "☰" simgesiyle açılan uzun bir kategori listesi var. İki ana grupta toplanır: Marketing Blocks (pazarlama/tanıtım sayfası parçaları) ve UI Components (uygulama içi arayüz parçaları).
Marketing Blocks (Pazarlama Blokları)
| İngilizce | Türkçe | Ne işe yarar |
|---|---|---|
| Announcements | Duyurular | Siteye yeni bilgi/kampanya duyurması yapan banner'lar |
| ASCII Art | ASCII Sanatı | Metin tabanlı görsel sanat (ASCII karakterlerle çizim) |
| Backgrounds | Arka Planlar | Sayfanın arkasındaki dekoratif arka plan tasarımları |
| Borders | Kenarlıklar | Kutular, bölümler için dekoratif kenar tasarımları |
| Calls to Action | Eylem Çağrıları (CTA) | Kullanıcıyı işlem yapmaya davet eden buton/bölümleri (Şimdi İndir vs) |
| Clients | Müşteri Logoları | Şirketi kullanan müşterilerin logolarını gösteren bölüm |
| Comparisons | Karşılaştırmalar | Ürünleri/planları yan yana karşılaştıran tablolar/bloklar |
| Docks | Dock'lar (uygulama rafı) | macOS benzeri uygulama başlatıcı arayüzü blokları |
| FAQs | Sıkça Sorulan Sorular | Akordeon tarzı soru-cevap bölümleri |
| Features | Özellik Bölümleri | Ürünün özellikleriyle ilgili tanıtım kartları/detayları |
| Footers | Alt Bilgi (Footer) | Sayfanın en altındaki bilgi, linkler, telif hakkı |
| Galleries | Galeriler | Görsellerin grid/carousel formatında sergilenmesi |
| Gradients | Gradyanlar (Renk Geçişleri) | Renk geçişleriyle oluşan dekoratif arka plan bileşenleri |
| Heroes | Giriş (Hero) Bölümleri | Sayfanın başında büyük başlık ve arka plan ile etki yapan bölüm |
| Hooks | Hook'lar (React kancaları) | React bileşenlerinin davranışını kontrol eden fonksiyon paketleri |
| Images | Görseller | Resimleri çerçeveleme, maskeleme, efekt uygulama |
| Maps | Haritalar | İnteraktif harita gösterim bileşenleri |
| Marquees | Kayan Yazı/Şerit (Marquee) | Yatay olarak kayan/döngüye giren yazı/görsel blokları |
| Navigation Menus | Gezinme Menüleri | Ana menü, hamburger menü, breadcrumb navigasyon tasarımları |
| Pricing Sections | Fiyatlandırma Bölümleri | Paket/plan seçeneklerini gösteren karşılaştırmalı tasarım |
| Scroll Areas | Kaydırma Alanları | Kaydırılabilir içerik alanlarının tasarımı/animasyonu |
| Shaders | Shader'lar (Görsel Efektler) | GPU'da çalışan görsel efekt animasyonları (metal, sıvı vs) |
| Stats & KPIs | İstatistik & KPI'lar | Büyük sayılar, metrikler, başarı göstergeleri (counter bileşenleri) |
| Steppers | Adım Göstergeleri | Yönlendirilmiş süreç/wizard'ın adımlarını gösteren bileşen |
| Team Sections | Ekip Bölümleri | Şirket/proje ekip üyelerinin profil ve foto kartları |
| Testimonials | Referanslar / Kullanıcı Yorumları | Müşteri/ kullanıcı yorumlarını gösteren şahadet kartları |
| Texts | Metin Bileşenleri | Başlık, paragraf, özel yazı efectleri (glow, gradient text) |
| Timelines | Zaman Çizelgeleri | Tarih bazlı olayları dikey/yatay çizgi üzerinde gösteren |
| Videos | Videolar | Video oynatıcı embed'i, arka planda video, video thumbnail bileşenleri |
UI Components (Arayüz Bileşenleri)
| İngilizce | Türkçe | Ne işe yarar |
|---|---|---|
| Accordions | Akordeonlar | Genişletilebilir/daraltılabilir soru-cevap veya bilgi bölümleri |
| AI Chats | Yapay Zeka Sohbetleri | ChatGPT benzeri sohbet arayüzü/mesaj baloncukları |
| Alerts | Uyarılar | Kullanıcıya bilgi/hata/başarı mesajı gösteren kutuları |
| Avatars | Avatarlar (Profil Simgeleri) | Kullanıcı profil resmi/simgesi bileşenleri |
| Badges | Rozetler | Durumu/etiket gösteren küçük renkli etiketler (New, Beta vs) |
| Buttons | Butonlar | Tıklanabilir eylem butonları çeşitli stiller/boyutlarla |
| Calendars | Takvimler | Tarih seçen takvim widget'ı bileşenleri |
| Cards | Kartlar | İçeriği kutulu/kenarlı bölümlerde gösteren bileşen |
| Carousels | Kaydırmalı Galeriler (Carousel) | Yatay kaydırılan görsel/içerik galeri |
| Charts & Data Viz | Grafikler & Veri Görselleştirme | Bar/line/pie grafikleri, veri göstergeleri |
| Checkboxes | Onay Kutuları | Çoklu seçim için tik tutacak kutular |
| Cursors | İmleçler | Fare imlecinin özel tasarım stilleri |
| Dashboards | Kontrol Panelleri | Metrikleri/verileri gösteren yönetim paneli düzenleri |
| Date Pickers | Tarih Seçiciler | Tarih seçmek için takvim/dropdown bileşeni |
| Dialogs / Modals | Diyalog/Modal Pencereler | Sayfanın üstünde pop-up pencereler (onay, bilgi vs) |
| Dropdowns | Açılır Menüler | Seçenek listesini açıp kapatan dropdown/select menü |
| Empty States | Boş Durum Ekranları | Veri olmadığında görüntülenen placeholder ekranlar |
| File Trees | Dosya Ağaçları | Klasör yapısını gösteren hiyerarşik dosya listesi |
| File Uploads | Dosya Yükleme | Dosya seçen ve gösteren upload bileşenleri |
| Forms | Formlar | Giriş alanlarını düzenli biçimde gösteren form yapıları |
| Globes | Küre (Globe) Görselleri | 3D dönüşebilir dünya/küre animasyonları |
| Grids & Bento | Izgaralar & Bento Düzenleri | Grid layout ile bileşenleri düzenleyen masonry/bento stili |
| Icons | İkonlar | Simge/resim kütüphaneleri ve ikonları gösteren bileşen |
| Inputs | Giriş Kutuları | Metin giriş alanları (textbox, email, password vs) |
| Links | Bağlantılar | Bağlantı stili ve animasyonlar |
| Lists | Listeler | Sıralı/sırasız liste bileşenleri |
| Menus | Menüler | Seçenek menüleri, context menü, nested menüler |
| Notifications | Bildirimler | Anlık bildirim/alert mesajları (toast vb) |
| Numbers | Sayaç/Sayı Bileşenleri | Sayıların animasyonlu artış/azalış gösterimi |
| Onboarding | Kullanıcı Karşılama | Yeni kullanıcı tanıtım/tutorial akışı |
| Paginations | Sayfalama | Sayfa numaraları / ileri-geri navigasyon |
| Popovers | Açılır Baloncuklar | Hover/click'te açılan bilgi kutusu baloncukları |
| Profiles | Profil Bileşenleri | Kullanıcı profil kartları, kullanıcı bilgi blokları |
| Progress | İlerleme Çubukları | İşlemin/yüklemenin tamamlanma yüzdesini gösteren çubuk |
| Radio Groups | Radyo Buton Grupları | Tek seçim için radyo butonu grupları |
| Search Bars | Arama Çubukları | Arama yapan giriş kutusu/search widget |
| Selects | Seçim Kutuları | Açılır liste ile seçim yapan form elemanı |
| Sidebars | Kenar Menüleri | Sayfanın yanında kayan/açılan yan menü paneli |
| Sign Ins | Giriş Ekranları | Oturum açma formu ve bileşenleri |
| Sign ups | Kayıt Ekranları | Yeni hesap oluşturma formu ve bileşenleri |
| Sliders | Kaydırıcılar | Sürükle-bırak range seçer bileşeni |
| Spinner Loaders | Yüklenme Animasyonları | Yükleniyor göstergesi döner/animate kareleri |
| Tables | Tablolar | Veri gösteren table bileşenleri (sıralama, filtreleme) |
| Tabs | Sekmeler | Sekme başlıkları ile içeriği değiştiren bileşen |
| Tags | Etiketler | Kategorileme/etiketleme için küçük tag/label etiketleri |
| Text Areas | Metin Alanları | Çok satırlı metin giriş kutusu |
| Toasts | Anlık Bildirimler (Toast) | Ekranın köşesinde beliren geçici bildirim mesajları |
| Toggles | Açma/Kapama Anahtarları | On/Off açma-kapama switch bileşeni |
| Tooltips | İpuçları (Tooltip) | Hover'da görünen bilgi ipucu baloncukları |
Sol menünün en üstündeki diğer linkler
| İngilizce | Türkçe | Ne işe yarar |
|---|---|---|
| Featured | Öne Çıkanlar | Editör seçimi/popüler bileşenler. |
| Newest | En Yeniler | Yeni eklenen bileşenler, kronolojik. |
| Authors | Yazarlar | Bileşenleri yayınlayan tasarımcı/geliştiricilerin profilleri. |
| Libraries | Kütüphaneler | Aceternity UI, Magic UI, shadcn/ui gibi bileşen setlerinin kendi sayfaları. |
Bir bileşen nasıl kullanılır?
Kategori listesinden veya arama kutusundan (Search) istediğin bileşen türüne gir, önizlemeleri (Preview) incele.
Sayfada üç sekme vardır: Preview (canlı önizleme), Code (kaynak kod), Info (bağımlılıklar, lisans, kaynak).
Copy prompt butonu, bileşeni Claude Code/Cursor gibi bir AI aracının terminaline yapıştırınca projene otomatik uyarlayıp ekleyen hazır bir talimat kopyalar. CLI butonu ise klasik npx shadcn add ... tarzı kurulum komutunu verir.
Kod senin projene "kopyalanır" (yerine gömülür) — bir paket olarak kalmaz, dilediğin gibi değiştirebileceğin gerçek kaynak koddur.
Templates, tek bir bileşen değil, baştan sona hazır bir site iskeleti (ör. bir SaaS açılış sayfası) — bazıları ücretsiz/açık kaynak ("With plan" veya "Open-source"), bazıları ayrı ücretli (yazara ödenir). Themes ise shadcn/ui projeleri için hazır renk paletleri (Vercel, Supabase, Claude gibi tanıdık marka temaları dahil) — tek tıkla projenin CSS değişkenlerine uygulanır.
Ücretli mi?
| Plan | Fiyat (yaklaşık) | Kapsam |
|---|---|---|
| Ücretsiz (hesapsız/temel) | 0 $ | Bileşenleri gezme, önizleme, bazı kodları görüntüleme. |
| Builder | ~6 $/ay (yıllık faturada) | Sınırsız kod/prompt kopyalama, sınırsız kurulum, MCP/CLI üzerinden arama. |
| Builder + AI | ~15 $/ay (yıllık faturada) | Builder'ın tamamı + aylık AI kredisi, çoklu AI modeliyle üretim, "Design Bug Bot" PR incelemesi. |
| Team | ~7.5 $/koltuk/ay | Ajans/takım için — merkezi faturalama, paylaşılan koleksiyonlar, yönetici kontrolleri. |
Kişisel/tek kullanıcı kullanımında tarama ve tekil bileşen inceleme büyük ölçüde ücretsizdir; sık ve sınırsız kopyalama/kurulum istiyorsan Builder planı gerekir.
Bir tasarım ihtiyacın olduğunda önce ilgili kategoriye (ör. "Pricing Sections") girip birkaç örneği karşılaştırmak, sonra projenin tasarım diline en yakınını seçmek.
Farklı kütüphanelerden (Aceternity, Magic UI, shadcn/ui) rastgele bileşenleri hiç uyarlamadan yan yana koymak — her birinin kendi tasarım dili/bağımlılıkları olduğu için görsel tutarsızlık çıkar.
Claude Code, bileşeni projenin mevcut temasına uyarlayarak ekler — bkz. ➜ Web Arayüz Ajanı.
Bileşen hata verir — Info sekmesindeki "Dependencies" listesini kontrol etmeden kurulum yapılmamalı.
💬 Notlar & Sorular
Claude masaüstü uygulamasındaki tüm menüler ne işe yarar?
Skills / Connectors / Plugins arasındaki fark nedir?
| Tür | Ne yapar | Örnek |
|---|---|---|
| Skills | Claude'a belirli bir işi nasıl yapacağını öğreten talimat + dosya paketi (prompt, şablon, script). Yeni bir araç eklemez, mevcut yetenekleri belirli bir iş akışına yönlendirir. | learn (öğretici anlatım modu), doc-coauthoring (belge birlikte yazma akışı), web-artifact-builder |
| Connectors | Genellikle MCP (Model Context Protocol) tabanlı; Claude'u harici bir servise veya veri kaynağına bağlar — gerçek zamanlı veri okur/yazar. | Figma (tasarım dosyaları), Zoom, Bright Data (web scraping), Google Drive/Slack gibi entegrasyonlar |
| Plugins | Skill + komut + MCP sunucusunu tek pakette birleştiren, genelde bir organizasyon/topluluk tarafından dağıtılan daha büyük paketler. Marketplace üzerinden eklenir. | Legal (sözleşme inceleme iş akışı), Bio Research, SearchFit SEO |
Ekrandaki bölümler ne anlama geliyor?
Skills / Connectors / Plugins — her biri ayrı bir kategori listesidir, birbirinin alt kümesi değildir.
"Yours" senin hesabına zaten eklediklerin; "Discover" Anthropic'in ve topluluğun sunduğu tüm katalog.
Sırasıyla: isimle arama, kategoriye göre filtreleme, ve popülerlik/tarih gibi kriterlere göre sıralama.
"For you" kullanım geçmişine göre önerilen eklentiler; "New" son eklenen/güncellenen eklentilerdir (kart üzerinde "added X gün önce" yazar).
Tıklayınca eklentiyi doğrudan hesabına ekler; kurulum sonrası "Yours" sekmesinde görünür ve oradan kaldırılabilir.
Katalogdan seçmek yerine kendi skill/connector/plugin'ini elle (dosya yükleyerek veya bir marketplace repo adresi girerek) eklemene yarar.
Bir eklenti kartının üzerinde neler var?
Discover'da bir Skill/Connector/Plugin kartına tıkladığında açılan detay sayfası her zaman aynı düzeni izler:
Eklentinin adı, ikonu ve kimin yayınladığı (Anthropic resmi / doğrulanmış topluluk hesabı / bağımsız geliştirici) üstte gösterilir. Doğrulanmış hesaplar mavi tik ile işaretlenir.
Eklentinin ne yaptığını anlatan kısa metin ve "bunu deneyebilirsin" tarzda 2-3 örnek istem (prompt) listelenir — kurulmadan önce ne işe yarayacağını görürsün.
Connector ve Plugin'ler için: eklentinin hangi verilere erişeceği (dosyalar, e-posta, takvim vb.) ve hangi işlemleri yapabileceği (okuma-yazma) açıkça listelenir — kurulumdan önce onaylaman istenir.
Skill'lerde "+" direkt ekler; Connector'larda genelde "Connect" yazar ve OAuth ekranına yönlendirir; Plugin'lerde "Install" yazar ve marketplace'ten paketi indirir.
Sol tam Ayarlar (Settings) menüsü — tüm başlıklar
Sol üstteki arama kutusunun altında üç grup halinde sıralanır: Settings, Desktop app, Customize. Her satır ayrı bir sayfa açar:
| Grup | Sekme | Ne işe yarar |
|---|---|---|
| Settings | ⚙️ General | Dil, varsayılan model tercihleri, sohbet başlangıç davranışı gibi genel/global ayarlar. |
| 👤 Account | Görünen ad, e-posta adresi, şifre değiştirme, hesabı bağlı olduğun oturum listesi. | |
| 🛡️ Privacy | Sohbet geçmişinin model eğitiminde kullanılıp kullanılmayacağı, web arama/analiz izinleri gibi gizlilik anahtarları. | |
| 💳 Billing | Abonelik planı (Free/Pro/Max), ödeme yöntemi, fatura geçmişi, plan yükseltme/düşürme. | |
| 📊 Usage | Mesaj/token kullanım grafikleri, haftalık/aylık limitlerin ne kadarının tüketildiği. | |
| 💼 Capabilities | Web araması, kod çalıştırma, dosya analizi gibi Claude'un kullanabileceği yerleşik yeteneklerin açık/kapalı anahtarları. | |
| 🧠 Memory | Claude'un önceki sohbetlerden hatırladığı bilgileri (kullanıcı profili, tercihler) görüp düzenleyebileceğin/sıfırlayabileceğin ekran. | |
| </> Claude Code | Claude Code CLI'a özel ayarlar: varsayılan izin modu, kısayollar, entegrasyon tercihleri. | |
| 📋 Cowork | Ekip/çoklu-kullanıcı ortak çalışma alanı ayarları (paylaşılan projeler, davetler) — kurumsal/ekip planlarında görünür. | |
| 🌐 Claude in Chrome | Chrome eklentisinin (tarayıcıyı Claude'un kontrol etmesi) bağlantı durumu ve izinleri. | |
| Desktop app | 🖥️ General | Uygulama başlangıçta açılsın mı, sistem tepsisine küçülsün mü, bildirim tercihleri gibi masaüstü-uygulamasına-özel ayarlar. |
| 🔌 Extensions | Masaüstü uygulamasına takılan tarayıcı-dışı eklentiler (örn. sistem entegrasyonları) burada listelenir/yönetilir. | |
| 🔧 Developer | Geliştirici modu anahtarları: konsol/log erişimi, deneysel özellik bayrakları (feature flags), MCP sunucu debug bilgisi. | |
| Customize | 🧩 Skills | Yukarıdaki tüm Skills açıklaması geçerli. |
| 🔗 Connectors | Yukarıdaki Connectors açıklaması geçerli. | |
| 🧩 Plugins | Yukarıdaki Plugins açıklaması geçerli. |
Sohbet ekranının üst araç çubuğu (sol üstteki ikonlar)
Sol kenar çubuğunu (sohbet geçmişi listesi) açıp kapatır — daha geniş yazı alanı için gizlenebilir.
Ekranı iki panele böler; ikinci panelde başka bir sohbet, Artifact önizlemesi veya dosya görünümünü yan yana açmana yarar.
Tüm sohbet geçmişinde anahtar kelimeyle arama yapar — eski bir konuşmayı bulmak için.
Tarayıcıdaki gibi, açtığın sohbetler/sayfalar arasında gezinme geçmişinde ileri-geri gider.
Mevcut sohbeti ayrı bir pencerede veya yeni bir sekmede açar.
Claude Code moduna geçişi gösterir/işaretler — aktifken vurgulu (mavi) görünür, tıklanınca kod-odaklı arayüze döner.
Sağ üstteki ikonlar ve ⋮ (üç nokta) menüsü
Yerleşik terminal/komut satırı panelini açar (Claude Code masaüstü entegrasyonunda) — dosya sistemine doğrudan komut çalıştırmana yarar.
Sağ tarafta Artifact/dosya önizleme panelini açar; aktifken mavi görünür. Bu panelde oluşturduğun HTML, kod veya belge canlı render edilir.
Bağlı Connector/web erişimi durumunu gösterir; sağ üstteki küçük mavi nokta bir Connector'ın aktif/bağlı olduğunu işaret eder.
Artifacts panelini aç/kapat (yukarıdaki ⊡ ikonuyla aynı işlevin menü karşılığı, yanında ✓ ile durumu gösterir).
O sohbete yüklenen/oluşturulan dosyaların listesini açar; klavye kısayoluyla da erişilebilir.
Arka planda çalışan (sen başka işle uğraşırken devam eden) ajan görevlerinin durumunu gösteren panel.
Claude'un "Plan modu"nda hazırladığı adım adım plan belgesini açar (bkz. ).
Alt menü: mevcut sohbeti/Artifact'ı VS Code gibi harici bir uygulamada veya tarayıcıda açmanı sağlar.
Sohbetin başlığını elle değiştirmene yarar (varsayılan olarak ilk mesajdan otomatik üretilir).
Mevcut sohbetin o ana kadarki tüm geçmişiyle birlikte bir kopyasını (dalını) oluşturur — orijinali bozmadan farklı bir yöne devam etmek için.
Sohbetin ham/ayrıntılı transkript görünümünü açar — hangi araçların hangi sırayla çağrıldığını görmek için (hata ayıklamada faydalı).
Claude'un bu sohbetteki yanıt biçimini (kısa/detaylı, madde imli/düz metin vb.) değiştiren alt menü.
Açık/kapalı anahtarı — açıksa, uzun süren bir görev çalışırken bilgisayarının uykuya geçmesini bu sohbet için engeller ("Only for this session" notuyla).
Sohbeti sol listeden gizler ama silmez — arşivden istediğin zaman geri getirebilirsin.
Sohbeti kalıcı olarak siler (kırmızı renkle vurgulanır — geri dönüşü olmayan bir işlem, dikkatli kullan).
Sol kenar çubuğu (sidebar) altındaki "More" menüsü
Belirli aralıklarla otomatik çalışan, önceden tanımlanmış görev/otomasyon listesini açar (örn. her sabah bir özet çıkarma rutini).
Sol kenar çubuğunda hangi kısayolların (Artifacts, Customize, projeler vb.) görüneceğini özelleştirmeni sağlar.
Mesaj kutusunun altındaki bar
Dosya/görsel ekleme veya bir Connector'dan içerik çekme menüsünü açar (bkz. yukarıdaki "📎 ataç" açıklaması).
Sesli girişle mesaj yazmanı sağlar — konuştuğun metne otomatik çevrilir.
Claude'un görev karmaşıklığına göre otomatik model/efor seçmesini sağlayan varsayılan mod; tıklayınca manuel moda geçilebilir.
O an kullanılan model adı ve "düşünme eforu" (Low/Medium/High gibi) seviyesini gösterir — daha yüksek efor daha derin ama daha yavaş/pahalı yanıt üretir.
Masaüstü uygulamasının kendi pencere menü çubuğu
Windows'ta pencerenin en üstünde (bazen Alt tuşuna basınca) görünen klasik menü çubuğu; bunlar Claude'un kendi ayarları değil, işletim sistemi seviyesinde pencere kontrolleridir:
| Menü | İçeriği |
|---|---|
| File | Yeni pencere açma, uygulamayı kapatma gibi dosya/pencere düzeyi komutlar. |
| Edit | Kopyala/yapıştır/tümünü seç gibi standart metin düzenleme komutları. |
| View | Yakınlaştırma (zoom), tam ekran, kenar çubuğunu gösterme/gizleme gibi görünüm ayarları. |
| Go | Sohbetler arasında ileri/geri gitme, belirli bir bölüme atlama komutları. |
| Help | Belgeler, klavye kısayolları listesi, sürüm bilgisi ve destek/geri bildirim gönderme bağlantıları. |
Masaüstü uygulamasına birşey eklemek/çıkarmak istiyorsan
Customize → Skills/Connectors/Plugins → Discover sekmesine gir, aradığın işlevi arama kutusuna yaz, kartın üzerindeki + butonuna bas. Bazı Connector'lar ek olarak OAuth izni ister (örn. Google hesabınla giriş).
Customize → ilgili sekme → Yours içinde eklentiyi bul, kart menüsünden "Remove" / "Disable" seç. Bu işlem geri alınabilir — eklentiyi istediğin an tekrar ekleyebilirsin.
Yeni sohbet ekranında mesaj kutusunun altındaki 📎 ataç / araç ikonuna tıkla — o an bağlı olan Connector'lar ve kullanılabilir Skill'ler açılır listede görünür; oradan tek tek açıp kapatabilirsin (o sohbete özel, genel ayarı değiştirmez).
Bir Connector'ı kaldırmak (Remove), o servise verdiğin OAuth iznini otomatik iptal etmeyebilir — tam iptal için ilgili servisin kendi hesap ayarlarından ("Bağlı uygulamalar" gibi) da erişimi geri alman gerekir.
💬 Notlar & Sorular
Qwen2.5-Coder-32B-Instruct-Q4_K_M nedir?
İsim parça parça ne anlatıyor?
| Parça | Anlamı |
|---|---|
Qwen2.5-Coder | Model ailesi — genel Qwen2.5'in kod yazma/anlama üzerine ek eğitimden geçmiş (fine-tune) versiyonu. |
32B | 32 milyar parametre. Modelin "büyüklüğü/kapasitesi" — daha büyük parametre sayısı genelde daha iyi muhakeme ama daha fazla RAM/VRAM demektir. |
Instruct | "Talimat takip etme" için ayrıca eğitilmiş sürüm — ham metin tamamlama (base model) değil, soru-cevap/sohbet formatında komut verebileceğin sürümdür. Kod asistanı olarak kullanılması gereken versiyon budur. |
Q4_K_M | GGUF niceleme (quantization) seviyesi: ağırlıkları 4-bit hassasiyete indirir ("K-quant", katman bazında karışık hassasiyet kullanan orta (M) seviye varyant). llama.cpp/Ollama gibi araçlarla yerelde çalıştırmak için kullanılır. |
Pratikte ne anlama geliyor?
32B parametre × ~4 bit ≈ dosya boyutu kabaca 18-20 GB civarı olur (K-quant overhead'i dahil). Bu, tam hassasiyetli (FP16, ~64 GB) sürüme göre çok daha erişilebilir bir boyuttur.
16 GB+ VRAM'li bir GPU'da (veya yeterli sistem RAM'i ile CPU/GPU karışık modda) makul hızda çalışır; 8 GB VRAM'de daha küçük quant (ör. Q3/Q4_0) veya daha küçük parametre sayısı (7B/14B) tercih edilebilir.
Kod tamamlama, refactor önerisi, basit hata ayıklama gibi görevlerde; internet bağlantısı gerektirmeden, token maliyeti olmadan çalışan yerel bir kod asistanı olarak kullanılır.
Bulut tabanlı büyük modellere (Claude gibi) göre uzun bağlam / karmaşık çok adımlı muhakeme yeteneği daha sınırlıdır — bu yüzden genelde "boilerplate, özet, basit sınıflandırma" gibi işler için tercih edilir (bkz. ).
Nasıl çalıştırılır?
ollama pull qwen2.5-coder:32b-instruct-q4_K_M
ollama run qwen2.5-coder:32b-instruct-q4_K_M "Bu fonksiyonu refactor et: ..."
Basit/tekrarlayan kod üretimi, log/çıktı özetleme, JSON'a dönüştürme gibi düşük nüanslı işleri yerel modele ver — token maliyeti sıfırdır, hızlıdır.
Mimari karar, güvenlik açığı arama veya birden fazla dosyayı koordine eden görevleri yerel modele bırakmak — bu görevler nüans ister, bulut modelinde kalmalı.
💬 Notlar & Sorular
Ollama sunucularımı (8080 / 8081) nasıl açar/kapatır, Continue ile nasıl kullanırım?
11434 portunda tek bir sunucu olarak çalışır. Aynı makinede birden fazla Ollama örneğini (ör. biri sohbet modeli, biri otomatik-tamamlama/embedding modeli için) farklı portlarda — senin durumunda 8080 ve 8081 — çalıştırmak için her örneğe ayrı bir OLLAMA_HOST adresi vermen gerekir.
launch.json/servis tanımına veya başlatma scriptine göre değişebilir — komutları kendi ortamına göre uyarlaman gerekir.
Sunucuyu başlatma / durdurma
| İşlem | Windows (PowerShell) |
|---|---|
| Belirli bir portta başlat | $env:OLLAMA_HOST="127.0.0.1:8080"; ollama serve |
| İkinci sunucuyu başka portta başlat | Ayrı bir terminal penceresinde: $env:OLLAMA_HOST="127.0.0.1:8081"; ollama serve |
| Çalışan sunucuları listele | ollama ps (o an modeli yüklü olan aktif süreçleri gösterir) |
| Sunucunun ayakta olduğunu doğrula | curl http://127.0.0.1:8080/api/tags — model listesi JSON olarak dönerse sunucu çalışıyordur |
| Durdur | İlgili terminal penceresinde Ctrl+C, veya arka planda çalışıyorsa Görev Yöneticisi'nden ollama.exe sürecini sonlandır / taskkill /IM ollama.exe /F |
OLLAMA_HOST, Ollama'ya "hangi kapıda (port) müşteri kabul edeceğini" söyler. Aynı binada (bilgisayar) iki ayrı dükkan (sunucu süreci) açmak istiyorsan, ikisine de farklı bir kapı numarası vermen gerekir — aksi halde ikinci süreç "bu kapı zaten dolu" (adres kullanımda) hatası verir.
Continue (VS Code eklentisi) ile bağlama
Continue'nin config.yaml (veya eski config.json) dosyasında, her Ollama sunucusunu ayrı bir model girdisi olarak tanımlarsın:
models:
- name: Qwen Coder (8080)
provider: ollama
model: qwen2.5-coder:32b-instruct-q4_K_M
apiBase: http://127.0.0.1:8080
- name: Autocomplete (8081)
provider: ollama
model: qwen2.5-coder:7b-base-q4_K_M
apiBase: http://127.0.0.1:8081
roles:
- autocomplete
Böylece Continue, sohbet/chat isteklerini 8080'deki modele, satır-içi otomatik tamamlama isteklerini 8081'deki (genelde daha küçük/hızlı) modele yönlendirebilir.
İki ayrı terminalde OLLAMA_HOST ile 8080 ve 8081'i başlat, ollama ps ile ikisinin de ayakta olduğunu doğrula.
apiBase değerlerinin doğru port'u gösterdiğinden emin ol; VS Code'da Continue panelini yeniden yükle (⟳).
Continue sohbet kutusuna basit bir soru yaz; cevap gelmiyorsa curl ile ilgili portu kontrol et, Windows Defender/güvenlik duvarının portu engellemediğinden emin ol.
İş bitince terminalleri kapatarak veya süreci sonlandırarak sunucuları durdur — açık bırakmak gereksiz RAM/VRAM tüketir.
Sohbet ve autocomplete için farklı boyutta model kullanmak (büyük model = kalite, küçük model = hız) mantıklıdır; ihtiyacın olmadığında sunucuları kapatıp kaynak boşaltmak.
Aynı portu iki farklı ollama serve sürecine vermeye çalışmak (adres çakışması hatası verir) veya sunucuyu sürekli açık unutup gereksiz VRAM/RAM tüketmek.
💬 Notlar & Sorular
ollama ps ile teyit ederek komutları uyarla.