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:
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.
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.
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
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
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.
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.
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.
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.
Da die CLI Assets eigenständig ohne die Shopware-Codebasis erstellt, werden Ihre Builds versionsunabhängig. Das bedeutet:
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.
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.
Die CLI behandelt alle ZIP-Anforderungen automatisch:
# Eine produktionsreife ZIP-Datei erstellen
shopware-cli extension zip ./path/to/plugin --release
Das --release-Flag automatisch:
node_modules und vendor Verzeichnisse
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:
Best Practice: Fügen Sie die Validierung Ihrer CI-Pipeline vor dem Upload hinzu. Dies erkennt Probleme frühzeitig und verhindert fehlgeschlagene Releases.
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
Die Projektbefehle der CLI optimieren Deployments automatisch:
Die CLI enthält ein experimentelles Deployment-Helper-Composer-Paket, das Shopware-Installationen und -Updates standardisiert:
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.
Die CLI enthält integriertes automatisches Refactoring, das Ihre Codebasis beim Upgrade von Shopware-Versionen modernisiert. Sie verwendet branchenübliche Tools:
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
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:
GEMINI_API_KEYOPENROUTER_API_KEYOLLAMA_HOSTKritische Warnung: Automatisches Refactoring ändert Dateien direkt. Vor der Ausführung:
git diffBei 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.
Erstellen Sie MySQL-Dumps mit anonymisierten Kundendaten, ohne dass MySQL lokal installiert sein muss:
# Einen anonymisierten Datenbank-Dump erstellen
shopware-cli project dump --anonymize
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.
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
shopware-cli account login
shopware-cli extension build .
shopware-cli extension zip . --release
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.
Entdecken Sie weitere Shopware-Entwicklungsthemen:
Egal ob Sie benutzerdefinierte Plugins entwickeln, Projekte migrieren oder Deployments optimieren - erhalten Sie fachkundige Beratung von einem zertifizierten Shopware-Entwickler.
Jetzt Beratung anfragen