Przejdź do treści
cd /languages
  • Domyślne monorepo
  • Programowanie
  • Obsługa AST i symboli

Wsparcie dla TypeScript w Maguyva: lepszy kontekst dla monorepo

Maguyva obsługuje TypeScript dzięki parsowaniu AST i ekstrakcji symboli, dzięki czemu agenci AI mogą śledzić interfejsy, implementacje, współdzielone pakiety oraz kod aplikacyjny bogaty w JSX w całych monorepo.

Dlaczego strony TypeScript mają znaczenie

TypeScript to język, w którym wiele zespołów oczekuje, że refaktoryzacja wspomagana przez AI wreszcie da poczucie bezpieczeństwa. System typów pomaga, ale nie usuwa prawdziwego problemu: współdzielone pakiety, DTO, generowani klienci, komponenty React, testy i kod aplikacji — wszystko to ciągnie za te same nazwy w dużym repozytorium.

Dla TypeScript standard jest wyższy niż „rozumie składnię”. Agent musi prześledzić kontrakt od definicji przez implementację aż po zasięg wpływu, zanim zedytuje współdzielony typ, hook czy klienta.

Co Maguyva faktycznie ekstrahuje w TypeScript

Maguyva ekstrahuje klasy, metody, interfejsy i aliasy typów w .ts, .mts, .cts oraz popularnych wariantach plików TypeScript wokół testów i stories. Prefiksy składowych są normalizowane, ale identyfikatory kwalifikowane klasą są zachowywane, co pomaga, gdy repozytorium ma zarówno niekwalifikowaną nazwę funkcji pomocniczej, jak i metodę w zakresie klasy o tym samym końcowym segmencie.

JSX jest traktowany jako rzeczywisty sygnał strukturalny, a nie przypadkowy znacznik. W zindeksowanych plikach TypeScript testy, stories i konfiguracja pozostają dostępne obok kodu aplikacji, pomagając agentowi sprawdzić przykłady użycia i ustawienia przed zmianą współdzielonego komponentu lub usługi.

Przydatne przepływy pracy MCP dla repozytoriów TypeScript

Zwykle wystarczą trzy wzorce początkowe:

  • Użyj find_symbol, gdy znasz już nazwę interfejsu, aliasu typu, hooka lub usługi.
  • Użyj dependency_search przed zmianą współdzielonych typów lub klientów, które mogą rozgałęziać się na wiele pakietów.
  • Użyj structural_search, gdy potrzebujesz kształtu kodu, a nie dopasowania słów kluczowych, na przykład powtarzających się wzorców komponentów lub metod.

Dla pytań konceptualnych, takich jak „prześledź ścieżkę składania zamówienia”, get_task_context jest często lepszym pierwszym krokiem niż surowe wyszukiwanie.

Gdzie ta strona jest najbardziej przydatna

Ta strona jest najbardziej przydatna dla webowych i platformowych monorepo, gdzie TypeScript jest warstwą koordynującą wiele pakietów. Jeśli Twoje repozytorium wciąż zawiera dużo starszego JS, przeczytaj przewodnik JavaScript. Jeśli Twoje pytanie brzmi naprawdę „czy agent potrafi utrzymać razem kod aplikacji i kontekst infrastruktury?”, zestaw to z Terraform.

Najlepsze dopasowanie

  • > Zespoły produktowe i platformowe uruchamiające Next.js, usługi Node, współdzielone pakiety i narzędzia w jednym repozytorium TypeScript.
  • > Repozytoria, w których interfejsy, DTO, schematy i komponenty React zmieniają się razem, ale znajdują się w różnych katalogach.
  • > Zespoły starające się dać agentom AI bezpieczny kontekst, zanim dotkną współdzielonych typów lub granic pakietów.

Workflow agentów

  • > Prześledź typ, interfejs lub komponent od jego definicji do ścieżek kodu, które faktycznie go używają.
  • > Porównaj implementacje w różnych pakietach, zanim zmienisz współdzieloną funkcję pomocniczą lub kontrakt API.
  • > Zmapuj prawdopodobny zasięg wpływu edycji współdzielonego typu, narzędzia lub modułu usługowego.

Szczegóły silnika

  • > Ekstraktor TypeScript wyodrębnia klasy, metody, interfejsy i aliasy typów, zamiast spłaszczać wszystko do ogólnych symboli.
  • > Prefiksy członków są usuwane, ale identyfikatory kwalifikowane klasą są zachowywane, co pomaga odróżnić `CheckoutService.create` od niekwalifikowanego `create`.
  • > Elementy JSX są traktowane jako tworzenie instancji. W zindeksowanych plikach TypeScript testy, stories i konfiguracja pozostają dostępne jako kontekst obok kodu aplikacji.

Przydatne punkty wejścia MCP

  • find_symbol

    Zacznij tutaj, kiedy znasz współdzielony interfejs, alias typu, hook albo usługę, którą chcesz zbadać.

  • dependency_search

    Użyj przed zmianą współdzielonego DTO albo klienta, żeby uzyskać realistyczny zasięg wpływu w różnych pakietach.

  • structural_search

    Użyj wyszukiwania na poziomie AST, kiedy potrzebujesz wzorca, a nie dopasowania tekstu — na przykład powtarzających się kształtów komponentów albo metod.