Skip to content

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:

StackStrengthBest for
Symfony Local Serverlightweight, native macOS/Linux performancequick prototyping
ddevreproducible, preconfigured for Shopwareteam setups, multiple projects in parallel
Dockwarealmost identical to the dev environments referenced in plugin READMEsplugin development with make watch-storefront
bash
# 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-setup

Install Guppy

From the project root:

bash
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:clear

Full installation details: Installation.

Storefront watcher

For live reload during SCSS and JS development:

bash
ddev exec bin/watch-storefront.sh

The 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

bash
ddev exec bin/watch-administration.sh

Dev admin at http://localhost:8888.

Build commands

bash
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 cache

Guppy-specific console commands

DmfGuppyTheme registers its own commands that speed up setup:

CommandPurpose
bin/console guppy:theme:createInteractive child-theme skeleton generator.
bin/console guppy:install:pluginsInstalls recommended Guppy plugins via Composer.
bin/console guppy:upgrade:scanChecks 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:

json
{
  "repositories": [
    { "type": "path", "url": "custom/plugins/MyPlugin" }
  ]
}

Then:

bash
ddev composer require myvendor/my-plugin
ddev exec bin/console plugin:refresh
ddev exec bin/console plugin:install --activate MyPlugin

IDE and linters

Most Guppy plugins ship:

  • easy-coding-standard.php (vendor/bin/ecs check src tests)
  • phpstan.neon (vendor/bin/phpstan analyze)
  • Makefile with lint, test, phpunit targets

Example:

bash
cd custom/plugins/DmfGuppyTheme
make lint
make phpunit

Debugging

bash
# 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 -v

Next steps