File Systems Python ★ 302

cyberchitta/llm-context.py

LLM'lerle kod bağlamını MCP veya pano aracılığıyla paylaş

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "cyberchitta-llm-context-py": {
      "command": "python",
      "args": [
        "-m",
        "llm_context.py"
      ]
    }
  }
}

LLM Context

License PyPI version Downloads

LLM geliştirme iş akışları için akıllı bağlam yönetimi. İlgili proje dosyalarını akıllı seçim ve kurallı filtreleme aracılığıyla anında paylaşın.

Sorun

LLM sohbetlerine doğru bağlamı aktarmak sürtünmeye neden olur:

  • İlgili dosyaları el ile bulmak ve kopyalamak zaman kaybettiriyor
  • Çok fazla bağlam token limitine çarparken, çok az bağlam önemli detayları kaçırıyor
  • AI'nin ek dosya talepleri el ile alınmasını gerektiriyor
  • Geliştirme seansları sırasında nelerin değiştiğini takip etmek zor

Çözüm

llm-context, birleştirilebilir kurallar aracılığıyla odaklanmış, göreve özel proje bağlamı sağlar.

Chat arayüzleri kullanan insanlar için:

lc-select   # Akıllı dosya seçimi
lc-context  # Biçimlendirilmiş bağlamı panoya kopyala
# Yapıştır ve çalış - AI, MCP aracılığıyla ek dosyalara erişebilir

CLI erişimine sahip AI ajanları için:

lc-preview tmp-prm-auth    # Kuralın doğru dosyaları seçtiğini doğrula
lc-context tmp-prm-auth    # Alt ajan için odaklanmış bağlam al

Sohbetteki AI ajanları için (MCP araçları):

  • lc_outlines - Geçerli kuraldan özet bağlam oluştur
  • lc_preview - Kuralı kullanmadan önce etkinliğini doğrula
  • lc_missing - İstek üzerine belirli dosyaları/uygulamaları getir

Not: Bu proje, birkaç Claude Sonnet (3.5, 3.6, 3.7, 4.0) ve Grok (3, 4) ile işbirliğinde geliştirilmiştir ve geliştirme sırasında kod paylaşmak için LLM Context'in kendisi kullanılmıştır. Tüm kod @restlessronin tarafından yoğun şekilde elle düzenlenmiştir.

Kurulum

uv tool install "llm-context>=0.6.0"

Ajanlar İçin (Claude Code becerisi)

Bir ajan olarak llm-context'i görev bağlamlarını düzenlemede yardımcı olması için ayarlıyorsanız, bunu proje başına bir kez çalıştırın:

uv tool install "llm-context>=0.6.0"   # lc-* komutlarını global olarak kurar
cd <project-root>
lc-init                                # .llm-context/ oluşturur, lc-curate-context becerisini .claude/skills/ dosyasına kopyalar

lc-init sonrasında, lc-curate-context becerisi bu projenin Claude Code seansında yüklenir. Minimal bir görev kuralı oluşturmayı ve bağlam oluşturmadan önce lc-preview ile doğrulamayı öğretir.

Daha yeni bir beceri sürümü almak için uv tool upgrade llm-context komutunu çalıştırın ve lc-init komutunu yeniden çalıştırın — beceri dosyalarını yerinde günceller.

Hızlı Başlangıç

İnsan İş Akışı (Pano)

# Tek seferlik kurulum
cd your-project
lc-init

# Günlük kullanım
lc-select
lc-context
# LLM sohbetinize yapıştırın

MCP Entegrasyonu (Önerilen)

Claude Desktop config dosyasına ekleyin (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "llm-context": {
      "command": "uvx",
      "args": ["--from", "llm-context", "lc-mcp"]
    }
  }
}

Claude Desktop'ı yeniden başlatın. Artık AI, manuel kopyalama olmadan sohbetler sırasında ek dosyalara erişebilir.

Ajan İş Akışı (CLI)

Shell erişimine sahip AI ajanları, odaklanmış bağlamlar oluşturmak için llm-context kullanırlar:

# Ajan kod tabanını araştırır
lc-outlines

# Ajan belirli görev için odaklanmış kural oluşturur
# (Beceri veya lc-rule-instructions aracılığıyla)

# Ajan kuralı doğrular
lc-preview tmp-prm-oauth-task

# Ajan alt görev için bağlamı kullanır
lc-context tmp-prm-oauth-task

Ajan İş Akışı (MCP)

Sohbet ortamlarındaki AI ajanları MCP araçlarını kullanırlar:

# Kod tabanı yapısını keşfet
lc_outlines(root_path, rule_name)

# Kural etkinliğini doğrula  
lc_preview(root_path, rule_name)

# Belirli dosyaları/uygulamaları getir
lc_missing(root_path, param_type, data, timestamp)

Temel Kavramlar

Kurallar: Görev Özgü Bağlam Tanımlayıcıları

Kurallar, bir görev için hangi bağlamın sağlanacağını açıklayan YAML+Markdown dosyalarıdır:

---
description: "API kimlik doğrulamasında hata ayıkla"
compose:
  filters: [lc/flt-no-files]
  excerpters: [lc/exc-base]
also-include:
  full-files: ["/src/auth/**", "/tests/auth/**"]
---
Kimlik doğrulama sistemi ve ilgili testlere odaklanın.

Beş Kural Kategorisi

  • Prompt Kuralları (prm-): Proje bağlamları oluştur (örn. lc/prm-developer)
  • Filter Kuralları (flt-): Dosya içermesini kontrol et (örn. lc/flt-base, lc/flt-no-files)
  • Talimat Kuralları (ins-): Yönergeler sağla (örn. lc/ins-developer)
  • Stil Kuralları (sty-): Kodlama standartlarını uygula (örn. lc/sty-python)
  • Özet Kuralları (exc-): İçerik çıkarmayı yapılandır (örn. lc/exc-base)

Kural Oluşturma

Daha basit kurallardan karmaşık kurallar oluşturun:

---
instructions: [lc/ins-developer, lc/sty-python]
compose:
  filters: [lc/flt-base, project-filters]
  excerpters: [lc/exc-base]
---

Temel Komutlar

Komut Amaç
lc-init Proje yapılandırmasını başlat
lc-select Geçerli kurala göre dosyaları seç
lc-context Bağlam oluştur ve kopyala
lc-context -p Prompt talimatlarını dahil et
lc-context -m Ayrı ileti olarak biçimlendir
lc-context -nt Araçsız (manuel iş akışı)
lc-set-rule <name> Aktif kuralı değiştir
lc-preview <rule> Kural seçimini ve boyutunu doğrula
lc-outlines Kod yapısı özetlerini al
lc-missing Dosyaları/uygulamaları getir (manuel MCP)

AI Destekli Kural Oluşturma

AI'nin odaklanmış, göreve özel kurallar oluşturmasına yardımcı olun. Ortamınıza bağlı olarak iki yaklaşım:

Claude Becerisi (İnteraktif, Claude Desktop/Code)

Nasıl çalışır: Global beceri sizi etkileşimli olarak kurallar oluşturmada rehberlik eder. Gerektiğinde MCP araçlarını kullanarak kod tabanınızı inceler.

Kurulum:

lc-init  # Beceriyi ~/.claude/skills/ dosyasına kurar
# Claude Desktop veya Claude Code'u yeniden başlat

Kullanım:

# 1. Proje bağlamını paylaş
lc-context  # Herhangi bir kural - genel bakış dahil

# 2. Claude'a yapıştır, sonra sor:
# "Kimlik doğrulamayı JWT'ye yeniden yapılandırmak için bir kural oluştur"
# "Ödeme işleminde hata ayıklamak için bir kurala ihtiyacım var"

Claude şunları yapacak:

  1. Zaten bağlamda bulunan proje genel görünümünü kullan
  2. Gerektiğinde lc-missing aracılığıyla belirli dosyaları incele
  3. Kapsam hakkında açıklayıcı sorular sor
  4. Optimize edilmiş kural oluştur (tmp-prm-<task>.md)
  5. Doğrulama talimatlarını sağla

Beceri belgelendirmesi (kademeli olarak açıklanır):

  • Skill.md - Hızlı iş akışı, karar desenleri
  • PATTERNS.md - Yaygın kural desenleri
  • SYNTAX.md - Ayrıntılı referans
  • EXAMPLES.md - Tam açıklamalar
  • TROUBLESHOOTING.md - Sorun çözme

Talimat Kuralları (Her Yerde Çalışır)

Nasıl çalışır: Kapsamlı kural oluşturma belgelendirmesini bağlama yükle, herhangi bir LLM ile çalış.

Kullanım:

# 1. Framework'ü yükle
lc-set-rule lc/prm-rule-create
lc-select
lc-context -nt

# 2. Herhangi bir LLM'ye yapıştır
# "OAuth entegrasyonu eklemek için bir kurala ihtiyacım var"

# 3. LLM framework kullanarak odaklanmış kural oluşturur

# 4. Yeni kuralı kullan
lc-set-rule tmp-prm-oauth
lc-select
lc-context

Dahil edilen belgelendirme:

  • lc/ins-rule-intro - Giriş ve genel bakış
  • lc/ins-rule-framework - Tam karar framework'ü

Karşılaştırma

Yön Beceri Talimat Kuralları
Kurulum lc-init ile otomatik Zaten mevcut
Etkileşim İnteraktif, lc-missing kullanır Statik belgelendirme
Dosya incelemesi MCP aracılığıyla otomatik Manuel veya AI aracılığıyla
En uygun Claude Desktop/Code Herhangi bir LLM, herhangi bir ortam
Güncellemeler Sürüm yükseltmeleriyle otomatik Kurallara yerleştirilmiş

Her ikisi de ilk olarak proje bağlamını paylaşmayı gerektirir. Her ikisi de eşdeğer sonuçlar üretir.

Proje Özelleştirmesi

Temel Filterler Oluştur

cat > .llm-context/rules/flt-repo-base.md << 'EOF'
---
description: "Depoya özgü hariç tutmalar"
compose:
  filters: [lc/flt-base]
gitignores:
  full-files: ["*.md", "/tests", "/node_modules"]
  excerpted-files: ["*.md", "/tests"]
---
EOF

Geliştirme Kuralı Oluştur

cat > .llm-context/rules/prm-code.md << 'EOF'
---
description: "Ana geliştirme kuralı"
instructions: [lc/ins-developer, lc/sty-python]
compose:
  filters: [flt-repo-base]
  excerpters: [lc/exc-base]
---
Ek projeye özel yönergeler ve bağlam.
EOF

lc-set-rule prm-code

Dağıtım Desenleri

Biçimi LLM ortamınıza göre seçin:

Desen Komut Kullanım Durumu
Sistem İletisi lc-context -p AI Studio, vb.
Tek Kullanıcı İletisi lc-context -p -m Grok, vb.
Ayrı İletiler lc-prompt + lc-context -m Esnek yerleştirme
Proje Dosyaları (dahil) lc-context Claude Projects, vb.
Proje Dosyaları (aranabilir) lc-context -m Bağlama zorla

Ayrıntılar için Dağıtım Desenleri bölümüne bakın.

Temel Özellikler

  • Akıllı Seçim: Kurallar otomatik olarak uygun dosyaları içerir/hariç tutar
  • Bağlam Doğrulaması: Oluşturmadan önce boyutu ve seçimi önizle
  • Kod Özetleme: Token'ları azaltırken yapı çıkart (15+ dil)
  • MCP Entegrasyonu: AI manuel müdahale olmadan ek dosyalara erişir
  • Birleştirilebilir Kurallar: Yeniden kullanılabilir desenlerdeki karmaşık bağlamlar oluştur
  • AI Destekli Oluşturma: İnteraktif beceri veya belgelendirme tabanlı yaklaşımlar
  • Ajan Dostu: Otonom çalışma için CLI ve MCP arayüzleri

Yaygın İş Akışları

Günlük Geliştirme (İnsan)

lc-set-rule prm-code
lc-select
lc-context
# Sohbete yapıştır - AI gerekirse MCP aracılığıyla daha fazla dosyaya erişir

Odaklanmış Görev (İnsan veya Ajan)

# İlk olarak proje bağlamını paylaş
lc-context

# Sonra odaklanmış kural oluştur:
# Beceri aracılığıyla: "Şu için bir kural oluştur: [görev]"
# Talimatlar aracılığıyla: lc-set-rule lc/prm-rule-create && lc-context -nt

# Doğrula ve kullan
lc-preview tmp-prm-task
lc-context tmp-prm-task

Ajan Bağlam Sağlaması (CLI)

# Ajan kural etkinliğini doğrular
lc-preview tmp-prm-refactor-auth

# Ajan alt ajan için bağlam oluşturur
lc-context tmp-prm-refactor-auth > /tmp/context.md
# Alt ajan bağlamı okur ve görevi yürütür

Ajan Bağlam Sağlaması (MCP)

# Ajan kuralı doğrular
preview = lc_preview(root_path="/path/to/project", rule_name="tmp-prm-task")

# Ajan bağlam oluşturur
context = lc_outlines(root_path="/path/to/project")

# Ajan gerektiğinde ek dosyaları getirir
files = lc_missing(root_path, "f", "['/proj/src/auth.py']", timestamp)

Yol Biçimi

Tüm yollar proje adı ön eki ile proje göreceli biçimini kullanır:

/{project-name}/src/module/file.py
/{project-name}/tests/test_module.py

Bu, yol çakışmaları olmadan çok projeli bağlam oluşturmayı sağlar.

Kurallarda, desenleri ön ek olmadan proje göreceli dosyalardır:

also-include:
  full-files:
    - "/src/auth/**"      # ✓ Doğru
    - "/myproject/src/**" # ✗ Yanlış - proje adını ekleme

Daha Fazla Bilgi

Lisans

Apache Lisansı, Sürüm 2.0. Ayrıntılar için LICENSE dosyasına bakın.

Benzer MCP sunucuları

Daha fazla: File Systems →