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
  • Automatische Code-Korrekturen 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 ./path/to/extension

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

shopware-cli account producer extension info push ./path/to/extension

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 kann Erweiterungs-Assets vollständig isoliert ohne die Shopware-Codebasis erstellen. Standardmäßig verwendet sie Webpack, aber Sie können esbuild (einen Go-basierten Bundler) für deutlich schnellere Builds aktivieren, indem Sie dies in die .shopware-extension.yml Ihrer Erweiterung einfügen:

# .shopware-extension.yml - esbuild für schnellere Builds aktivieren
build:
  zip:
    assets:
      enable_es_build_for_admin: true
      enable_es_build_for_storefront: true
# Erweiterungs-Assets erstellen (sowohl Admin als auch Storefront)
shopware-cli extension build ./path/to/extension

Mit aktiviertem esbuild sinken die Build-Zeiten 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 https://your-shop.example.com

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

Der extension zip-Befehl behandelt Dateiausschlüsse automatisch, während das --release-Flag release-spezifische Vorbereitung hinzufügt:

  • Schließt Entwicklungsdateien, node_modules und unnötige Verzeichnisse aus der ZIP aus
  • Führt extension prepare aus, um Composer-Abhängigkeiten zu installieren und aufzuräumen
  • Entfernt App-Secrets aus manifest.xml (kritisch für Shopware Apps)
  • Generiert Changelog für das Release

Lokale Validierung vor dem Upload

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

# Erweiterung lokal validieren
shopware-cli extension validate ./path/to/plugin

Dies führt Validierungsprüfungen gegen Ihre Erweiterung durch:

  • 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

CI/CD-Builds in einem Befehl

Traditionelle Shopware-Projekt-Builds erfordern das Ausführen mehrerer Befehle nacheinander: composer install, Asset-Kompilierung, Dateiaufräumung und Cache-Aufwärmung. Die CLI konsolidiert dies in einen einzigen CI-optimierten Befehl:

# Shopware-Projekt für CI/CD-Deployment erstellen
shopware-cli project ci

# Dies automatisch:
# 1. Installiert Composer-Abhängigkeiten
# 2. Erstellt Administration- und Storefront-Assets
# 3. Räumt unnötige Dateien auf
# 4. 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. Automatische Code-Korrekturen 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.

Automatische Code-Korrekturen mit shopware-cli

Die CLI enthält integrierte automatische Code-Korrektur, die 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 projektweite Korrekturen erkennt die CLI automatisch Ihre Ziel-Shopware-Version aus composer.json und wendet entsprechende Upgrade-Regeln an:

# Gesamtes Shopware-Projekt korrigieren
shopware-cli project fix

# Spezifische Erweiterung korrigieren
shopware-cli extension fix ./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:

  • Ollama (Standard) - Führen Sie LLMs lokal aus, optional OLLAMA_HOST
  • OpenAI - Benötigt OPENAI_API_KEY
  • Google Gemini - Benötigt GEMINI_API_KEY
  • OpenRouter - Multi-Modell-API-Zugriff, benötigt OPENROUTER_API_KEY

Kritische Warnung: Automatische Code-Korrektur ä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

Vorauthentifizierter Admin-API-Zugriff

Beim Debuggen von API-Problemen oder der Skripterstellung von Admin-Operationen ist das manuelle Einholen von OAuth-Tokens mühsam. Die CLI bietet eine vorauthentifizierte curl-Schnittstelle zur Admin-API:

# Admin-API ohne manuelle Authentifizierung abfragen
shopware-cli project admin-api GET /api/product

# Ressourcen über API erstellen
shopware-cli project admin-api POST /api/product '{"name": "Test"}'

# Nur den Access-Token für andere Tools abrufen
shopware-cli project admin-api --output-token

Dies behandelt die OAuth-Token-Generierung automatisch und ist ideal für schnelle API-Abfragen während der Entwicklung oder zum Scripting von Batch-Operationen.

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

Projektkonfiguration mit YAML

Die CLI verwendet eine .shopware-project.yml-Datei zur Verwaltung der Projektkonfiguration, einschließlich Datenbank-Dump-Regeln, Deployment-Einstellungen und Erweiterungs-Synchronisation:

Projektkonfiguration initialisieren:

shopware-cli project config init

Dies erstellt eine .shopware-project.yml in Ihrem Projektstamm. Sie können Datenbank-Dump-Anonymisierungsregeln, Erweiterungs-Synchronisationseinstellungen und andere projektspezifische Standardwerte in dieser Datei konfigurieren.

Dieser Ansatz macht die Projektkonfiguration versionskontrollierbar und konsistent über Entwicklungsumgebungen hinweg.

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

  • ✓ Automatische PHP-Korrekturen (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