# Підтримка TypeScript у Maguyva: кращий контекст для монорепозиторіїв

Canonical source: https://maguyva.ai/uk/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 підтримує TypeScript з розбором AST та вилученням символів, щоб ШІ-агенти могли простежувати інтерфейси, реалізації, спільні пакети та насичений JSX код застосунків у монорепозиторіях.

## Знімок підтримки

- Рівень: Підтримка AST і символів
- Програмування
- Розширення: .cts, .d.ts, .mts, .spec.ts, .stories.ts, .test.ts, +1 ще
- Справжній розбір AST для пошуку з урахуванням синтаксису та структурного контексту.
- Іменовані символи забезпечують семантичний пошук і перехресні посилання. Навігація графом доступна, коли ввімкнено видобування зв’язків.
- Ця мова додає символи та зв’язки до пошуку з урахуванням графа; підтримувані типи ребер залежать від притаманних їй конструкцій.
- Доступні як розбір AST, так і видобування символів.

## Найкраще підходить

- Продуктові та платформні команди, що запускають Next.js, сервіси Node, спільні пакети та інструменти в одному репозиторії TypeScript.
- Репозиторії, де інтерфейси, DTO, схеми та компоненти React рухаються разом, але живуть у різних директоріях.
- Команди, що намагаються дати ШІ-агентам безпечний контекст, перш ніж ті торкнуться спільних типів чи меж пакетів.

## Робочі процеси агента

- Простежити тип, інтерфейс чи компонент від його визначення до шляхів коду, які його справді використовують.
- Порівняти реалізації в різних пакетах перед зміною спільного хелпера чи API-контракту.
- Відобразити ймовірний радіус впливу редагування спільного типу, утиліти чи сервісного модуля.

## Чому сторінки про TypeScript важливі

TypeScript — мова, де багато команд очікують, що рефакторинг за допомогою ШІ нарешті відчуватиметься безпечним. Система типів допомагає, але не усуває реальну проблему: спільні пакети, DTO, згенеровані клієнти, компоненти React, тести та код застосунку — усе це тягне за одні й ті самі назви у великому репозиторії.

Для TypeScript стандарт вищий за просте «розуміє синтаксис». Агент має простежити контракт від визначення через реалізацію до радіуса впливу, перш ніж редагувати спільний тип, хук чи клієнт.

## Що Maguyva насправді вилучає в TypeScript

Maguyva вилучає класи, методи, інтерфейси та псевдоніми типів у межах `.ts`, `.mts`, `.cts` та поширених варіантів файлів TypeScript навколо тестів і story-файлів. Префікси членів нормалізуються, але кваліфіковані класом ідентифікатори зберігаються, що допомагає, коли в репозиторії є і некваліфікована назва хелпера, і метод у межах класу з тим самим кінцевим сегментом.

JSX трактується як справжній структурний сигнал, а не випадкова розмітка. В індексованих файлах TypeScript тести, story-файли та конфігурація залишаються доступними разом із кодом застосунку, допомагаючи агенту перевірити приклади використання й налаштування перед зміною спільного компонента або сервісу.

## Корисні робочі процеси MCP для репозиторіїв TypeScript

Зазвичай достатньо трьох початкових патернів:

- Використовуйте `find_symbol`, коли ви вже знаєте назву інтерфейсу, псевдоніма типу, хука чи сервісу.
- Використовуйте `dependency_search` перед зміною спільних типів чи клієнтів, які можуть розгалужуватися по пакетах.
- Використовуйте `structural_search`, коли вам потрібна форма коду, а не збіг ключових слів, наприклад повторювані патерни компонентів чи методів.

Для концептуальних запитань на кшталт «простеж шлях надсилання замовлення» `get_task_context` часто є кращим першим кроком, ніж звичайний пошук.

## Де ця сторінка найбільш доречна

Ця сторінка найкорисніша для веб- та платформних монорепозиторіїв, де TypeScript — координаційний шар для кількох пакетів. Якщо ваш репозиторій усе ще включає багато старішого JS, прочитайте [посібник з JavaScript](/uk/languages/javascript). Якщо ваше питання насправді таке: «чи може агент утримувати разом код застосунку та інфраструктурний контекст?» — поєднайте це з [Terraform](/uk/languages/terraform).

## Деталі рушія

- Під час аналізу TypeScript Maguyva видобуває класи, методи, інтерфейси та псевдоніми типів замість того, щоб зводити все до узагальнених символів.
- Префікси членів видаляються, але ідентифікатори з прив'язкою до класу зберігаються, що допомагає відрізнити `CheckoutService.create` від некваліфікованого `create`.
- Елементи JSX враховуються як створення екземплярів. В індексованих файлах TypeScript тести, story-файли та конфігурація залишаються доступними як контекст разом із кодом застосунку.

## Корисні точки входу MCP

- `find_symbol`: Почніть тут, якщо знаєте спільний інтерфейс, псевдонім типу, хук чи сервіс, який хочете дослідити.
- `dependency_search`: Використовуйте перед зміною спільного DTO чи клієнта, щоб отримати реалістичний радіус впливу між пакетами.
- `structural_search`: Використовуйте пошук на рівні AST, коли потрібен патерн, а не збіг рядка — наприклад, повторювані форми компонентів чи методів.
