Langkau ke kandungan
cd /languages
  • Lalai Monorepo
  • Pengaturcaraan
  • Sokongan AST dan simbol

Sokongan TypeScript dalam Maguyva: Konteks Lebih Baik untuk Monorepo

Maguyva menyokong TypeScript dengan penghuraian AST dan pengekstrakan simbol supaya ejen AI dapat menjejaki interface, pelaksanaan, package kongsi, dan kod aplikasi yang sarat JSX merentasi monorepo.

Mengapa halaman TypeScript penting

TypeScript adalah bahasa di mana banyak pasukan menjangkakan refaktor berbantukan AI akhirnya terasa selamat. Sistem jenis membantu, tetapi ia tidak menghapuskan masalah sebenar: package kongsi, DTO, client yang dijana, komponen React, ujian, dan kod aplikasi semuanya bergantung pada nama yang sama merentasi repositori yang besar.

Untuk TypeScript, piawaiannya lebih tinggi daripada sekadar “ia memahami sintaks.” Ejen perlu mengikuti kontrak daripada takrifan ke pelaksanaan ke lingkungan impak sebelum ia menyunting jenis, hook, atau client kongsi.

Apa yang Maguyva sebenarnya ekstrak dalam TypeScript

Maguyva mengekstrak class, method, interface, dan type alias merentasi .ts, .mts, .cts, dan varian fail TypeScript lazim di sekeliling ujian dan story. Awalan member dinormalkan, tetapi pengecam yang disertai nama class dikekalkan, yang membantu apabila repositori mempunyai kedua-dua nama helper tanpa awalan class dan method berskop class dengan segmen akhir yang sama.

JSX dianggap sebagai isyarat struktural sebenar dan bukan markup rambang. Dalam fail TypeScript yang diindeks, ujian, stories dan konfigurasi kekal tersedia bersama kod aplikasi, membantu ejen menyemak contoh penggunaan dan persediaan sebelum mengubah komponen atau perkhidmatan yang dikongsi.

Aliran kerja MCP yang berguna untuk repositori TypeScript

Tiga corak permulaan biasanya sudah memadai:

  • Gunakan find_symbol apabila anda sudah tahu nama interface, type alias, hook, atau service.
  • Gunakan dependency_search sebelum menukar jenis atau client kongsi yang mungkin digunakan merentasi banyak package.
  • Gunakan structural_search apabila anda memerlukan bentuk kod, bukan padanan kata kunci, contohnya corak komponen atau method yang berulang.

Untuk soalan konseptual seperti “jejaki laluan penyerahan checkout,” get_task_context selalunya lompatan pertama yang lebih baik berbanding carian mentah.

Di mana halaman ini paling relevan

Halaman ini paling kukuh untuk monorepo web dan platform di mana TypeScript adalah lapisan penyelarasan bagi pelbagai package. Jika repositori anda masih merangkumi banyak JS lama, baca panduan JavaScript. Jika persoalan anda sebenarnya “bolehkah ejen memegang kod aplikasi dan konteks infra bersama-sama?” gandingkan ini dengan Terraform.

Paling sesuai

  • > Pasukan produk dan platform yang menjalankan Next.js, service Node, package kongsi, dan alatan di dalam satu repositori TypeScript.
  • > Repositori di mana interface, DTO, skema, dan komponen React berubah bersama tetapi berada dalam direktori yang berbeza.
  • > Pasukan yang cuba memberikan ejen AI konteks yang selamat sebelum ia menyentuh jenis kongsi atau sempadan package.

Aliran kerja ejen

  • > Mengikuti jenis, interface, atau komponen daripada takrifannya ke laluan kod yang benar-benar menggunakannya.
  • > Membandingkan pelaksanaan merentasi package sebelum menukar helper kongsi atau kontrak API.
  • > Memetakan lingkungan impak yang berkemungkinan daripada menyunting jenis, utiliti, atau modul service kongsi.

Butiran enjin

  • > TypeScript mengekstrak class, kaedah, interface, dan type alias dan bukannya meratakan semuanya menjadi simbol generik.
  • > Awalan member dibuang, tapi pengecam berkelayakan class dikekalkan, yang membantu bezakan `CheckoutService.create` daripada `create` yang berdiri sendiri.
  • > Elemen JSX dikira sebagai penginstansan. Dalam fail TypeScript yang diindeks, ujian, stories dan konfigurasi kekal tersedia sebagai konteks bersama kod aplikasi.

Titik masuk MCP yang berguna

  • find_symbol

    Mula di sini apabila anda tahu interface, type alias, hook, atau servis yang dikongsi yang anda nak periksa.

  • dependency_search

    Guna ia sebelum ubah DTO atau client yang dikongsi untuk dapatkan lingkungan impak yang realistik merentasi pakej.

  • structural_search

    Guna carian peringkat-AST apabila anda perlukan corak, bukan padanan string, contohnya bentuk komponen atau kaedah yang berulang.