Naar inhoud springen
cd /languages
  • Monorepo-standaard
  • Programmeren
  • AST- en symboolondersteuning

TypeScript-ondersteuning in Maguyva: betere context voor monorepo's

Maguyva ondersteunt TypeScript met AST-parsing en symboolextractie, zodat AI-agents interfaces, implementaties, gedeelde packages en JSX-zware applicatiecode kunnen traceren in monorepo's.

Waarom TypeScript-pagina’s ertoe doen

TypeScript is de taal waar veel teams verwachten dat AI-ondersteunde refactoring eindelijk veilig zal aanvoelen. Het typesysteem helpt, maar het lost het echte probleem niet op: gedeelde packages, DTO’s, gegenereerde clients, React-componenten, tests en appcode die allemaal van dezelfde namen afhankelijk zijn in een grote repo.

Voor TypeScript ligt de lat hoger dan “het begrijpt syntax”. De agent moet het contract volgen van definitie naar implementatie naar impactradius voordat hij een gedeeld type, gedeelde hook of client bewerkt.

Wat Maguyva daadwerkelijk extraheert in TypeScript

Maguyva extraheert classes, methods, interfaces en type aliases over .ts, .mts, .cts en de gangbare TypeScript-bestandsvarianten rond tests en stories. Member-prefixes worden genormaliseerd, maar class-gekwalificeerde identifiers blijven behouden, wat helpt wanneer een repo zowel een kale helpernaam als een class-scoped method met hetzelfde laatste segment heeft.

JSX wordt behandeld als een echt structureel signaal in plaats van losse markup. In geïndexeerde TypeScript-bestanden blijven tests, stories en configuratie beschikbaar naast applicatiecode, zodat een agent gebruiksvoorbeelden en instellingen kan controleren voordat hij een gedeelde component of service wijzigt.

Nuttige MCP-workflows voor TypeScript-repo’s

Drie startpatronen zijn meestal genoeg:

  • Gebruik find_symbol als je de interface-, type alias-, hook- of servicenaam al kent.
  • Gebruik dependency_search voordat je gedeelde types of clients wijzigt die zich mogelijk vertakken over meerdere packages.
  • Gebruik structural_search wanneer je een codevorm nodig hebt, geen keywordmatch, bijvoorbeeld herhaalde component- of method-patronen.

Voor conceptuele vragen zoals “volg het afrekenpad bij checkout” is get_task_context vaak een betere eerste stap dan een ruwe zoekopdracht.

Waar deze pagina het meest relevant is

Deze pagina is vooral relevant voor web- en platformmonorepo’s waar TypeScript de coördinatielaag is voor meerdere packages. Als je repo nog veel oudere JS bevat, lees dan de JavaScript-gids. Als jouw vraag eigenlijk is “kan de agent appcode en infracontext samen vasthouden?”, combineer dit dan met Terraform.

Beste toepassing

  • > Product- en platformteams die Next.js, Node-services, gedeelde packages en tooling draaien binnen één TypeScript-repo.
  • > Repo's waar interfaces, DTO's, schema's en React-componenten samen bewegen maar in verschillende directory's leven.
  • > Teams die AI-agents veilige context willen geven voordat ze gedeelde types of packagegrenzen aanraken.

Agentworkflows

  • > Volg een type, interface of component van zijn definitie naar de codepaden die het daadwerkelijk gebruiken.
  • > Vergelijk implementaties tussen packages voordat je een gedeelde helper of API-contract wijzigt.
  • > Breng de waarschijnlijke impactradius in kaart van het bewerken van een gedeeld type, gedeelde utility of servicemodule.

Enginedetails

  • > TypeScript extraheert klassen, methoden, interfaces en type-aliassen in plaats van alles tot generieke symbolen te platslaan.
  • > Ledenprefixen worden verwijderd, maar klassegekwalificeerde identifiers blijven behouden, wat helpt om `CheckoutService.create` te onderscheiden van een kale `create`.
  • > JSX-elementen tellen als instantiaties. In geïndexeerde TypeScript-bestanden blijven tests, stories en configuratie beschikbaar als context naast applicatiecode.

Nuttige MCP-instappunten

  • find_symbol

    Begin hier wanneer je de gedeelde interface, type-alias, hook of service kent die je wilt inspecteren.

  • dependency_search

    Gebruik dit voordat je een gedeelde DTO of client wijzigt om een realistische impactradius over pakketten heen te krijgen.

  • structural_search

    Gebruik zoeken op AST-niveau wanneer je een patroon nodig hebt in plaats van een letterlijke match, bijvoorbeeld herhaalde component- of methodevormen.