🌍 Türkçe | English | العربية | 日本語 | 中文 | Русский | Español
Claude Code ortamını yönetmek için geliştirilmiş yerel dağıtım, güvenlik denetimi ve hafıza motoru (claude-code-setup). Çalışma zamanı tek bir Rust ikili dosyasıdır; kullanmak için makinede Rust, Python veya Node kurulu olması gerekmez.
GitHub dil istatistiği ve ölçülen kod dağılımı (2026-09-02): 2891 satır Rust / 279 satır Rust dışı = %91,2 satır payı (GitHub Linguist: %90,5 Rust, %3,5 Shell, %3,2 Python, %2,8 PowerShell).
| Dil / Dosya | Satır | GitHub Payı | Ne zaman çalışır |
|---|---|---|---|
Rust (src/*.rs, 10 dosya) |
2891 | %90,5 | Çalışma zamanı (CLI + MCP sunucusu) |
install-macos.sh (Shell / Bash) |
121 | %3,5 | Linux/macOS kurulumunda |
package-extension.py (Python) |
87 | %3,2 | Yalnız sürüm çıkarma / .mcpb paketleme (CI) |
install-windows.ps1 (PowerShell) |
71 | %2,8 | Windows kurulumunda |
Ek bağımlılıklar:
src/security.rsiçindeki pre-commit kancası gömülü bir bash betiği olarak yazılır (#!/usr/bin/env bash) — kancanın çalışması için Git'in bash'i gerekir..github/workflows/release.ymlsürüm hattıactions/setup-pythonvenpx @anthropic-ai/mcpb validatekullanır → CI zinciri Python + Node'a bağlıdır.- Hafıza motorunun gömme katmanı
fastembedüzerinden ONNX Runtime'ın önceden derlenmiş C++ ikilisini indirir (ort-download-binaries).
Doğru özet: çalışma zamanı ikilisi saf Rust; kurulum, paketleme ve sürüm hattı Bash + PowerShell + Python + Node kullanır.
- Tek İkili Çalışma Zamanı: Miras Bash ve Python çalışma zamanı betikleri Rust'a taşındı. Kurulum ve paketleme betikleri (
install-*.{sh,ps1},package-extension.py) bilinçli olarak korundu; çünkü kurucunun kendisi ikili indirilmeden önce çalışmak zorundadır. - Dinamik Yol Normalizasyonu: Sabit yol tanımları (ör.
/home/jb_remus) hedef işletim sistemine ve yerel kullanıcı ev dizinine dinamik olarak uyarlanır. - Çoklu Hedef Destekli MCP Yönetimi (
--target):- Claude Code (
~/.claude.json), Proje (./.mcp.json) ve Claude Desktop (claude_desktop_config.json) yapılandırmalarını aynı CLI üzerinden yönetebilme. serde_json::Valueyapısı sayesinde tiplendirilmemiş JSON alanlarını koruyan atomik yazım motoru (.bakotomatik yedekli).
- Claude Code (
- MCP Sunucu Kipi (
--mcp-mode): Aynı ikili, stdin/stdout üzerinden JSON-RPC konuşan bir MCP sunucusuna dönüşür vemanifest.json'daki 8 aracı Claude Desktop'a sunar. - Hafıza Motoru (SQLite + Vektör + Graf):
- Hızlı Not Ekleme (
memory-note): Kebab-case dosya adlarıyla güvenli not oluşturma. - FTS5 Kelime Araması: SQLite kelime indeksleme ve tırnaklı kaçırma mekanizması.
- Yerel Gömme:
fastembed(Multilingual-E5-Small) ile kosinüs benzerliği. Model ilk kullanımda Hugging Face'ten indirilip$HOME/.claude/fastembed_cachealtına yazılır; bu ilk indirmeden sonra arama tamamen çevrimdışı çalışır. - Graf Kenarları ve Wikilink:
[[Not-Adı]]bağlantıları ve eşik üstü semantik bağlar üzerinden komşuluk araması (memory-related). - RRF Hibrit Sıralama: Reciprocal Rank Fusion (
k=60) ile FTS5 ve vektör aramalarının birleşimi.
- Hızlı Not Ekleme (
- Oto-Düzeltmeli Güvenlik Denetimi (
security-audit --fix):- Yapılandırmalarda açık metin gizli anahtar taraması (
ghp_,github_pat_,sk-,xox[baprs]-,AKIA). - Dosya izinlerinin 600'e çekilmesi — yalnız Unix'te; Windows'ta ACL tabanlı izinler için bilgi notu basılır, düzeltme yapılmaz.
- Git pre-commit dal koruma ve gizli anahtar tarama kancasının kurulumu.
- Yapılandırmalarda açık metin gizli anahtar taraması (
- Otonom Git İş Akışı (
agent-workflow):- Uzaktaki varsayılan daldan otomatik özellik dalı türetme.
- Korumalı ana dallara doğrudan push yapılmasını engelleme.
claude-code-setup-rustified/
├── Cargo.toml # Rust bağımlılıkları ve paket tanımları (v0.1.6)
├── manifest.json # Claude Desktop eklenti bildirimi (8 MCP aracı)
├── icon.png # Eklenti simgesi
├── .env.example # Örnek ortam değişkenleri
├── src/
│ ├── main.rs # CLI giriş noktası ve komut yönlendirici (123 satır)
│ ├── cli.rs # Clap tabanlı komut, hedef ve bayrak tanımları (222)
│ ├── mcp.rs # Çoklu hedef destekli JSON Value korumalı MCP yöneticisi (488)
│ ├── mcp_server.rs # MCP stdio JSON-RPC sunucusu; 8 aracı CLI'ye eşler (436)
│ ├── memory_engine.rs # FTS5 + Vektör + Graf + RRF + memory-note motoru (821)
│ ├── installer.rs # İskelet dizin, tohum README ve .env kurucusu (191)
│ ├── security.rs # Oto-düzeltmeli güvenlik denetçisi ve kanca yöneticisi (296)
│ ├── branch_manager.rs # Korumalı dal güvenceli otonom Git iş akışçısı (161)
│ ├── tester.rs # Sistem ve ortam tanı testi koşturucusu (123)
│ └── agent.rs # Ajan bütünleşme arayüzü (30)
├── install-windows.ps1 # PowerShell kurucu (Rust DEĞİL)
├── install-macos.sh # Bash kurucu (Rust DEĞİL)
├── package-extension.py # .mcpb paketleyici, CI'da çağrılır (Rust DEĞİL)
├── .github/workflows/
│ ├── rust.yml # fmt + clippy + test + build (ubuntu/windows/macos)
│ └── release.yml # 3 platform ikili + .mcpb sürüm hattı
└── docs/ # Kurulum ve sorun giderme kılavuzları
src/main.rs: Komut satırı argümanlarını ayrıştırır;--mcp-modeverildiyse denetimi MCP sunucusuna, verilmediyse ilgili modül işlevine aktarır.src/cli.rs: ClapParseryapısıyla 15 alt komutu, bayrakları (--target,--fix,--hooks,--mode,--min-score) ve genel--mcp-modebayrağını yönetir.src/mcp.rs: MCP ayarlarını--targetparametresine göre (claude-code,project,claude-desktop) okur ve günceller; bilinmeyen alanları silmeden atomik yazım sağlar.src/mcp_server.rs: stdin/stdout JSON-RPC döngüsünü kurar;manifest.json'daki 8 aracı (mcp_list,mcp_add,security_audit,memory_note,memory_index,memory_search,status,test) gerçek CLI komutlarına eşler. Bu eşlemeher_arac_gercek_bir_cli_komutuna_esleniyortestiyle kilitlidir.src/memory_engine.rs: Notları ~1500 karakterlik pencerelere bölerek gömer, ortalamasını alır (mean-pooling);knowledge_notesvenote_edgesSQLite tablolarını yönetir. Gömme önbelleği$HOME/.claude/fastembed_cache.src/installer.rs:$HOME/claude_global_memory/knowledgedizinini ve tohumREADME.mddosyasını asla ezmeden oluşturur;.envyoksa kopyalar.src/security.rs: Açık metin sırları tarar, izinleri kontrol eder,--fixile düzeltir ve Git kancasını kurar (kanca gömülü bir bash betiğidir).src/branch_manager.rs: Otonom dal oluşturma, korumalı dal engeli ve güvenli commit/push süreçlerini yönetir.src/tester.rs: Sistem tanılaması (status) ve test doğrulaması yapar.
İki ayrı kurulum var; hangisini istediğine karar ver.
Claude Desktop eklentisi (önerilen) — son sürümden işletim sistemine uyan paketi indir, Claude Desktop → Settings → Extensions ekranına sürükle:
| İşletim sistemi | Dosya | Yaklaşık boyut |
|---|---|---|
| Windows | claude-code-setup-windows.mcpb |
9 MB |
| macOS | claude-code-setup-macos.mcpb |
10 MB |
| Linux | claude-code-setup-linux.mcpb |
12 MB |
Komut satırı aracı — terminalden kullanmak istersen:
irm https://raw.githubusercontent.com/Ercaner1988/claude-code-setup-rustified/main/install-windows.ps1 | iexcurl -fsSL https://raw.githubusercontent.com/Ercaner1988/claude-code-setup-rustified/main/install-macos.sh | bashBu kurucular PowerShell ve Bash betikleridir (Rust değil); indirdikleri ikili dosyayı kullanıcı dizinine kurup PATH'e ekler (yönetici yetkisi gerekmez). Eklentiyi kaydetmez — eklenti için yukarıdaki .mcpb yolunu kullan. Doğrulama için yeni bir terminalde claude-code-setup status.
Detaylı kurulum için bkz. INSTALLATION.md
- Rust Toolchain:
rustcvecargo(1.80+) - İlk derlemede
fastembed, ONNX Runtime ikilisini indirir → ağ erişimi gerekir.
cargo build --release
# Oluşan ikili dosya:
# Windows: ./target/release/claude-code-setup.exe
# Linux/macOS: ./target/release/claude-code-setup# Ön koşulları kontrol eder, hafıza iskeletini kurar
./target/release/claude-code-setup install --hooks
# Sistem ve ortam tanı durumu
./target/release/claude-code-setup status| Komut | Açıklama |
|---|---|
--mcp-mode (genel bayrak) |
İkiliyi stdin/stdout JSON-RPC konuşan MCP sunucusu olarak çalıştırır |
install [--hooks] [--skip-prereqs] |
Ortam kurulumu, hafıza iskeleti ve .env kopyalama |
test / status |
Claude CLI, .claude.json, hafıza DB ve kanca tanılaması |
mcp-list [--target T] |
Yapılandırılmış MCP sunucularını hedefe göre listeler |
mcp-set <srv> [--command C] [--arg A]… [--env K=V]… [--target T] |
MCP sunucusu ekler veya günceller (--target: claude-code, project, claude-desktop) |
mcp-unset <srv> [--env K]… [--clear-args] [--remove] [--target T] |
Değişken siler veya sunucuyu tamamen kaldırır (--remove şarttır) |
mcp-enable <srv> / mcp-disable <srv> |
Yapılandırmayı bozmadan sunucuyu açar/kapatır |
memory-note <başlık> [--body ...] [--dir D] |
Bilgi tabanına yeni bir Markdown notu ekler |
memory-index [--source DIZIN]… [--edge-threshold 0.70] |
Notları SQLite + Vektör + Graf motoruna indeksler |
memory-search <sorgu> [--mode keyword|semantic|hybrid] [--limit 5] [--min-score 0.30] |
FTS5 kelime, vektör veya RRF hibrit modunda hafıza araması yapar |
memory-related <not.md> |
Graf kenarları ve wikilink bağlantıları üzerinden ilişkili notları listeler |
install-hooks [--repo-dir YOL] |
Repoya pre-commit güvenlik kancası kurar |
security-audit [--fix] |
Güvenlik denetimi yapar; --fix ile oto-düzeltme uygular |
agent-workflow [--branch-type TÜR] --description AÇIKLAMA [--files F]… |
Korumalı dal güvenceli otonom Git dal ve commit iş akışını çalıştırır |
Tüm komutlar test yalıtımı için --home-dir geçersiz kılmasını kabul eder (install-hooks ve agent-workflow hariç).
# Proje seviyesinde (.mcp.json) MCP sunucusu tanımla
./target/release/claude-code-setup mcp-set github \
--command "npx" --arg "-y" --arg "@modelcontextprotocol/server-github" \
--env "GITHUB_TOKEN=$GITHUB_TOKEN" --target project
# Claude Desktop yapılandırmasındaki sunucuyu devre dışı bırak
./target/release/claude-code-setup mcp-disable github --target claude-desktop
# Sunucuyu tamamen kaldır (--remove bayrağı zorunludur)
./target/release/claude-code-setup mcp-unset github --remove --target claude-code./target/release/claude-code-setup memory-note "Mimari Kararlar" --body "Rust yerel ikili dönüşümü tamamlandı."
./target/release/claude-code-setup memory-index --edge-threshold 0.70
./target/release/claude-code-setup memory-search "Rust mimari" --mode hybrid --limit 5 --min-score 0.30
./target/release/claude-code-setup memory-related mimari-kararlar.mdcargo test
# running 30 tests
# test result: ok. 30 passed; 0 failed; 0 ignoredKaynakta 31 test tanımlıdır; biri (test_enforce_file_permissions_fixes_mode) #[cfg(unix)] ile işaretli olduğu için Windows'ta derlenmez. Ölçüm: Windows'ta 30/30, Unix'te 31/31 yeşil (2026-09-02).
Dosya kırılımı: memory_engine.rs 14, mcp.rs 5, mcp_server.rs 5, security.rs 3, branch_manager.rs 2, installer.rs 2.
- Kapsam: MCP çoklu hedef yönetimi, JSON
Valuekorunumu, FTS5 karakter kaçırma, RRF hibrit sıralama, mean-pooling, wikilink ayrıştırma, gömme önbellek yolu regresyonu, gizli anahtar taraması, MCP araç–CLI eşlemesi ve korumalı dal engelleri. - Biçimlendirme:
cargo fmt --all -- --check→ temiz (2026-09-02). - Lint:
cargo clippy --all-targets -- -D warnings→ uyarı yok (2026-09-02). - Sürekli Bütünleşme:
.github/workflows/rust.ymlüç işletim sisteminde (ubuntu, windows, macos) fmt + clippy + test + release derlemesi koşturur..github/workflows/release.ymlüç platform ikilisini ve.mcpbpaketlerini üretir; bu hat Python ve Node kullanır.
Sayılar git shortlog -sne --all ve commit gövdesindeki Co-authored-by etiketlerinin sayımıyla ölçüldü (2026-09-02, toplam 45 commit).
| Katkıda Bulunan | Rol / Sorumluluk | Ölçülen katkı |
|---|---|---|
| Ercan ER | Proje mimarisi, Rust dönüşümü, ana geliştirici | 41 commit (yazar) |
| Claude Opus 5 | Otonom yapay zekâ ajanı, modül geliştirme | 14 commit (eş yazar) |
| Copilot App | Yapay zekâ kodlama yardımcısı | 11 commit (eş yazar) |
| Claude Opus 4.8 | Otonom yapay zekâ ajanı | 3 commit (eş yazar) |
| Claude (sürüm belirtilmemiş) | Otonom yapay zekâ ajanı | 2 commit (eş yazar) |
| jb_remus | Özgün üst soy (upstream) yazan | 2 commit (yazar) |
| Mihenk | Kod denetçisi ve kalite hakemi | 1 commit (yazar) |
| arturo-ebuck | Açık kaynak katkıcısı | 1 commit (yazar) |
Kassam, Cargo.toml authors alanında kayıtlı ajan kimliğidir; ayrı bir Git yazar kaydı yoktur.
Bu proje MIT Lisansı altında lisanslanmıştır (Telif hakkı © 2026 Ercan Er).