Zum Inhalt springen
cd /languages
Gemischte RuntimesProgrammierungVollständiger Graph-Support

JavaScript-Unterstützung in Maguyva: KI-Suche für gemischte Runtime-Repos

Maguyva unterstützt JavaScript mit AST-Parsing und Symbolextraktion und hilft KI-Agents dabei, in Node-Services, Browser-Code, Skripten und Legacy-Modulen zu arbeiten, ohne auf reine Stringsuche zurückzufallen.

Warum gemischte JavaScript-Repos weiterhin strukturbewusste Suche brauchen

Viel KI-Code-Tooling behandelt JavaScript still und heimlich als den unaufgeräumten Zustand vor „richtigem“ TypeScript. Das verkennt, wie Produktions-Repos tatsächlich aussehen. JavaScript besitzt weiterhin Build-Schritte, Plugin-Systeme, Browser-Code, Task-Skripte und langlebige Service-Pfade, für deren sauberes Umschreiben nie ein Budget vorgesehen war.

Das macht JavaScript-Unterstützung weniger zu einer Frage hübscher Syntax und mehr zu einer Frage der Historie. Die Gefahr liegt nicht darin, die Datei zu parsen. Die Gefahr liegt darin, ein Modul oder einen Helper zu bearbeiten, ohne zu verstehen, ob es zu CommonJS, ESM, Browser-Code oder einem älteren lokalen Muster gehört.

Was Maguyva in JavaScript tatsächlich extrahiert

Maguyva deckt .js, .mjs und .cjs ab, normalisiert member-präfixierte Aufrufe und unterstützt JSX-Komponenten-Heuristiken in JavaScript-Codebasen, in denen Frontend- und Backend-Grenzen verschwimmen. Außerdem filtert es einen großen Teil des Standard-Browser- und Node-Runtime-Rauschens heraus, damit repository-spezifische Beziehungen sichtbar bleiben.

Das ist nützlich in älteren oder gemischten Repos, in denen dasselbe Konzept in mehr als einem Dateistil existieren kann und die exakte Benennung oft uneinheitlich ist.

Nützliche MCP-Workflows für Repos mit gemischten Runtimes

Der praktische Workflow sieht meist so aus:

  • Nutze text_pattern_search für exakte Strings wie module.exports, Event-Namen oder alte Config-Marker.
  • Nutze intelligent_search, wenn du Discovery auf Verhaltensebene brauchst, etwa „Legacy-Upload-Flow“ oder „wo Auth im Browser-Bundle geprüft wird“.
  • Nutze get_task_context, wenn die Benennung uneinheitlich ist und du eine zusammengeführte Zusammenfassung willst, bevor der Agent irgendetwas bearbeitet.

Wann diese Seite nützlich ist

Diese Seite richtet sich an Repos, die noch nennenswerte JavaScript-Anteile haben — nicht an Teams, die so tun, als sei die Migration schon abgeschlossen. Wenn das aktuelle Repo größtenteils TypeScript ist, starte mit TypeScript. Wenn der alte Web-Stack noch in serverseitige Templates oder PHP hineinreicht, ist der PHP-Guide der relevantere Begleiter.

Am besten geeignet

  • >Node- und Browser-Repositories, die sich nie endgültig auf ein Modulsystem oder eine Framework-Generation festgelegt haben.
  • >Teams, die Legacy-JavaScript pflegen und dabei schrittweise TypeScript oder neue Package-Grenzen einführen.
  • >Agent-Workflows, die Struktur über `.js`, `.mjs` und `.cjs` hinweg brauchen, statt ad hoc im Repo zu suchen.

Agentenabläufe

  • >Einen Request-Pfad oder Build-Schritt durch ältere JavaScript-Module verfolgen, bevor er bearbeitet wird.
  • >CommonJS- und ESM-Implementierungen desselben Verhaltens im gesamten Repo vergleichen.
  • >Wiederkehrende Muster in Skripten, Utilities oder Frontend-Komponenten finden, bevor eine neue Abstraktion eingeführt wird.

Engine-Einordnung

  • >JavaScript-Support deckt `.js`, `.mjs` und `.cjs` ab, was wichtig ist, wenn ein Repo noch mehrere Modulstile umfasst.
  • >Member-Präfixe und Aufrufargumente werden normalisiert, sodass wiederholte Helper über ältere Dateien hinweg leichter zu vergleichen sind.
  • >JSX-Komponenten-Heuristiken werden unterstützt, während die übliche Wand aus eingebauten Browser- und Node-Globals aus dem Beziehungsrauschen gefiltert wird.

Nützliche MCP-Einstiegspunkte

  • text_pattern_search

    Nutz es für exakte Strings wie `module.exports`, Event-Namen oder alte Config-Marker, bevor du die Suche erweiterst.

  • intelligent_search

    Nutz das, wenn die Benennung inkonsistent ist und du ein Verhalten wie „File-Upload-Flow“ finden musst statt eines Symbols.

  • get_task_context

    Nützlich, wenn das Repo gedriftet ist und du eine zusammengesetzte Zusammenfassung brauchst, bevor du einen Legacy-Pfad anfasst.