Lompat ke konten
cd /languages
  • Default monorepo
  • Pemrograman
  • Dukungan AST dan simbol

Dukungan TypeScript di Maguyva: Konteks yang Lebih Baik untuk Monorepo

Maguyva mendukung TypeScript dengan parsing AST dan ekstraksi simbol sehingga agen AI dapat menelusuri interface, implementasi, package bersama, dan kode aplikasi yang sarat JSX di seluruh monorepo.

Mengapa halaman TypeScript itu penting

TypeScript adalah bahasa tempat banyak tim berharap refactoring berbantuan AI akhirnya terasa aman. Sistem type-nya membantu, tetapi tidak menghilangkan masalah sesungguhnya: package bersama, DTO, client hasil generate, komponen React, test, dan kode aplikasi semuanya merujuk pada nama yang sama di seluruh repo besar.

Untuk TypeScript, standarnya lebih tinggi daripada sekadar “memahami sintaks.” Agen perlu mengikuti kontrak dari definisi ke implementasi hingga cakupan dampak sebelum mengedit type, hook, atau client bersama.

Apa yang sebenarnya diekstraksi Maguyva dari TypeScript

Maguyva mengekstraksi class, method, interface, dan type alias di seluruh .ts, .mts, .cts, dan varian file TypeScript umum di seputar test dan story. Awalan member dinormalkan, tetapi identifier yang dikualifikasi class tetap dipertahankan, yang membantu saat sebuah repo memiliki nama helper tanpa kualifikasi sekaligus method yang terlingkup class dengan segmen akhir yang sama.

JSX diperlakukan sebagai sinyal struktural sungguhan, bukan markup yang tercecer. Dalam file TypeScript yang telah diindeks, test, story, dan konfigurasi tetap tersedia bersama kode aplikasi, sehingga agen dapat memeriksa contoh penggunaan dan pengaturan sebelum mengubah komponen atau layanan bersama.

Alur kerja MCP yang berguna untuk repo TypeScript

Tiga pola awal biasanya sudah cukup:

  • Gunakan find_symbol saat Anda sudah tahu nama interface, type alias, hook, atau service.
  • Gunakan dependency_search sebelum mengubah type atau client bersama yang mungkin merambat ke banyak package.
  • Gunakan structural_search saat Anda butuh bentuk kode, bukan kecocokan kata kunci, misalnya pola komponen atau method yang berulang.

Untuk pertanyaan konseptual seperti “telusuri jalur pengiriman checkout,” get_task_context sering menjadi lompatan awal yang lebih baik daripada pencarian mentah.

Di mana halaman ini paling relevan

Halaman ini paling kuat untuk monorepo web dan platform tempat TypeScript menjadi lapisan koordinasi untuk banyak package. Jika repo Anda masih mencakup banyak JS lama, baca panduan JavaScript. Jika pertanyaan Anda sebenarnya “bisakah agen memegang konteks kode aplikasi dan infra secara bersamaan?” padukan ini dengan Terraform.

Paling cocok untuk

  • > Tim produk dan platform yang menjalankan Next.js, service Node, package bersama, dan tooling di dalam satu repo TypeScript.
  • > Repo tempat interface, DTO, schema, dan komponen React bergerak bersamaan tetapi berada di direktori yang berbeda.
  • > Tim yang berusaha memberi agen AI konteks yang aman sebelum menyentuh type bersama atau batas package.

Workflow agen

  • > Mengikuti sebuah type, interface, atau komponen dari definisinya hingga ke jalur kode yang benar-benar menggunakannya.
  • > Membandingkan implementasi lintas package sebelum mengubah helper bersama atau kontrak API.
  • > Memetakan cakupan dampak yang mungkin timbul dari mengedit type, utilitas, atau service module bersama.

Detail engine

  • > Untuk TypeScript, Maguyva mengekstrak class, method, interface, dan type alias alih-alih meratakan semuanya jadi simbol generik.
  • > Prefix member dihilangkan, tapi identifier yang dikualifikasi class tetap dipertahankan, yang membantu membedakan `CheckoutService.create` dari `create` yang berdiri sendiri.
  • > Elemen JSX dihitung sebagai instansiasi. Dalam file TypeScript yang telah diindeks, test, story, dan konfigurasi tetap tersedia sebagai konteks bersama kode aplikasi.

Titik masuk MCP yang berguna

  • find_symbol

    Mulai dari sini kalau Anda sudah tahu interface bersama, type alias, hook, atau service yang ingin Anda periksa.

  • dependency_search

    Gunakan sebelum mengubah DTO atau client bersama untuk mendapat cakupan dampak yang realistis lintas package.

  • structural_search

    Gunakan pencarian tingkat AST kalau Anda butuh sebuah pola, bukan kecocokan string, misalnya bentuk component atau method yang berulang.