6 puan yazan denimcoder 2025-09-17 | 6 yorum | WhatsApp'ta paylaş

Merhaba.
Birçoğunuz LLM'leri kod incelemesinde kullanmayı denemiştir, ancak gerçek kullanımda bazı zahmetli noktalar olduğunu düşünüyordur.
Bunun nedeni, inceleme yapılacak kodu ve bağlamı aktarma, ayrıca istenen çıktı biçimini ayrıntılı şekilde belirleyip LLM'e iletme sürecinin gerekli olmasıdır.

selvage, bu hazırlık sürecini otomatikleştirerek kod incelemesinin verimliliğini artıran bir CLI aracıdır.

[Ana özellikler]

  • Bir CLI aracı olarak belirli bir IDE veya eklentiye bağlı olmadan kullanılabilir
  • Başlıca SOTA modellerini destekler (GPT-5, Claude-Sonnet-4, Gemini, Qwen3-code)
  • OpenRouter API Key ile abonelik olmadan, kullanım bazlı olarak kullanılabilir
  • Git iş akışıyla entegre olur
    • staged çalışma geçmişi, unstaged çalışma geçmişi ve belirli commit/dallar arasındaki değişikliklerin analizini destekler
  • AST (soyut sözdizimi ağacı) tabanlı Smart Context çıkarma özelliği
    • Değişiklikle ilgili yalnızca en gerekli kod bloklarını ve bağımlılıkları çıkarır
    • Sadece gerçekten gerekli bağlamı ileterek token kullanımını azaltır ve aynı anda inceleme kalitesini en üst düzeye çıkarır
  • Large Context Review özelliği
    • Modelin context limitini aşan büyük ölçekli değişiklikler de (çoğunlukla belirli bir feature'ı dağıtmak için hazırlanan PR'ler) kararlı şekilde incelenebilir

6 yorum

 
denimcoder 2025-09-29

Merhaba.
Bu kez önemli bir güncelleme yaptığımız için haberi paylaşmak istedim.
Yoğun ilginizi bekliyoruz!

GitHub bağlantısı: https://github.com/selvage-lab/selvage


🚀 Başlıca özellik güncellemeleri

🤖 MCP (Model Context Protocol) sunucu modu eklendiNEW

Cursor, Claude Code vb. araçlarda sohbet penceresinden kod incelemesi isteyin!

Artık Selvage'i Cursor, Claude Code vb. araçlara MCP olarak kaydedip doğal dille kod incelemesi isteyebilirsiniz.
İnceleme sonuçlarını yapay zeka asistanı doğrudan iletir; geri bildirimi gözden geçirdikten sonra kod iyileştirmesini de tek seferde isteyebilirsiniz.

Kurulum yöntemi:

# Claude Code entegrasyonu  
# Yöntem 1: Ortam değişkeni kullanımı (zaten ayarlıysa)  
claude mcp add selvage -- uvx selvage mcp  
  
# Yöntem 2: Doğrudan belirtme  
claude mcp add selvage -e OPENROUTER_API_KEY=your_openrouter_api_key_here -- uvx selvage mcp  
# Cursor entegrasyonu (~/.cursor/mcp.json)  
{  
  "mcpServers": {  
    "selvage": {  
      "command": "uvx",  
      "args": ["selvage", "mcp"],  
      "env": {"OPENROUTER_API_KEY": "your_key"} // Optional : Sistem ortam değişkenine eklendiyse gereksiz  
    }  
  }  
}  

💡 Kullanım senaryoları

Basit kullanım örnekleri

"selvage mcp ile mevcut değişiklikleri incele"  
"selvage mcp ile ana branch ve mevcut branch'i claude-sonnet-4-thinking kullanarak karşılaştırmalı incele"  
"selvage mcp ile staged çalışmayı gpt-5-high ile incele ve öncelik sırasına göre düzenle"  
"selvage mcp ile staged çalışma içeriğini gpt-5-high ve claude-sonnet-4-thinking ile ayrı ayrı incele, sonra sonuçları karşılaştır"  

Adım adım kod iyileştirme iş akışı

1. selvage mcp ile mevcut değişiklikleri claude-sonnet-4-thinking kullanarak incele  
2. İnceleme geri bildirimlerinin mevcut kod tabanı açısından geçerli olup olmadığını eleştirel biçimde değerlendir ve öncelikleri belirt  
3. Değerlendirilen maddeleri öncelik sırasına göre tek tek uygula  
 
jkapa0417 2025-09-22

Merhaba, denemek istiyorum; acaba mutlaka Openrounter kullanmak zorunda mıyım? Hâlihazırda kullandığım bir API anahtarım var, onu kullanarak yararlanıp yararlanamayacağımı merak ediyorum.

 
denimcoder 2025-09-22

Merhaba.
Acaba hangi API anahtarını kullanıyorsunuz?
OpenRouter KEY yerine her modelin Provider API Key'ini ortam değişkeni olarak ayarlayıp kullanabilirsiniz.

export OPENAI_API_KEY="your_openai_api_key_here"  
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"  
export GEMINI_API_KEY="your_gemini_api_key_here"  

OPENAI_API_KEY, GPT ailesi modelleri için
ANTHROPIC_API_KEY, Claude ailesi modelleri için
GEMINI_API_KEY, Gemini ailesi modelleri için
desteklenmektedir!

 
kjows5 2025-09-18

LLM girdisine girmeden önce, kaynak kod düzeyinde hassas bilgileri maskelemek de mümkün mü?

 
denimcoder 2025-09-19

Merhaba. Yanıtlayayım.

  1. Şu anda kod inceleme isteği sırasında .env türü dosyalar tamamen hariç tutulur, ancak kaynak kodun içinde bulunan API anahtarı/token/parola gibi “değerleri” değiştiren veya maskeleyen bir adım yoktur.

  2. İnceleme sırasında hassas bilgileri hariç tutmak isterseniz
    inceletmek istediğiniz kodu git staged durumuna getirdikten sonra
    selvage review --staged komutuyla inceleme yaparsanız hassas bilgileri LLM girdisinden hariç tutabilirsiniz.

  3. Sorduğunuz şeye benzer bir özelliği güncelleme olarak eklemeyi planlıyoruz. Kullanıcının doğrudan bir yml dosyasıyla inceleme sırasında hariç tutulacak dosya uzantılarını ve kod içindeki belirli desenleri (regular expression) tanımlayabilmesini, böylece her projede hassas bilgilerin uygun şekilde filtrelenmesini hedefliyoruz.

 
namongk 2025-09-18

Vay be...