Marcel Moré zeigte die weiterentwickelte Architektur seines DuckDB-basierten Analyse-Tools für FileMaker-Lösungen. Im Vergleich zum ersten Teil lag der Fokus diesmal auf dem neuen REST-API als Integrationsschicht und den praktischen Anwendungsmöglichkeiten.
Architektur und REST-API
Die Pipeline: fmp12 → SaveAsXML → SQL Parser (XPath) → DuckDB (lokale Datei) → REST API → UI / AI Agent
Das zentrale SQL-Template für die Konvertierung umfasst mittlerweile fast 2.000 Zeilen — entwickelt im Dialog mit Claude. Es zerlegt die komplexen XML-Strukturen in normalisierte Tabellen mit Referenzlisten, die für schnelle Abfragen optimiert sind. Ein 1,3 GB großes XML-Datenset wird in rund 20 Minuten vollständig geparst.
Der entscheidende Fortschritt gegenüber dem ersten Teil: Die DuckDB-Datenbank ist nun über ein REST-API gekapselt und bietet Endpoints wie /search, /list, /get und /info. Dadurch können beliebige Clients — Web-UIs, Raycast-Plugin oder KI-Agenten — in Echtzeit auf den Objektkatalog zugreifen. DuckDB ist dabei RAM-basiert, multithreaded und mit Vektor-Engine bis zu 1000x schneller als native FileMaker-Abfragen.
Demo: Echtzeit-Suche über 400.000 Objekte
Marcel demonstrierte die Suche über 400.000+ Objekte aus 56 XML-Dateien einer großen FileMaker-Lösung. Die Ergebnisse erscheinen in Echtzeit bei der Eingabe — inklusive Filterung nach Objekttypen (Felder, Layouts, Skripte, Custom Functions). Ein intelligenter Window-Buffer lädt jeweils nur 200 Einträge vom API nach, sodass auch beim Scrollen durch tausende Ergebnisse keine Verzögerung spürbar ist.
Für jedes Skript werden strukturierte Detailansichten mit Einrückungen angezeigt, ergänzt um Referenz-Panels: „wird verwendet von" und „verwendet folgende". Durch klickbare Referenzen lassen sich Skript-Abhängigkeiten in Echtzeit navigieren. Zusätzlich werden Call-Graphs für Skriptabhängigkeiten als visuelle Diagramme dargestellt, und Layouts können als SVG-Vorschau gerendert werden.
Alle Darstellungen werden durch pure SQL-Abfragen erzeugt, eine kleine React-Anwendung stellt die Ergebnisse dar und macht sie navigierbar.
Raycast-Plugin für Tastaturzugriff
Ergänzend zum Web-Interface zeigte Marcel ein Raycast-Plugin, das ebenfalls auf das REST-API zugreift. Per Tastendruck ist der gesamte Objektkatalog durchsuchbar — praktisch für die tägliche Entwicklungsarbeit, wenn man schnell etwas nachschlagen möchte, ohne eine separate Anwendung öffnen zu müssen. Raycast ist per Hotkey sofort verfügbar, mit wenigen Tastatur-Aktionen kommt man schnell zum gewünschten Ergebnis. Auch hier ist eine Filterung nach Objekttyp oder Datei möglich. Suchergebnisse erscheinen in Echtzeit. Per Pfeiltasten kann man schnell rekursiv durch den Script-Baum navigieren.
Von der Code-Analyse zur Code-Generierung
Ein reales Beispiel aus der Praxis: Eine defekte USt-IdNr-Prüfschnittstelle zum Bundeszentralamt für Steuern musste repariert werden. Der bisherige Endpunkt war stillgelegt worden, ohne dass die Anwender der Lösung im Vorfeld informiert wurden. Claude Code identifizierte durch einfache Nachfrage über den Zugriff auf den Objekt-Katalog per DuckDB innerhalb einer Minute alle relevanten Skripte und Module. Er verstand die Business-Logik, analysierte das Problem und recherchierte eigenständig die Online-Dokumentation der neuen Schnittstelle, welche von XML-RPC auf REST-API umgestellt wurde.
Aus einer Swagger-Datei vom Bundesamt wurde ein CURL-Snippet erstellt aus welchem Claude innerhalb von wenigen Minuten ein neues FileMaker-Script erstellt. Claude schlug vor, statt der nativen FileMaker CURL-Befehle die flexibleren MBS-Befehle zu verwenden und generierte den passenden Code. Per XML-Snippet-Konvertierung wurde das Skript direkt in den FileMaker Script Workspace übertragen — nach insgesamt 15 Minuten war die Lösung lauffähig. Unter bisherigen Bedingungen wäre dies eine Aufgabe, die mindestens einen halben Tag Arbeit eines erfahrenen Entwicklers bedeutet hätte.
Das Besondere dabei, der gesamte Ablauf – von der Eingabe der Anforderung direkt aus einem User-Ticket per eMail, über die Code-Analyse, Recherche der benötigten Dokumentation, Spezifikation einer neuen Lösung bis zur fertigen Implementierung – wurde durch Claude Code auf Basis weniger Anweisungen und Rückfragen erledigt.
Grundlagen
Wie ist es möglich, dass ein AI Agent quasi einen Entwickler ersetzt, noch dazu mit Spezialwissen zu FileMaker und Funktionen des MBS-Plugins?
Die Grundlage dafür besteht aus mehreren Zutaten:
- Bereitstellung der gesamten Struktur-Informationen der FileMaker Lösung, inkl. Datenbank-Schema, TOs, Scripts im Klartext, Custom-Functions, Layouts und allen internen Referenzen, welche aus dem XML-Export über DuckDB abrufbar sind.
- Bereitstellung der gesamten Claris FileMaker Dokumentation und MBS-Dokumentation mit tausenden von Seiten als lokal lesbare HTML-Dokumente für die Recherchen des Agents.
- Komplette Script-Step Referenz mit ID und Klarnamen aller FileMaker Script-Befehle.
- Beispiel XML-Snippets für unterschiedliche Objekt-Typen.
- CLAUDE.md Datei und SKILL-Dateien mit spezifischen Informationen zum Zugriff auf Lösungsinformation und Dokumentation sowie Anleitung zur Vorgehensweise für Code-Analyse und Code-Erzeugung.
- Eigener SKILL für die Konvertierung von Pseudo-Code in FileMaker XML-Snippets, welche über die Zwischenablage in die FileMaker Lösung eingesetzt werden können.
- Alle übrigen Claude Tools wie Bash-Commands, Online-Recherche, Erstellung von SQL-Queries und Python-Code bei Bedarf.
Ausblick
Marcel kündigte ein geplantes Open-Source-Projekt auf GitHub an, um die DuckDB Lösung zusammen mit wiederverwendbaren Skills und Templates für die Community bereitzustellen. Das Ziel: eine gemeinsame Engine, die mit dem gesammelten Wissen der FileMaker-Community arbeitet — inklusive aller Dokumentationen von Claris und MBS — und damit die KI-gestützte FileMaker Entwicklung für alle zugänglich macht.