İçeriğe atla
cd /languages
  • Varsayılan monorepo
  • Programlama
  • AST ve sembol desteği

Maguyva'da TypeScript Desteği: Monorepo'lar için Daha İyi Bağlam

Maguyva, AST ayrıştırma ve sembol çıkarımıyla TypeScript'i destekler; böylece yapay zeka ajanları monorepo'lar genelinde arayüzleri, uygulamaları, paylaşılan paketleri ve JSX ağırlıklı uygulama kodunu izleyebilir.

TypeScript sayfaları neden önemli

TypeScript, pek çok ekibin yapay zeka destekli yeniden yapılandırmanın nihayet güvenli hissettirmesini beklediği dildir. Tip sistemi yardımcı olur, ama gerçek sorunu ortadan kaldırmaz: paylaşılan paketler, DTO’lar, üretilmiş istemciler, React bileşenleri, testler ve uygulama kodu, büyük bir repo genelinde hepsi aynı adları çekiştirir.

TypeScript için standart, “sözdizimini anlıyor”dan daha yüksektir. Ajanın, paylaşılan bir türü, hook’u veya istemciyi düzenlemeden önce sözleşmeyi tanımdan uygulamaya, oradan etki yarıçapına kadar takip etmesi gerekir.

Maguyva TypeScript’te gerçekte neyi çıkarıyor

Maguyva, .ts, .mts, .cts ve testler ile story’ler etrafındaki yaygın TypeScript dosya varyantları genelinde sınıfları, metotları, arayüzleri ve tür takma adlarını çıkarır. Üye önekleri normalize edilir, ancak sınıf adıyla nitelenmiş tanımlayıcılar korunur; bu, bir repoda hem çıplak bir yardımcı adı hem de aynı son bölüme sahip sınıf kapsamlı bir metot olduğunda yardımcı olur.

JSX, başıboş biçimlendirme yerine gerçek bir yapısal sinyal olarak ele alınır. Dizinlenmiş TypeScript dosyalarında testler, story’ler ve yapılandırma, uygulama koduyla birlikte erişilebilir kalır; böylece ajan, paylaşılan bir bileşeni veya servisi değiştirmeden önce kullanım örneklerini ve ayarları inceleyebilir.

TypeScript repoları için yararlı MCP iş akışları

Üç başlangıç deseni genellikle yeterlidir:

  • Arayüz, tür takma adı, hook veya servis adını zaten bildiğinizde find_symbol’ü kullanın.
  • Paketler arasında yayılabilecek paylaşılan türleri veya istemcileri değiştirmeden önce dependency_search’ü kullanın.
  • Bir anahtar kelime eşleşmesi değil, bir kod biçimi gerektiğinde, örneğin tekrarlanan bileşen veya metot desenleri için structural_search’i kullanın.

“Ödeme gönderim yolunu izle” gibi kavramsal sorular için get_task_context, genellikle ham bir aramadan daha iyi bir ilk adımdır.

Bu sayfa nerede en ilgili

Bu sayfa, TypeScript’in birden fazla paket için koordinasyon katmanı olduğu web ve platform monorepo’ları için en güçlüdür. Reponuz hâlâ çok sayıda eski JS içeriyorsa, JavaScript kılavuzunu okuyun. Sorunuz gerçekten “ajan uygulama kodu ve altyapı bağlamını bir arada tutabilir mi?” ise, bunu Terraform ile eşleştirin.

En uygun kullanım

  • > Tek bir TypeScript reposu içinde Next.js, Node servisleri, paylaşılan paketler ve araçlar çalıştıran ürün ve platform ekipleri.
  • > Arayüzlerin, DTO'ların, şemaların ve React bileşenlerinin birlikte hareket ettiği ama farklı dizinlerde yaşadığı repolar.
  • > Paylaşılan türlere veya paket sınırlarına dokunmadan önce yapay zeka ajanlarına güvenli bağlam vermeye çalışan ekipler.

Ajan iş akışları

  • > Bir türü, arayüzü veya bileşeni tanımından onu gerçekten kullanan kod yollarına kadar takip edin.
  • > Paylaşılan bir yardımcıyı veya API sözleşmesini değiştirmeden önce paketler arasındaki uygulamaları karşılaştırın.
  • > Paylaşılan bir türü, yardımcı programı veya servis modülünü düzenlemenin olası etki yarıçapını haritalayın.

Motor ayrıntıları

  • > TypeScript, her şeyi genel sembollere düzleştirmek yerine sınıfları, metodları, arayüzleri ve type alias'larını çıkarır.
  • > Üye önekleri kaldırılır, ancak sınıf adıyla nitelenmiş tanımlayıcılar korunur; bu, `CheckoutService.create`'i çıplak bir `create`'ten ayırt etmeye yardımcı olur.
  • > JSX öğeleri örnek oluşturma olarak değerlendirilir. Dizinlenmiş TypeScript dosyalarında testler, story'ler ve yapılandırma, uygulama kodunun yanında bağlam olarak erişilebilir kalır.

Yararlı MCP giriş noktaları

  • find_symbol

    İncelemek istediğiniz paylaşılan arayüzü, type alias'ını, hook'u ya da servisi bildiğinizde buradan başlayın.

  • dependency_search

    Paylaşılan bir DTO ya da client'ı değiştirmeden önce, paketler genelinde gerçekçi bir etki yarıçapı elde etmek için kullanın.

  • structural_search

    Bir dize eşleşmesi değil bir kalıba ihtiyacınız olduğunda AST düzeyinde arama kullanın; örneğin tekrarlanan bileşen ya da metod şekilleri.