Marcel Moré präsentierte ein umfangreiches Update zu seinem Projekt FM-Lab, das inzwischen öffentlich auf GitHub verfügbar ist. Während ai2fm den Fokus auf einzelne Skripte legt, geht FM-Lab einen Schritt weiter: Ziel ist es, die komplette FileMaker-Lösung als strukturierten Objektkatalog für AI-Agenten verfügbar zu machen.
Die Idee – jenseits von XML und XSLT
Bisherige Analyse-Tools für FileMaker arbeiten typischerweise mit XML-Exporten und XSLT-Transformationen. Das ist oft langsam und unflexibel. FM-Lab nutzt stattdessen DuckDB – eines der derzeit schnellsten Daten-Transformations-Tools überhaupt. Dank eines neuen Plugins kann DuckDB FileMaker-XML direkt verarbeiten.
Das Prinzip ist einfach: Aus FileMaker wird die Lösung wie gewohnt als XML exportiert. Ein inzwischen 3.500 Zeilen langes SQL-Template konvertiert diesen XML-Inhalt in normalisierte Tabellen – einen kompletten lokalen Objektkatalog mit allen Tabellen, Feldern, Script Steps, Layouts und Custom Functions.
Der Unified Object Store
Aus diesen Rohdaten generiert FM-Lab in einem zweiten Schritt einen “Unified Object Store”: eine zentrale Tabelle, die alle Objekttypen einer Lösung enthält, ergänzt um eine Verlinkungs-Tabelle, die alle Beziehungen zwischen den Objekten abbildet. Jede UUID wird gemappt, fehlende UUIDs durch Pseudo-IDs ergänzt, jeder Link bekommt einen Type und eine Role.
Das Ergebnis: eine vollständige, strukturierte Repräsentation der gesamten FileMaker-Lösung, abfragbar per SQL – schnell, flexibel und weitaus mächtiger als reine XSLT-Transformationen.
REST-API für Tools und Agenten
Der Object Store wird über eine REST-API zugänglich gemacht. Damit können sich beliebige Konsumenten anbinden: ein eigenes UI für die Lösungsanalyse, AI-Agenten, oder bestehende Tools wie Russell Watsons fmIDE. In der Demo zeigte Marcel eine Beispiellösung mit 65 Dateien und über 427.000 Objekten – Suchen über alle Objekte laufen in Sekundenbruchteilen.
Was das für AI-gestützte Entwicklung bedeutet
Der eigentliche Mehrwert liegt im neuen Workflow für AI-Agenten. Bisher sah ein Agent nur isolierte Skriptschritte oder Code-Fragmente. Mit dem Unified Object Store erhält er die volle strukturelle Sicht:
- Welche Tabellen werden referenziert?
- Welche Felder kommen in welchen Calculations vor?
- Welche Skripte rufen welche anderen Skripte auf?
- Welcher Layout-Button löst welchen Skripttrigger aus?
Der Agent kann sich rekursiv durch den gesamten Objektbaum hangeln, sämtliche Kommentare einbeziehen und die vollständige Callchain bis zurück zum auslösenden Layout-Objekt nachvollziehen. Komplexe Fragen, für die ein Entwickler bisher langwierige Recherchen in klassischen Analyse-Tools benötigte, beantwortet der Agent in Sekunden.
Demo und Ausblick
Marcel demonstrierte die Integration mit Russells fmIDE: Aus dem FM-Lab-UI lassen sich gefundene Objekte direkt im FileMaker-Skript- oder Layout-Editor öffnen – nahtloser Übergang vom Object Store zurück in den FileMaker-Workspace.
Weitere Integrationen mit anderen Tools stehen auf der Roadmap.
Ebenfalls erwähnt wurde Quack, das offizielle DuckDB-Netzwerkprotokoll über HTTP, das einen Tag zuvor veröffentlicht wurde. Damit eröffnen sich künftig neue Möglichkeiten für die Topologie der Anwendung – DuckDB kann nun z.B. parallel auf einem Server-System installiert werden und mit FM-Lab auf dem Entwickler-System kommunizieren.
Bei FM-Lab handelt es sich nicht um fertiges Produkt, sondern um ein Framework für die agentische Code-Analyse und Code-Generierung mit FileMaker, das sich weiterhin in der Entwicklung befindet. Eine Veröffentlichung unter Open Source Lizenz zur Adaption durch andere FileMaker Entwickler ist Teil des Konzepts.