Dimitris Kokoutsidis stellte sein neues Produkt ai2fm.com vor – eine Lösung für ein Problem, das FileMaker-Entwickler seit dem Aufkommen generativer AI-Tools begleitet: Wie bekommt man von ChatGPT, Claude oder Gemini erzeugten FileMaker-Code zuverlässig zurück in den Script Workspace? Bisher blieb meist nur der mühsame Weg, Zeile für Zeile abzutippen oder mit XML-Tricks zu hantieren.

Das Prinzip – Clipboard als Brücke

Der Ansatz von ai2fm nutzt die Zwischenablage als Übertragungsweg. Dimitris demonstrierte den Workflow live mit VSCodium, einer quelloffenen Variante von VS Code. Über eine Extension installiert, erweitert ai2fm den Editor um FileMaker-spezifische Fähigkeiten: Syntax-Highlighting, Code-Faltung, Auto-Vervollständigung und die zentrale Funktion – das Umwandeln von Script-Text in ein Format, das sich direkt in den FileMaker Script Workspace einfügen lässt.

Der Workflow läuft denkbar einfach: Skript in VSCodium markieren, mit Ctrl+A kopieren, Tastenkombination Ctrl+Alt+F (für FileMaker) auslösen – und den Inhalt anschließend in FileMaker einfügen. Unterstützt werden laut Dimitris alle 214 Skriptschritte der aktuellen FileMaker-Version, sowohl unter macOS als auch unter Windows.

Das technische Fundament

Die Lösung ai2fm besteht aus zwei Bausteinen, die jeder für sich ein grundlegendes Problem bei der Verarbeitung von FileMaker Scripten lösen.

Das VS Code Plugin stellt zunächst einen vollständigen Linter für FileMaker Script-Befehle bereit. Damit lassen sich im Texteditor die Script-Schritte im Klartext eingeben und bearbeiten. Der Linter erkennt die verfügbaren Parameter, bietet Auto-Vervollständigung an und prüft das Ergebnis auf Syntax und Plausibilität. Nur wenn ein Script-Schritt tatsächlich korrekt eingegeben wurde, gibt der Linter grünes Licht, andernfalls wird sofort auf Fehler hingewiesen.

Der zweite Teil besteht aus einem zuverlässigen Transformations-Stylesheet für die Übersetzung des geprüften Script-Textes in das FileMaker XMLSnippet-Format. Hierbei werden nicht nur alle Script-Schritte korrekt übertragen, es findet auch eine Überprüfung fehlender Referenzen von TOs, Feldern und enthaltenen Script-Aufrufen statt. Ungültige Verweise werden auskommentiert, ergänzt um einen Hinweis für den Entwickler, die Zuordnung an den gekennzeichneten Stellen manuell vorzunehmen. So ist sicher gestellt, dass alle Bestandteile eines Scripts bei der Konvertierung übertragen werden.

Dimitris kündigte an, dass das Plugin kostenlos aus dem VS Code Marketplace installiert werden kann. Für das Transformations-Stylesheet muss eine Lizenz erworben werden.

Vibe Coding – der Workflow dahinter

Den Begriff “Vibe Coding” prägte Dimitris für seinen iterativen Arbeitsstil: Ein Skript wird in FileMaker begonnen, zum AI-Modell übergeben, dort überarbeitet oder optimiert, und direkt danach wieder zurückgespielt. Als Beispiel zeigte er ein ursprünglich 525 Zeilen langes Skript, das nach einer Optimierungsrunde mit Claude und Gemini nur noch halb so viele Zeilen umfasste – bei identischer Funktionalität. Durch die Konvertierung der Scripte in Text-Form und Ablage in der IDE versteht der Coding Agent adhoc wichtige Zusammenhänge. Zudem lassen sich die Scripte per git Versionieren.

Lokalisierung

Ein praktisches Detail für internationale Entwickler: ai2fm berücksichtigt die Sprache der lokalen FileMaker-Installation. Ein in englischer Syntax vom AI-Modell erzeugtes Skript wird beim Einfügen automatisch in die Zielsprache übersetzt – etwa in die deutschen Skriptschritt-Bezeichnungen. Auch die Verwendung von problematischen UTF-16-Zeichen kann eingeschränkt werden, damit die Konvertierung zuverlässig klappt.

Ausblick

Das Tool befindet sich derzeit in einer Test-Phase und wird in Kürze veröffentlicht. Infos zu Verfügbarkeit und Preisen finden sich auf der Produkt-Website.

Eine ausführliche Vorstellung des Tools ist für den 16. April im AI Podcast von Matt Navarre geplant.

Wer direkten Kontakt mit Dimitris aufnehmen möchte, kann ihn über LinkedIn erreichen.

https://ai2fm.com
https://github.com/DimitrisKok
https://www.linkedin.com/in/dimitriskokoutsidis/