Local Setup
This page covers building a local development environment with Shopware 6.7 and Guppy. Prerequisite: a working Shopware setup. If you don't have one yet, start with the official Shopware installation guide.
Tooling stacks
Three common options, pick by team convention:
| Stack | Strength | Best for |
|---|---|---|
| Symfony Local Server | lightweight, native macOS/Linux performance | quick prototyping |
| ddev | reproducible, preconfigured for Shopware | team setups, multiple projects in parallel |
| Dockware | almost identical to the dev environments referenced in plugin READMEs | plugin development with make watch-storefront |
Recommended setup path (ddev)
# 1. Clone or create your Shopware project
git clone <project-url> shopware-project
cd shopware-project
# 2. Configure and start ddev
ddev config --project-type=shopware6
ddev start
# 3. Composer install
ddev composer install
# 4. Initialise Shopware
ddev exec bin/console system:install --basic-setupInstall Guppy
From the project root:
ddev composer require dmf/sw6-guppy-theme
ddev exec bin/console plugin:refresh
ddev exec bin/console plugin:install --activate DmfSplideSlider
ddev exec bin/console plugin:install --activate DmfGuppyTheme
ddev exec bin/console theme:change
ddev exec bin/console theme:compile
ddev exec bin/console cache:clearFull installation details: Installation.
Storefront watcher
For live reload during SCSS and JS development:
ddev exec bin/watch-storefront.shThe watcher URL appears in the terminal, typically http://localhost:9998.
Watcher exit
Ctrl+C stops the watcher; the original storefront asset setup is not automatically restored, run bin/build-storefront.sh and theme:compile if needed.
Administration watcher
ddev exec bin/watch-administration.shDev admin at http://localhost:8888.
Build commands
ddev exec bin/build-storefront.sh # storefront bundle
ddev exec bin/build-administration.sh # admin bundle
ddev exec bin/build-js.sh # JS-only build (for plugins)
ddev exec bin/console theme:compile # SCSS + theme.json → CSS
ddev exec bin/console cache:clear # clear cacheGuppy-specific console commands
DmfGuppyTheme registers its own commands that speed up setup:
| Command | Purpose |
|---|---|
bin/console guppy:theme:create | Interactive child-theme skeleton generator. |
bin/console guppy:install:plugins | Installs recommended Guppy plugins via Composer. |
bin/console guppy:upgrade:scan | Checks installed Guppy components against a target Shopware version. |
Details and options: see Architecture and Contributing.
Develop a plugin locally
Plugins live under custom/plugins/<PluginName>/. Wire your own plugin in via a Composer path repository to develop in lockstep:
{
"repositories": [
{ "type": "path", "url": "custom/plugins/MyPlugin" }
]
}Then:
ddev composer require myvendor/my-plugin
ddev exec bin/console plugin:refresh
ddev exec bin/console plugin:install --activate MyPluginIDE and linters
Most Guppy plugins ship:
easy-coding-standard.php(vendor/bin/ecs check src tests)phpstan.neon(vendor/bin/phpstan analyze)Makefilewithlint,test,phpunittargets
Example:
cd custom/plugins/DmfGuppyTheme
make lint
make phpunitDebugging
# Plugin status
ddev exec bin/console plugin:list | grep -i guppy
# Storefront logs
ddev exec tail -f var/log/dev-*.log
# Composer verbose
ddev composer install -vNext steps
- Architecture: folder layout, theme.json model, inheritance order.
- Variables & Tokens: SCSS architecture and tokens.
- Twig Overrides: write your own templates.
- Contributing: branch strategy and PR workflow.