Shopware CLI is a command line companion for common Shopware account, project, and extension workflows.
- What it helps with
- Highlights
- Install
- Usage
- Repository Layout
- Official Agent Skills
- Documentation
- Contributing
- License
Use this CLI to create and set up Shopware projects, manage Shopware accounts, build and validate extensions, automate project maintenance, or run everyday developer tasks without leaving the terminal.
- Installation, initialization, and migration wizards for creating new Shopware projects or moving existing projects into the local development setup
- Integrated Docker-based local development environment with an interactive terminal user interface (TUI)
- Daily development loop support from one place: start environments, run watchers, check logs, access database and mail tools
- Project automation commands for config, cache, admin, storefront, and CI workflows
- Account-related commands under
shopware-cli account - Extension build, validation, formatting, changelog, and packaging helpers
- Non-interactive mode for scripts and CI
go install github.com/shopware/shopware-cli@latestgit clone https://github.com/shopware/shopware-cli.git
cd shopware-cli
go build -o bin/shopware-cli .Show the available commands:
shopware-cli --helpCommon command groups:
shopware-cli account --help
shopware-cli extension --help
shopware-cli project --helpGenerate a CycloneDX SBOM for a project without running the full CI build:
shopware-cli project sbom
shopware-cli project sbom ./my-shop --format cyclonedx-json --output sbom.jsonIf you need CI-friendly behavior, disable prompts:
shopware-cli --no-interaction <command>Silence update notifications for a single command:
shopware-cli --no-update-hintShop URL and Admin API credentials belong under named environments in .config/shopware-project.yml. Project-level keys such as build, dump, docker, and php_version stay at the top level.
environments:
local:
type: local
url: http://127.0.0.1:8000
admin_api:
username: admin
password: shopware
staging:
url: https://staging.example.com
admin_api:
client_id: ...
client_secret: ...Omit -e / --env to target environments.local. Use -e staging (or another name) to target a different environment.
shopware-cli project create and shopware-cli project config init write environments.local. Top-level url and admin_api are deprecated: they are used only when environments.local is absent. When both are present, environments.local wins.
shopware-cli project dump --anonymize rewrites personal data in Shopware core tables. An extension can add its own tables and system config secrets in .config/shopware-extension.yml. A project dump with --anonymize merges those rules from every installed extension. A column already set under dump.rewrite in the project config, or by the built-in rules, is left unchanged. If an extension config cannot be read, or an extension listed in composer.lock cannot be loaded from vendor, the dump stops with an error instead of skipping that extension.
anonymize:
tables:
swag_example_token:
access_token: "''"
email: faker.Internet.Email()
system_config:
- SwagExample.config.clientSecret
- key: SwagExample.config.merchantEmail
value: faker.Internet.Email()
- key: SwagExample.config.environment
value: sandboxtables uses the same column expressions as the project dump.rewrite map. Write "''" to store an empty string and "NULL" to store NULL. system_config matches system_config.configuration_key. A plain key omits that row from the dump. value replaces configuration_value with {"_value": value}. A value that starts with faker. is generated per row. When several extensions remove keys from the same column with JSON_REMOVE, their rules are combined.
To disable update notifications for the current shell session, set:
export SHOPWARE_CLI_NO_UPDATE_NOTIFICATION=trueTo make the setting persistent, add the export command to your shell profile, such as ~/.bashrc or ~/.zshrc.
cmd/: Cobra command groups for account, extension, and project workflowsinternal/: implementation packages for APIs, build steps, validation, TUI, and utilities.github/: automation and workflow definitionsscripts/: repository helper scriptsenv-bridge/: environment bridge helper entrypoint
Shopware CLI maintainers provide official Agent Skills in this repository's skills/ folder. These skills teach compatible AI coding agents how to use Shopware CLI workflows safely and correctly.
Install them with:
npx skills add shopware/shopware-cliAvailable skills:
shopware-cli— Use Shopware CLI for project, extension, and account workflows. Validate, build, format, and troubleshoot extensions. Reason about command safety and side effects.shopware-cli-docker— For Docker-backed projects. Run commands in the correct container, manage development environment lifecycle, and troubleshoot Docker execution.shopware-cli-extension-store— Assess an extension's readiness for Shopware Store distribution. Read-only: classifies metadata, localization, and asset findings against Store requirements and cites a re-checkable source for each, without modifying files.shopware-cli-extension-anonymize— Fill an extension'sanonymizesection in.config/shopware-extension.ymlfrom its tables and system config secrets soproject dump --anonymizeincludes them.
- Official docs: https://developer.shopware.com/docs/products/cli/
Contributions are welcome. If you want to improve commands, docs, or developer workflows, open an issue or send a pull request. See CONTRIBUTING.md.
See LICENSE.