# Sokongan TypeScript dalam Maguyva: Konteks Lebih Baik untuk Monorepo

Canonical source: https://maguyva.ai/ms/languages/typescript

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

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.

## Gambaran sokongan

- Peringkat: Sokongan AST dan simbol
- Pengaturcaraan
- Sambungan fail: .cts, .d.ts, .mts, .spec.ts, .stories.ts, .test.ts, +1 lagi
- Penghuraian AST sebenar untuk carian sedar-sintaks dan konteks struktur.
- Simbol bernama menyokong carian semantik dan rujukan silang. Navigasi graf tersedia apabila pengekstrakan hubungan didayakan.
- Bahasa ini menyumbang simbol dan hubungan kepada carian berasaskan graf; jenis edge yang disokong berbeza mengikut binaan aslinya.
- Penghuraian AST dan pengekstrakan simbol kedua-duanya tersedia.

## 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.

## 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](/ms/languages/javascript). Jika persoalan anda sebenarnya "bolehkah ejen memegang kod aplikasi dan konteks infra bersama-sama?" gandingkan ini dengan [Terraform](/ms/languages/terraform).

## 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.
