# Podpora jazyka TypeScript v nástroji Maguyva: lepší kontext pro monorepa

Canonical source: https://maguyva.ai/cs/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 podporuje TypeScript díky AST parsování a extrakci symbolů, takže AI agenti dokážou sledovat rozhraní, implementace, sdílené balíčky a aplikační kód plný JSX napříč monorepy.

## Přehled podpory

- Úroveň: Podpora AST a symbolů
- Programování
- Přípony: .cts, .d.ts, .mts, .spec.ts, .stories.ts, .test.ts, +1 dalších
- Skutečné parsování AST pro vyhledávání citlivé na syntaxi a strukturální kontext.
- Pojmenované symboly napájejí sémantické vyhledávání a křížové odkazy. Navigace v grafu je k dispozici, když je povolena extrakce vztahů.
- Tento jazyk přispívá symboly a vztahy do vyhledávání využívajícího graf; podporované typy hran se liší podle jeho nativních konstrukcí.
- K dispozici je parsování AST i extrakce symbolů.

## Nejlépe se hodí pro

- Produktové a platformní týmy provozující Next.js, Node služby, sdílené balíčky a tooling v jednom repozitáři jazyka TypeScript.
- Repozitáře, kde se rozhraní, DTO, schémata a React komponenty pohybují společně, ale žijí v různých adresářích.
- Týmy snažící se dát AI agentům bezpečný kontext dřív, než se dotknou sdílených typů nebo hranic balíčků.

## Workflow agentů

- Sledovat typ, rozhraní nebo komponentu od jejich definice až po cesty kódem, které je skutečně používají.
- Porovnat implementace napříč balíčky dřív, než změníte sdílený helper nebo kontrakt API.
- Zmapovat pravděpodobný rozsah dopadu úpravy sdíleného typu, utility nebo servisního modulu.

## Proč na stránkách o TypeScriptu záleží

TypeScript je jazyk, u kterého spousta týmů očekává, že refaktoring s asistencí AI konečně vzbudí pocit bezpečí. Typový systém pomáhá, ale neodstraňuje skutečný problém: sdílené balíčky, DTO, generovaní klienti, React komponenty, testy a aplikační kód — to vše odkazuje na stejné názvy napříč velkým repozitářem.

U TypeScriptu je laťka vyšší než „rozumí syntaxi“. Agent musí sledovat kontrakt od definice přes implementaci až po rozsah dopadu dřív, než upraví sdílený typ, hook nebo klienta.

## Co Maguyva v TypeScriptu skutečně extrahuje

Maguyva extrahuje třídy, metody, rozhraní a type aliasy napříč `.ts`, `.mts`, `.cts` a běžnými variantami souborů TypeScriptu kolem testů a stories. Prefixy členů jsou normalizované, ale identifikátory kvalifikované třídou zůstávají zachované, což pomáhá ve chvíli, kdy má repozitář jak holý název helperu, tak metodu vázanou na třídu se stejným koncovým segmentem.

S JSX se zachází jako se skutečným strukturálním signálem, ne jako s náhodným markupem. V indexovaných souborech TypeScript zůstávají testy, stories a konfigurace dostupné vedle aplikačního kódu, takže agent může před změnou sdílené komponenty nebo služby zkontrolovat příklady použití a nastavení.

## Užitečné workflow MCP pro repozitáře v TypeScriptu

Tři výchozí vzory obvykle stačí:

- Použijte `find_symbol`, když už znáte název rozhraní, type aliasu, hooku nebo služby.
- Použijte `dependency_search` dřív, než změníte sdílené typy nebo klienty, jejichž změny mohou ovlivnit více balíčků.
- Použijte `structural_search`, když potřebujete tvar kódu, ne shodu klíčového slova, například opakující se vzory komponent nebo metod.

Pro konceptuální otázky typu „projít cestu odeslání checkoutu“ bývá `get_task_context` často lepším prvním krokem než syrové vyhledávání.

## Kde je tato stránka nejrelevantnější

Tato stránka je nejsilnější pro webová a platformní monorepa, kde je TypeScript koordinační vrstvou pro více balíčků. Pokud váš repozitář stále obsahuje hodně staršího JS, přečtěte si [průvodce JavaScriptem](/cs/languages/javascript). Pokud vaše otázka ve skutečnosti zní „dokáže agent udržet pohromadě aplikační kód i infrastrukturní kontext?“, spárujte tuto stránku s [Terraformem](/cs/languages/terraform).

## Podrobnosti enginu

- TypeScript extrahuje třídy, metody, rozhraní a type aliasy místo toho, aby všechno zplošťoval do obecných symbolů.
- Prefixy členů se odstraňují, ale třídou kvalifikované identifikátory zůstávají zachované, což pomáhá rozlišit `CheckoutService.create` od holého `create`.
- Prvky JSX se počítají jako instanciace. V indexovaných souborech TypeScript zůstávají testy, stories a konfigurace dostupné jako kontext vedle aplikačního kódu.

## Užitečné vstupní body MCP

- `find_symbol`: Začněte tady, když znáte sdílené rozhraní, type alias, hook nebo službu, kterou chcete prozkoumat.
- `dependency_search`: Použijte ho před změnou sdíleného DTO nebo klienta, abyste získali reálný poloměr dopadu napříč balíčky.
- `structural_search`: Použijte vyhledávání na úrovni AST, když potřebujete vzor, ne shodu textu, například opakující se tvary komponent nebo metod.
