# Supporto TypeScript in Maguyva: contesto migliore per i monorepo

Canonical source: https://maguyva.ai/it/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 supporta TypeScript con parsing AST ed estrazione dei simboli, così gli agenti IA possono tracciare interfacce, implementazioni, package condivisi, e codice applicativo ricco di JSX nei monorepo.

## Istantanea del supporto

- Livello: Supporto AST e simboli
- Programmazione
- Estensioni: .cts, .d.ts, .mts, .spec.ts, .stories.ts, .test.ts, +1 altre
- Analisi AST reale per ricerca sintattica e contesto strutturale.
- I simboli nominati alimentano la ricerca semantica e i riferimenti incrociati. La navigazione del grafo è disponibile quando è abilitata l’estrazione delle relazioni.
- Questo linguaggio contribuisce con simboli e relazioni alla ricerca basata sul grafo; i tipi di arco supportati variano in base ai suoi costrutti nativi.
- Sono disponibili sia l’analisi AST sia l’estrazione dei simboli.

## Il più adatto per

- Team di prodotto e platform che gestiscono Next.js, servizi Node, package condivisi, e tooling dentro un unico repository TypeScript.
- Repository dove interfacce, DTO, schemi, e componenti React si muovono insieme ma vivono in directory diverse.
- Team che cercano di dare agli agenti AI un contesto sicuro prima che tocchino tipi condivisi o confini tra package.

## Workflow degli agenti

- Segui un tipo, un'interfaccia, o un componente dalla sua definizione ai percorsi di codice che lo usano davvero.
- Confronta implementazioni tra package prima di modificare un helper condiviso o un contratto API.
- Mappa il probabile raggio d'impatto della modifica di un tipo condiviso, un'utility, o un modulo di servizio.

## Perché le pagine TypeScript contano

TypeScript è il linguaggio in cui molti team si aspettano che il refactoring assistito dall'IA finalmente sembri sicuro. Il sistema di tipi aiuta, ma non elimina il vero problema: package condivisi, DTO, client generati, componenti React, test, e codice applicativo che fanno tutti riferimento agli stessi nomi in un grande repository.

Per TypeScript, lo standard è più alto di "capisce la sintassi." L'agente deve seguire il contratto dalla definizione all'implementazione fino al raggio d'impatto prima di modificare un tipo, un hook, o un client condiviso.

## Cosa estrae davvero Maguyva in TypeScript

Maguyva estrae classi, metodi, interfacce, e alias di tipo attraverso `.ts`, `.mts`, `.cts`, e le comuni varianti di file TypeScript intorno a test e story. I prefissi member vengono normalizzati, ma gli identificatori qualificati dalla classe vengono preservati, il che aiuta quando un repository ha sia un nome di helper non qualificato che un metodo con scope di classe con lo stesso segmento finale.

JSX viene trattato come un vero segnale strutturale, non come markup sparso. Nei file TypeScript indicizzati, test, stories e configurazione restano disponibili accanto al codice applicativo, aiutando un agente a verificare esempi d’uso e impostazioni prima di modificare un componente o un servizio condiviso.

## Workflow MCP utili per repository TypeScript

Tre pattern di partenza di solito bastano:

- Usa `find_symbol` quando conosci già il nome dell'interfaccia, dell'alias di tipo, dell'hook, o del service.
- Usa `dependency_search` prima di modificare tipi o client condivisi che potrebbero propagarsi tra i package.
- Usa `structural_search` quando ti serve una forma di codice, non un match di parole chiave, per esempio pattern di componenti o metodi ripetuti.

Per domande concettuali come "segui il percorso di invio del checkout," `get_task_context` è spesso un primo passo migliore di una ricerca grezza.

## Dove questa pagina è più rilevante

Questa pagina è particolarmente utile per i monorepo web e platform dove TypeScript è il livello di coordinamento per più package. Se il tuo repository include ancora molto JS più vecchio, leggi la [guida JavaScript](/it/languages/javascript). Se la tua domanda è davvero "l'agente riesce a tenere insieme codice applicativo e contesto infrastrutturale?" abbina questa pagina a [Terraform](/it/languages/terraform).

## Dettagli del motore

- L'analisi di TypeScript estrae classi, metodi, interfacce e alias di tipo invece di appiattire tutto in simboli generici.
- I prefissi dei membri vengono rimossi, ma gli identificatori qualificati dalla classe sono preservati, il che aiuta a distinguere `CheckoutService.create` da un `create` non qualificato.
- Gli elementi JSX vengono considerati istanziazioni. Nei file TypeScript indicizzati, test, stories e configurazione restano disponibili come contesto accanto al codice applicativo.

## Punti di ingresso MCP utili

- `find_symbol`: Inizia da qui quando conosci l'interfaccia condivisa, l'alias di tipo, l'hook o il servizio che vuoi ispezionare.
- `dependency_search`: Usalo prima di modificare un DTO o un client condiviso per ottenere un raggio d'impatto realistico tra i pacchetti.
- `structural_search`: Usa la ricerca a livello AST quando ti serve un pattern, non una corrispondenza di stringa, ad esempio forme ripetute di componenti o metodi.
