Vai al contenuto
cd /languages
  • Monorepo per default
  • Programmazione
  • Supporto AST e simboli

Supporto TypeScript in Maguyva: contesto migliore per i monorepo

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.

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. Se la tua domanda è davvero “l’agente riesce a tenere insieme codice applicativo e contesto infrastrutturale?” abbina questa pagina a Terraform.

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.

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.