İçeriğe atla
cd /languages
Varsayılan monorepoProgramlamaTam grafik 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 depo 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ıfa nitelikli tanımlayıcılar korunur; bu, bir depoda 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 ve sembol beklentileri açıkça çok sayıda test, story ve yapılandırma yolunu atlar. Bu, monorepo’larda önemlidir çünkü aksi takdirde ajan gerçek uygulama yüzeyi yerine iskeleti yeniden keşfetmekle çok fazla zaman harcar.

TypeScript depoları 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. Deponuz 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 deposu 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ığı depolar.
  • >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ıfa nitelendirilmiş tanımlayıcılar korunur; bu, `CheckoutService.create`'i çıplak bir `create`'ten ayırt etmeye yardımcı olur.
  • >JSX öğeleri instantiation olarak sayılır ve gürültüyü azaltmak için test/story/config yolları sembol beklentilerinde açıkça atlanı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 alanı 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.