MCP Fantom

Documentation Fantom, Recherche sémantique de code et Migration SkySpark

Enseignez à votre assistant IA Fantom -- et confiez-lui les clés de votre migration SkySpark 4.0.

MCP Fantom indexe la documentation Fantom de fantom.org, vos pods .fan locaux et les workflows Haxall dans une seule surface consultable. Il exécute une recherche de code sémantique sur des milliers de types et de méthodes, analyse les graphes d'appels avec détection communautaire, et -- de façon unique -- automatise la migration SkySpark 3.x vers 4.0 : réécrit les déclarations using, convertit les chaînes Axon, génère des fichiers Xeto, valide avec le compilateur Fantom, et crée une balise Git de sauvegarde en chemin.

Si la migration échoue, restaurez-la avec un seul appel d'outil. Le parcours entier est comparable, réversible et commenté.

Pourquoi cela existe

SkySpark 4.0 a changé le format d'extension. La migration manuelle d'une véritable extension ou connecteur est fastidieuse : réécriture des using, conversions des chaînes Axon et de tout nouveaux fichiers de bibliothèque Xeto -- avec un compilateur qui mord le moment où vous manquez une ligne. MCP Fantom transforme ce travail en un workflow piloté par un assistant qui connaît les règles, exécute les vérifications et peut se défaire.

Pour qui c'est

  • Auteurs d'extensions migrant les pods SkySpark 3.x vers 4.0
  • Intégrateurs Haxall construisant des connecteurs, fonctions et applications en Fantom
  • Développeurs assistés par l'IA qui ont besoin d'un contexte Fantom précis, pas de syntaxe hallucinez

Cockpit de Migration

Migrez SkySpark 3 vers 4 sans crampes aux mains

Un outil réécrit votre extension. Un autre la valide. Un troisième la restaure. Chaque changement est comparable, le compilateur vérifie, Git maintient le filet de sécurité.

Migration : en cours modbus-connector
67%
Source SkySpark 3.x
Sortie SkySpark 4.0
1using sys
2using skyspark::ext
3using skyspark::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8 
9  Str axonWatch() { "read(point and siteRef == @hq)" }
10  Str axonSub() { "readAll(point)" }
11}
12 
1using sys
2using haxall::ext
3using haxall::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8  // Axon moved to funcs.xeto
9  Str axonWatch() { "axon:MyConnector.watch" }
10  Str axonSub() { "axon:MyConnector.sub" }
11}
12 
using rewrites: 12 axon strings: 8 xeto files: 3 generated compiler: PASS git: pre-skyspark-4x-backup tag created
Sortie vérifiée par fan compile. Restauration disponible via rollbackMigration jusqu'à ce que commitMigration soit appelé.

Indexation paresseuse

Le serveur répond avant la fin de l'indexation

La plupart des serveurs de recherche bloquent le client pendant 30 à 60 secondes au premier démarrage pendant qu'ils indexent. MCP Fantom démarre en moins d'une seconde. Les outils répondent immédiatement -- FlexSearch se réchauffe en premier, les pods locaux ensuite, les plongements après. L'assistant n'attend jamais.

Les requêtes se dégradent de manière transparente. Si les intégrations ne sont pas prêtes, les outils sémantiques reviennent à la recherche par mot-clé. L'assistant obtient une réponse avec une note sur la fidélité, pas un délai d'attente.

MCP Fantom
prêt
Docs HTML (cheerio) 100%
4 187 sur 4 187 pages indexées
Pods .fan locaux 78%
1 246 sur 1 600 pods analysés
Intégrations (LanceDB) 45%
723 sur 1 600 vecteurs calculés
Graphe d'appels (graphologie) 12%
192 sur 1 600 fonctions liées
démarrage 0s outils 1s docs 8s index complet 47s
Recherche sémantique LanceDB
« fonctions qui normalisent les unités » cosinus recherche
normalizeUnit(val, target)
Canonicalisez une valeur numérique vers un symbole d'unité cible.
0.91
convertUnit(point, u)
Convertissez la valeur d'un point dans l'unité spécifiée.
0.87
toEngUnit(v, sym)
Retournez la représentation d'unité technique d'une valeur brute.
0.82
Communautés de code (Louvain)
normalisation d'unité analyse trio lectures de compteur utilitaires connecteur

Intelligence du code

Compréhension sémantique, pas juste correspondance de texte

semanticCodeSearch et findSimilarCode intègrent votre code Fantom dans un espace vectoriel. Demandez « fonctions qui normalisent les unités » et obtenez des résultats qui partagent la structure, pas les mots-clés.

Graphologie avec clustering Louvain trouve les communautés naturelles dans votre codebase -- quels types s'accrochent ensemble, lesquels ne le font pas. getCodeImpact trace comment un changement se propage. getCallers et getCallees complètent la surface du graphe d'appels.

semanticCodeSearch findSimilarCode getCallers getCallees getCodeImpact

Sécurité de la migration

Chaque migration est à une annulation près

migrateSkySpark4x crée une balise Git avant d'écrire un seul octet. Si quelque chose échoue -- erreur du compilateur, discordance de validation, votre intuition -- rollbackMigration restaure le référentiel à l'état exact avant l'exécution.

commitMigration est délibéré. Rien n'est fusionné dans votre historique de travail jusqu'à ce que vous acceptiez la sortie. Jusque-là, la migration vit sur une branche, avec une balise de sauvegarde, prête à être rejetée.

Chronologie Git référentiel mcp-fantom
commitMigration fusionné
ghi789
Tous les fichiers Xeto écrits ; compile PASS confirmé.
branche de migration appliquée
def456
using réécritures + conversion Axon + génération Xeto.
balise : pre-skyspark-4x-backup
abc123
Balise de sauvegarde créée automatiquement avant l'exécution de la migration.
état pré-migration
abc123
État du référentiel avant l'appel de migrateSkySpark4x.
Outils de migration
migrateSkySpark4x
Exécutez la réécriture complète.
commitMigration
Acceptez la sortie.
rollbackMigration
Restaurez à la balise de sauvegarde.
resources/list --> 4 ressources
create-pod
Générez un nouveau pod Fantom de bout en bout.
5 étapes · markdown
use-fanr
Publiez un pod via fanr.
6 étapes · markdown
haxall-basics
Construisez votre première extension Haxall.
8 étapes · markdown
unit-testing
Configurez les tests unitaires fant.
4 étapes · markdown

Flux de travail guidés

Au-delà des outils -- guides lisibles

Les ressources MCP sont des documents markdown que l'assistant peut lire à la demande. MCP Fantom en expédie quatre : un générateur de pod, un guide de publication fanr, une procédure pas à pas d'extension Haxall et une introduction aux tests unitaires fant.

Quand un développeur demande « comment commencer ? », l'assistant récupère la bonne ressource, fait un résumé et continue. Chaque flux de travail est versionné avec le serveur.

  • Markdown étape par étape
  • Découvrable via resources/list
  • Versionné avec le serveur
  • Facile à en ajouter d'autres

Intéressé par ce projet ?

Explorez le code source, contribuez ou prenez contact.