ENTWICKLUNGSTOOLS

Shopware CLI: Komplette Entwickler-Workflow-Anleitung

Von Huzaifa Mustafa 12 Min. Lesezeit 27. November 2025

Kurze Antwort

Die shopware-cli ist ein Go-basiertes Kommandozeilen-Tool, das die Shopware-Entwicklung optimiert, indem es repetitive Aufgaben automatisiert. Es ist Shopware-Versionsunabhängig und bietet vier wesentliche Vorteile:

  • Automatisierte Erweiterungs-Uploads, Store-Seitenverwaltung und Changelog-Generierung aus Git-Commits
  • Eigenständige Erweiterungs-Builds mit esbuild (drastisch schneller als traditionelle Builds), wobei der Admin-Watcher in unter einer Sekunde startet
  • Automatisches Code-Refactoring für Shopware-Versions-Upgrades mit Rector, ESLint und KI-gestützter Twig-Template-Migration
  • Einheitliche Projekt-Deployment-Befehle für Initialisierung, Abhängigkeitsverwaltung und Cache-Aufwärmung

Wenn Sie Erweiterungen manuell in den Shopware Store hochladen, auf langsame Builds warten oder bei jedem Deployment mehrere Befehle ausführen, verschwenden Sie wertvolle Entwicklungszeit. Die shopware-cli behebt diese Probleme mit einem einzigen, versionsunabhängigen Tool.

Dieser Leitfaden behandelt die praktischen Workflows, bei denen shopware-cli die meiste Zeit spart, von der Erweiterungsentwicklung und Store-Verwaltung bis hin zum automatisierten Refactoring und Projekt-Deployment.

1. Automatisierung der Plugin-Store-Verwaltung

Warum manuelle Uploads ineffizient sind

Der traditionelle Plugin-Upload-Prozess erfordert die Anmeldung bei account.shopware.com, die Navigation durch mehrere Seiten, das manuelle Hochladen von ZIP-Dateien, das Ausfüllen von Formularen und das Kopieren von Changelogs. Für Entwickler, die häufig Updates veröffentlichen, wird dies zu einem erheblichen Zeitfresser.

Automatisierte Uploads über CLI

Die CLI eliminiert den manuellen Upload-Prozess vollständig:

# Ein Plugin in den Shopware Store hochladen
shopware-cli account producer extension upload path/to/plugin.zip

Für die CI/CD-Integration erstellen Sie einen dedizierten Shopware-Konto-Benutzer mit API-Anmeldedaten. Speichern Sie diese als Umgebungsvariablen, um interaktive Eingabeaufforderungen zu vermeiden:

# Umgebungsvariablen in Ihrer CI-Pipeline setzen
export SHOPWARE_CLI_ACCOUNT_EMAIL="ci-user@yourcompany.com"
export SHOPWARE_CLI_ACCOUNT_PASSWORD="your-token"

# Upload läuft nicht-interaktiv in CI
shopware-cli account producer extension upload dist/plugin.zip

Store-Seiten mit YAML-Konfiguration verwalten

Anstatt Plugin-Beschreibungen, Highlights und Tags manuell über die Weboberfläche zu bearbeiten, können Sie mit der CLI alles über eine lokale YAML-Datei verwalten:

Aktuelle Store-Konfiguration abrufen:

shopware-cli account producer extension info pull ExtensionName

Dies erstellt eine YAML-Datei mit Titel, Beschreibung, Lokalisierung, Highlights und Tags Ihrer Erweiterung. Lokal bearbeiten, dann Änderungen zurücksenden:

shopware-cli account producer extension info push ExtensionName

Automatisierte Changelog-Generierung aus Git

Das manuelle Schreiben von Changelogs ist mühsam und fehleranfällig. Die CLI kann Changelogs direkt aus Ihrer Git-Commit-Historie mit Regex-Mustern extrahieren:

Konfigurieren Sie ein Regex-Muster, um Ticket-Nummern oder strukturierte Commit-Nachrichten zu extrahieren, und erstellen Sie dann eine Markdown-Vorlage für Ihr Changelog. Dies funktioniert besonders gut, wenn Sie konventionellen Commit-Mustern folgen wie:

feat(SHOP-123): Produktvergleichs-Feature hinzufügen
fix(SHOP-456): Warenkorb-Berechnungs-Rundungsfehler beheben

Die CLI kann diese Muster analysieren und automatisch formatierte Changelogs generieren.

Profi-Tipp: Richten Sie Ihre CI/CD-Pipeline ein, um das Changelog automatisch zu generieren, die Plugin-ZIP zu validieren und in den Store hochzuladen, wenn Sie ein Release taggen. Dies erstellt einen vollautomatischen Release-Workflow, der keine manuelle Intervention erfordert.

2. Schnelleres Erstellen von Erweiterungs-Assets

Die traditionelle Build-Herausforderung

Das Erstellen von Erweiterungs-Assets erforderte traditionell die vollständige Shopware-Codebasis, um Importe und Abhängigkeiten aufzulösen. Dies machte Builds langsam und stark mit Ihrer Shopware-Version gekoppelt. Beachten Sie, dass Shopware 6.7 von Webpack zu Vite für Core-Administration-Builds gewechselt hat, aber die Prinzipien langsamer, abhängigkeitsintensiver Builds bleiben bei traditionellen Ansätzen bestehen.

Eigenständige Builds mit shopware-cli

Die CLI verwendet esbuild, einen Go-basierten Bundler, der Erweiterungs-Assets vollständig isoliert erstellt. Im Gegensatz zu traditionellen Builds benötigt sie überhaupt keine Shopware-Codebasis:

# Erweiterungs-Assets erstellen (sowohl Admin als auch Storefront)
shopware-cli extension build ./path/to/extension

# Nur Administration-Assets erstellen
shopware-cli extension build ./path/to/extension --admin-only

Die Build-Zeiten sinken erheblich - von Minuten auf Sekunden in vielen Fällen. Ein dokumentiertes Beispiel zeigt eine Reduzierung der Build-Zeit von 2 Minuten auf 7 Sekunden. Die Leistungsverbesserung ist besonders in CI-Umgebungen spürbar, wo jede Sekunde zählt.

Blitzschnelle Entwicklung mit Admin-Watcher

Für die Administration-Entwicklung bietet die CLI einen Watcher, der in unter einer Sekunde startet (im Vergleich zu deutlich längeren Initialisierungszeiten bei traditionellen Watchern):

# Admin-Watcher mit Hot-Reload starten
shopware-cli extension admin-watch ./path/to/extension

Der Watcher erstellt automatisch nur geänderte Dateien neu und gibt Ihnen nahezu sofortiges Feedback bei der Entwicklung von Admin-Komponenten.

Versionsunabhängige Builds

Da die CLI Assets eigenständig ohne die Shopware-Codebasis erstellt, werden Ihre Builds versionsunabhängig. Das bedeutet:

  • Erweiterungen sind stabiler über mehrere Shopware-Versionen (6.5, 6.6, 6.7+)
  • Sie benötigen keine vollständige Shopware-Installation nur zum Erstellen von Erweiterungs-Assets
  • CI/CD-Pipelines werden einfacher und schneller ohne Shopware-Quellabhängigkeiten
  • Kein Node.js erforderlich - nur npm, wenn Ihre Erweiterung eine package.json mit Abhängigkeiten hat

Hinweis zu Shopware 6.7: Während Shopware Core seit Juni 2025 von Webpack zu Vite für Administration-Builds migriert ist, verwendet shopware-cli weiterhin esbuild für Erweiterungs-Builds. Dieser Ansatz hält Erweiterungs-Builds schnell, eigenständig und versionsunabhängig.

3. Perfekte Plugin-ZIP-Dateien erstellen

Warum manuelle ZIP-Erstellung fehlschlägt

Das manuelle Erstellen einer Plugin-ZIP-Datei ist fehleranfällig. Sie könnten unnötige Dateien wie node_modules einschließen, vergessen, Assets zu kompilieren, oder versehentlich sensible Dateien wie .env einschließen. Jeder dieser Fehler führt dazu, dass die Store-Validierung fehlschlägt.

Automatisierte ZIP-Erstellung mit --release-Flag

Die CLI behandelt alle ZIP-Anforderungen automatisch:

# Eine produktionsreife ZIP-Datei erstellen
shopware-cli extension zip ./path/to/plugin --release

Das --release-Flag automatisch:

  • Entfernt node_modules und vendor Verzeichnisse
  • Schließt Entwicklungsdateien aus (GitHub Actions, Tests usw.)
  • Schließt vorkompilierte Administration- und Storefront-Assets ein
  • Entfernt App-Secrets (für Shopware Apps)

Lokale Validierung vor dem Upload

Vermeiden Sie fehlgeschlagene Uploads, indem Sie Ihr Plugin lokal validieren, bevor Sie es an den Store senden:

# Plugin-ZIP lokal validieren
shopware-cli extension zip validate ./path/to/plugin.zip

Dies führt die gleichen Prüfungen durch, die der Shopware Store durchführt:

  • PHP-Syntax-Validierung mit WebAssembly (keine PHP-Installation erforderlich!)
  • Snippet-Datei-Validierung
  • Anforderungen an Beschreibungslänge (mindestens 150 Zeichen)
  • Erforderliche Metadaten-Felder

Best Practice: Fügen Sie die Validierung Ihrer CI-Pipeline vor dem Upload hinzu. Dies erkennt Probleme frühzeitig und verhindert fehlgeschlagene Releases.

4. Optimiertes Projekt-Deployment

Vom Git-Clone zum laufenden Shop in einem Befehl

Die traditionelle Shopware-Projektinitialisierung erfordert das Ausführen mehrerer Befehle nacheinander: composer install, Datenbank-Setup, Asset-Kompilierung, Dateiaufräumung und Cache-Aufwärmung. Die CLI konsolidiert all dies:

# Ein Shopware-Projekt aus Git-Repository initialisieren
shopware-cli project init

# Dies automatisch:
# 1. Installiert Composer-Abhängigkeiten
# 2. Konfiguriert Datenbankzugriff
# 3. Erstellt Assets (falls erforderlich)
# 4. Räumt Entwicklungsdateien auf
# 5. Wärmt Shopware-Cache auf

Deployment-Optimierungen

Die Projektbefehle der CLI optimieren Deployments automatisch:

  • Entfernt unnötige Dateien und reduziert die Deployment-Größe um etwa 70 Megabyte (signifikant für Docker-Images)
  • Wärmt Cache ordnungsgemäß für Produktionsleistung auf
  • Behandelt Dateiberechtigungen korrekt

Experimentell: Deployment Helper

Die CLI enthält ein experimentelles Deployment-Helper-Composer-Paket, das Shopware-Installationen und -Updates standardisiert:

  • Installiert Erweiterungen in der richtigen Reihenfolge basierend auf dem Plugin-Abhängigkeitsdiagramm
  • Ermöglicht die Definition einmaliger Aufgaben in YAML-Konfiguration, die genau einmal in Produktion ausgeführt werden (nützlich für Datenbankfixes)

5. Automatisches Code-Refactoring für Shopware-Upgrades

Warum Shopware-Versions-Upgrades herausfordernd sind

Beim Upgrade zwischen Shopware-Versionen müssen Sie oft veraltete APIs aktualisieren, Template-Syntax anpassen und Code-Patterns modernisieren. Dies manuell über Hunderte oder Tausende von Dateien zu tun ist fehleranfällig und zeitaufwendig.

Automatisches Refactoring mit shopware-cli

Die CLI enthält integriertes automatisches Refactoring, das Ihre Codebasis beim Upgrade von Shopware-Versionen modernisiert. Sie verwendet branchenübliche Tools:

  • Rector für PHP-Code-Transformationen (Aktualisierung veralteter Methoden, Type-Hints usw.)
  • ESLint für JavaScript-Updates
  • Benutzerdefinierte Regeln für Admin-Twig-Template-Dateien

Verwendung

Für projektweites Refactoring erkennt die CLI automatisch Ihre Ziel-Shopware-Version aus composer.json und wendet entsprechende Upgrade-Regeln an:

# Gesamtes Shopware-Projekt refactorn
shopware-cli project refactor

# Spezifische Erweiterung refactorn
shopware-cli extension refactor ./path/to/extension

Experimentell: KI-gestützte Twig-Template-Upgrades

Die CLI enthält experimentelle LLM-gestützte Twig-Template-Migration, die KI verwendet, um Template-Anpassungen zwischen Shopware-Versionen vorzuschlagen. Dies ist besonders nützlich für komplexe Template-Änderungen, die mit Regex-Regeln schwer zu automatisieren sind.

Unterstützte LLM-Anbieter:

  • Google Gemini (empfohlen für beste Ergebnisse) - Benötigt GEMINI_API_KEY
  • OpenRouter - Multi-Modell-API-Zugriff, benötigt OPENROUTER_API_KEY
  • Ollama - Führen Sie LLMs lokal aus, optional OLLAMA_HOST

Kritische Warnung: Automatisches Refactoring ändert Dateien direkt. Vor der Ausführung:

  • • Arbeiten Sie auf einem Git-Branch oder erstellen Sie ein Backup
  • • Überprüfen Sie alle Änderungen mit git diff
  • • Testen Sie gründlich vor dem Commit
  • • Committen Sie akzeptierte Änderungen und verwerfen Sie unerwünschte

6. Weitere nützliche Features

Öffentliche Tunnel für lokale Entwicklung

Bei der Entwicklung von Zahlungs-Plugins oder Webhook-Integrationen benötigen Sie eine öffentlich zugängliche URL zum Testen. Die CLI bietet diese Funktionalität:

# Einen öffentlichen Tunnel zu Ihrer lokalen Shopware-Instanz erstellen
shopware-cli project tunnel

Dies erstellt eine temporäre öffentliche URL, die Anfragen an Ihre lokale Entwicklungsumgebung weiterleitet, perfekt zum Testen von Zahlungsanbieter-Webhooks.

Anonymisierte Datenbank-Dumps

Erstellen Sie MySQL-Dumps mit anonymisierten Kundendaten, ohne dass MySQL lokal installiert sein muss:

# Einen anonymisierten Datenbank-Dump erstellen
shopware-cli project dump --anonymize

Konfigurationsverwaltung mit YAML

Verwalten Sie Shopware-Systemkonfiguration, Theme-Konfiguration und Mail-Templates mit YAML-Dateien anstatt durch die Admin-Oberfläche zu klicken:

Aktuelle Konfiguration abrufen:

shopware-cli project config pull

YAML-Datei bearbeiten, dann Änderungen pushen:

shopware-cli project config push

Dieser Ansatz macht Konfiguration versionskontrollierbar und über CI/CD bereitstellbar.

Erste Schritte mit shopware-cli

Installation

Die CLI wird als einzelne Binärdatei ohne Abhängigkeiten verteilt. Laden Sie von den offiziellen GitHub-Releases herunter:

# macOS (Homebrew)
brew install shopware/tap/shopware-cli

# Linux (Binärdatei herunterladen)
curl -L https://github.com/shopware/shopware-cli/releases/latest/download/shopware-cli-linux-amd64 -o shopware-cli
chmod +x shopware-cli
sudo mv shopware-cli /usr/local/bin/

# Windows (von Release-Seite herunterladen)
# Besuchen Sie: https://github.com/shopware/shopware-cli/releases

Erste Schritte

  1. Mit Ihrem Shopware-Konto authentifizieren:
    shopware-cli account login
  2. Zu Ihrem Plugin-Verzeichnis navigieren und Assets erstellen:
    shopware-cli extension build .
  3. Eine produktionsreife ZIP-Datei erstellen:
    shopware-cli extension zip . --release

Zusammenfassung: Wann shopware-cli verwendet werden sollte

Erweiterungsentwicklung

  • ✓ Schnelle Asset-Builds mit esbuild
  • ✓ Admin-Watcher für Entwicklung
  • ✓ Automatisierte ZIP-Erstellung
  • ✓ Lokale Validierung vor Upload

Store-Verwaltung

  • ✓ Automatisierte Erweiterungs-Uploads
  • ✓ YAML-basierte Store-Seitenkonfiguration
  • ✓ Git-basierte Changelogs
  • ✓ CI/CD-Integration

Versions-Upgrades

  • ✓ Automatisches PHP-Refactoring (Rector)
  • ✓ JavaScript-Updates (ESLint)
  • ✓ Twig-Template-Migration
  • ✓ KI-gestützte Template-Upgrades

Projekt-Deployment

  • ✓ Ein-Befehl-Initialisierung
  • ✓ Optimierte Builds
  • ✓ Konfigurationsverwaltung
  • ✓ Datenbank-Anonymisierung

Die shopware-cli eliminiert repetitive manuelle Arbeit und lässt Sie sich auf die Lösung tatsächlicher Entwicklungsprobleme konzentrieren. Wenn Sie sie noch nicht verwenden, beginnen Sie mit den Asset-Build-Befehlen, um sofortige Leistungsverbesserungen zu sehen.

Benötigen Sie Hilfe bei der Optimierung Ihres Shopware-Workflows?

Egal ob Sie benutzerdefinierte Plugins entwickeln, Projekte migrieren oder Deployments optimieren - erhalten Sie fachkundige Beratung von einem zertifizierten Shopware-Entwickler.

Jetzt Beratung anfragen