8 puan yazan 3ae3ae 2025-12-11 | 7 yorum | WhatsApp'ta paylaş

Merhaba! Biz, sym-cli’yi geliştiren üniversiteli ekip SymPhony’yiz.

Bu aralar Cursor ya da Claude Code gibi araçları kullanarak sık sık vibe coding yapıyor musunuz? Bizim ekip de geliştirme sürecinde LLM’leri aktif olarak kullanıyor. Ancak kullanırken bizi rahatsız eden bir nokta oldu.

Yapay zekanın yazdığı kod işlevsel olarak gayet iyi çalışıyor, ancak ekibimize özgü konvansiyonları (değişken adlandırma kuralları, yorum stili, belirli kütüphaneleri kullanma kuralları vb.) sürekli göz ardı ediyordu. Her seferinde prompt’a kuralları yazmak zahmetliydi; ayrıca bunu sürekli yapınca zamanla konvansiyonları unutma sorunu da ortaya çıkıyordu.

Bu yüzden, "LLM kodu yazmadan önce ya da yazarken kendi kendine konvansiyonları kontrol edemez mi?" sorusundan yola çıkarak sym-cli’yi geliştirmeye başladık.

[sym-cli nedir?]

sym-cli, AI kodlama araçları için politika tabanlı bir kod konvansiyonu linter’ıdır. Temel farkı, MCP’yi kullanarak LLM ile doğrudan iletişim kurmasıdır.

Mevcut linter’lardan farklı yönleri şunlardır.

  1. (Doğal dil tabanlı yapılandırma) Karmaşık yapılandırma dosyaları yerine, "asla logu print ile yazma" gibi kuralları doğal dille tanımlarsanız LLM bunu anlayıp uygular.
  2. (Bağlam optimizasyonu) LLM projedeki tüm kuralları okumak yerine, MCP aracı üzerinden yalnızca o anki işe gereken kuralları akıllıca getirir.
  3. (Etkin denetim) validate_code aracı sayesinde LLM, kodu ürettikten hemen sonra kurallara uyup uymadığını kendi kendine denetleyebilir.

[Nasıl çalışıyor?]

sym komutunu indirip sym init komutunu çalıştırdığınızda MCP sunucusu ayarları otomatik olarak yapılandırılır; böylece MCP destekleyen IDE’lerde (Cursor vb.) veya LLM araçlarında bu kurallara hemen başvurulmaya başlanır.

[Geri bildiriminizi rica ediyoruz!]

Biz hâlâ üniversiteli bir ekibiz ve proje de henüz iskeleti yeni oluşmuş erken bir aşamada. Eksiklerimiz çok olabilir, hatalar da bulunabilir. Ancak sahada çalışan geliştiricilerin ve LLM araçlarına ilgi duyanların desteğine ve geri bildirimine gerçekten ihtiyacımız var.

"Böyle bir özellik olsa iyi olur", "Bu kısım yapısal olarak sorunlu görünüyor", "Gerçek iş hayatında bunu şöyle kullanıyoruz" gibi her türlü görüşü minnetle dinleriz. Proje açık kaynak olduğu için katkılarınız ya da GitHub Star vermeniz ekibimiz için gerçekten büyük bir destek olur!

GitHub Repository: https://github.com/DevSymphony/sym-cli
npm: npm install -g @dev-symphony/sym

Okuduğunuz için teşekkürler.

7 yorum

 
click 2025-12-15

opencode kullanırsanız lint işlevini iş akışına da dahil edebilirsiniz
https://tr.news.hada.io/topic?id=21883
https://opencode.ai/docs/formatters/

 
3ae3ae 2025-12-16

Katılıyorum. Sözdizimi ve tip hataları gibi anında yakalanabilen şeyler için en verimli aşama LSP ya da derleme süreci; token kullanımı açısından da bunun doğru yaklaşım olduğunu düşünüyorum. Biz de LLM’nin bunun yerini almasındansa, doğal dille yazılmış kuralları mevcut lint/test iş akışına otomatik olarak bağlayan bir rol üstlendiğini düşünüyoruz.

 
click 2025-12-15

Ben de t7vonn gibi, konvansiyonların otomasyon araçlarıyla standardize edilmesi gerektiğini düşünüyorum.
LSP tarafında ise fark oldukça hissediliyor; test ya da derleme çalıştırmadan ancak yakalanabilen sözdizimi hatalarını anında tespit edebildiği için token kullanımı azalıyor.

 
t7vonn 2025-12-13

PR review agent’e konvansiyon dokümanını ve diff’i verip eksik kalan kısımları buldurma seviyesinde şeyler zaten şu anda da yapılıyor.. onun ötesini kullanacağımı sanmıyorum

Benimkine benzer görüşe sahip birinin yazısını ekliyorum

Claude bir linter değil

  • Kod stil kılavuzlarını CLAUDE.md’ye koymak verimsizdir
    • LLM’ler maliyetlidir, yavaştır ve linter’lara göre daha az deterministiktir
  • Stil kuralları mevcut kod kalıpları üzerinden doğal olarak öğrenildiği için ayrıca talimat vermek gerekmez
  • Formatlama için otomatik düzeltme yapabilen linter’lar (Biome vb.) kullanılmalı, Claude’a ise sadece düzeltme sonuçları iletilmelidir
  • Gerekirse Stop Hook veya Slash Command kullanılarak formatlama ve doğrulama otomatikleştirilebilir
 
3ae3ae 2025-12-16

Belirttiğiniz kullanım şeklinin şu an için en gerçekçi yaklaşım olduğunu düşünüyorum. Bizim çözmek istediğimiz sorun, convention belgesini her PR’da tek tek sunma sürecini azaltmak ve doğal dille tanımlanmış kuralları önceden linter/doğrulama kurallarına dönüştürerek PR/CI aşamasında otomatik çalıştırılmasını sağlamak.

 
m00nlygreat 2025-12-12

Hmm.. sanki claude hooks/subagents/skill gibi bir özellikle de yapılabilirmiş gibi görünüyor ..

 
3ae3ae 2025-12-16

Teknik olarak hooks ya da subagent ile de mümkün görünüyor, ancak biz belirli bir LLM'ye bağımlı kalmamak için MCP ve mevcut linter iş akışının üzerine ince bir katman koymayı seçtik. Bu yüzden ajan özelliklerinden ziyade, konvansiyonları yeniden kullanılabilir bir altyapıya dönüştürmeye odaklanıyoruz.