Kontakt Architektur-Review anfragen
Dev Talk

Von ExtJS zu Pimcore Studio – komplett agentisch migriert

Unsere Bundles haben wir nicht von Hand auf Pimcore Studio migriert, sondern mit KI-Agenten: Claude Code mit unseren öffentlichen pimcore-skills, jeder Pull Request von einem Entwickler reviewt.

Bildschirm mit farbig hervorgehobenem Quellcode

Pimcore Studio ersetzt die klassische ExtJS-Oberfläche. Für jedes Bundle mit eigener Backend-Oberfläche heißt das: Panels, Grids, Formulare, Bäume und Plugins müssen in React und TypeScript neu entstehen. Bei unseren Bundles wäre das viel Handarbeit gewesen. Wir haben es deshalb nicht von Hand gemacht, sondern mit KI-Agenten.

In diesem Beitrag zeigen wir den Ablauf. Agentische Entwicklung ist bei uns kein Experiment, sondern Alltag, aber mit zwei festen Bausteinen: Skills, die dem Agenten unsere Konventionen mitgeben, und einem Entwickler, der jeden Pull Request reviewt.

Warum ein Agent allein nicht reicht

Ein Sprachmodell kennt Pimcore Studio nur so gut, wie es in seinen Trainingsdaten vorkam. Die Studio-Oberfläche ist neu, ihre Erweiterungspunkte ändern sich, und unsere Bundles folgen eigenen Konventionen. Ohne zusätzliches Wissen rät der Agent, und geratener Code in einer Backend-Oberfläche fällt oft erst im Browser auf.

Deshalb arbeiten wir mit Skills. Ein Skill ist eine Anleitung, die Claude Code bei Bedarf lädt: Aufbau, Konventionen, Beispiele und Checklisten für ein Thema.

Die Skills: pimcore-skills auf GitHub

Unsere Skills sind öffentlich und stehen unter MIT-Lizenz im Repository cors-gmbh/pimcore-skills. Es sind vier:

  • pimcore: Plattformentwicklung mit Bundles, Data Objects, Klassendefinitionen, Events, Workflows, Dokumenten und Assets
  • pimcore-studio: Features für Pimcore Studio mit React, TypeScript und Ant Design
  • pimcore-studio-migrate: Übertragung bestehender ExtJS-Oberflächen nach Studio, mit Migrations-Checkliste
  • coreshop: Erweiterungen für CoreShop

Die Installation ist ein Claude-Code-Plugin:

Shell
/plugin marketplace add cors-gmbh/pimcore-skills
/plugin install pimcore@pimcore-skills
/plugin install coreshop@pimcore-skills

Alternativ kopierst du das Verzeichnis skills/ in den Ordner .claude/skills/ deines Projekts.

Und die Skills von Pimcore

Auch Pimcore selbst stellt Skills für KI-Assistenten bereit: pimcore/skills. Sie sind für Claude Code und OpenCode gedacht und decken die Entwicklung von Bundles und Erweiterungen für Pimcore Studio ab, im Frontend etwa Setup, UI-Komponenten, Erweiterungspunkte, Berechtigungen und i18n, im Backend Controller, Services, DTOs und OpenAPI-Doku. Ein Skill speziell für die Migration von ExtJS ist dort nicht aufgeführt. Genau diese Lücke füllt pimcore-studio-migrate in unseren Skills. Die Installation laut README:

Shell
git clone https://github.com/pimcore/skills.git ~/pimcore-skills
mkdir -p ~/.claude/skills
ln -s ~/pimcore-skills/skills/* ~/.claude/skills/

Beide Sammlungen lassen sich nebeneinander verwenden.

Der Ablauf: Agent baut um, Entwickler reviewt

Die Migration eines Bundles läuft bei uns in festen Schritten:

  1. Bestand erfassen: Der Agent liest die ExtJS-Dateien des Bundles und listet Panels, Grids, Formulare, Trees, Stores und Plugins auf.
  2. Umbauen: Mit dem Skill pimcore-studio-migrate setzt er jede dieser Komponenten in React und TypeScript um und folgt dabei der Checkliste.
  3. Pull Request: Das Ergebnis landet wie jede andere Änderung in einem PR, nicht direkt im Hauptzweig.
  4. Review: Ein Entwickler prüft jeden PR, startet die Oberfläche und testet sie im Browser. Ohne diese Freigabe wird nichts übernommen.

Der Review ist keine Formalität. Der Agent liefert einen Entwurf, die Verantwortung für den Code bleibt beim Team.

Bilanz: Was lief, wo mussten wir nachschärfen

Ehrliche Bilanz mit Material aus dem Team: Was konnte der Agent auf Anhieb (Beispiel-PR, Vorher/Nachher-Screenshots), wo mussten Skills oder Prompts nachgeschärft werden?

Aufwand und Token-Kosten aus Chronos (Zeiterfassung): Zahlen nur mit Beleg einsetzen.

Eines lässt sich unabhängig von Zahlen sagen: Jede Lücke, die uns beim Umbau aufgefallen ist, gehört in den Skill und nicht in den einzelnen Prompt. So profitieren das nächste Bundle und alle, die die Skills nutzen.

Was wir daraus mitnehmen

  • Agentische Entwicklung funktioniert bei uns, weil Wissen (Skills) und Kontrolle (Review) fest eingeplant sind.
  • Die Skills sind öffentlich. Wer Bundles nach Studio migrieren muss, kann sie nutzen und verbessern.
  • Eine Migration ersetzt nicht das Testen. Eine Oberfläche muss ein Mensch geöffnet und bedient haben, bevor sie ausgeliefert wird.

Zum Weiterlesen

Die Skills findest du auf GitHub. Wie wir sonst im Engineering arbeiten und welche Werkzeuge wir öffentlich bereitstellen, steht auf der Seite Engineering.

Georg Wurz
Geschrieben von

Georg Wurz

Technical Lead

Dominik Pfaffenbauer

Dominik Pfaffenbauer

Geschäftsführung & Solution Architecture

Noch Fragen zum Beitrag?

Schreiben Sie uns. Wir helfen bei Bundles, Datenmodell und Architektur Ihrer Pimcore-Plattform.