Prise en charge de Java dans Maguyva : intelligence du code pour les dépôts d'entreprise
Utile quand le dépôt regorge de services Spring, de frameworks internes et de code ayant survécu à plusieurs ères organisationnelles.
Extensions
.java
Maguyva prend en charge Python avec analyse AST et extraction de symboles, aidant les agents IA à suivre les décorateurs, les méthodes self/cls, les imports et les dépendances inter-modules dans de véritables dépôts Python.
Python est l’endroit où beaucoup d’outils de codage IA paraissent bons au premier abord, puis se mettent à deviner une fois en production. Les difficultés sont familières : points d’entrée décorés, classes de service, stubs de types, petits modules utilitaires partout, et méthodes qui ne prennent sens qu’une fois self ou cls reconnectés à la classe à laquelle ils appartiennent.
Pour Python, la vraie question n’est pas « peut-il lire les fichiers .py ? ». La question est de savoir si l’agent peut rester ancré tandis qu’il passe d’un point d’accès à un service, d’une tâche de fond à un utilitaire, ou d’un nom de classe aux méthodes qui implémentent réellement le comportement.
Maguyva traite Python comme un langage pleinement structurel. La configuration couvre .py, .pyw et .pyi, fait remonter decorated_definition vers un symbole de fonction, et qualifie les appels de méthode self / cls en les rattachant à la classe englobante. Cela compte, car ce sont précisément les endroits où les dépôts Python commencent à paraître évidents pour un humain et flous pour un LLM.
Il filtre aussi une grande partie du bruit de la bibliothèque standard hors de l’extraction de relations. Cela signifie que les appels d’exécution courants issus de modules comme pathlib, typing ou logging ont moins de chances de noyer les relations propres au dépôt qui vous intéressent réellement.
Le flux de travail utile le plus simple est le suivant :
intelligent_search pour une question de comportement telle que « logique de nouvelle tentative autour de la synchronisation des factures » ou « vérifications de permissions dans les points d’accès de facturation ».find_symbol une fois que vous connaissez le nom de la classe ou de la fonction qui vous intéresse.dependency_search avec un parcours entrant avant de refactoriser un service, un utilitaire ou une classe de base partagés.Ce schéma vaut mieux que de demander à un agent de « mettre à jour le flux de facturation » à froid. Il permet à l’agent de construire d’abord une carte, puis de modifier le code ensuite.
Cette page s’adresse aux dépôts Python qui ont déjà un certain âge et une certaine complexité : code de service, tâches, scripts, types générés et configuration environnante. Si votre comparaison principale porte sur des monorepos web polyglottes, lisez aussi le guide TypeScript. Si vous avez seulement besoin de la matrice complète de compatibilité, consultez compatibilité.
Idéal pour
Workflows d'agent
Détails du moteur
Points d'entrée MCP utiles
intelligent_search
Commencez par une requête conceptuelle comme « logique de retry autour de la synchro des factures » et définissez `language_filter="python"` si le dépôt est polyglotte.
find_symbol
Utilisez-le quand vous connaissez le nom de la classe ou de la fonction et avez besoin de la définition plus les références avant de modifier.
dependency_search
Utilisez la direction entrante avant de refactoriser un service ou un helper partagé pour voir ce qui en dépend.
Guides connexes
Utile quand le dépôt regorge de services Spring, de frameworks internes et de code ayant survécu à plusieurs ères organisationnelles.
Extensions
.java
Pertinent quand votre dépôt mélange code applicatif, bibliothèques, clients d'API, tests et configuration à travers plusieurs packages.
Extensions
.cts, .d.ts, .mts, .spec.ts, +3 de plus