feat(cli): Docker-based dev environment#2286
Conversation
Add comprehensive documentation for the new Manage your Shopware Project
Usage:
shopware-cli project [command]
Available Commands:
admin-api pre authenticated curl interface to the Admin API
admin-build Builds the Administration
admin-watch Starts the Shopware Admin Watcher
autofix Autofix a project
ci Build Shopware in the CI
clear-cache Clears the Shop cache
config Manage the project config
console Runs the Symfony Console (bin/console) for current project
create Create a new Shopware 6 project
doctor Check your Shopware project for potential problems
dump Dumps the Shopware database
extension Manage the extensions of the Shopware shop
fix Fix project
format Format project
generate-jwt Generate a new JWT secret key
image-proxy Start a proxy server for serving images from the public folder
storefront-build Builds the Storefront
storefront-watch Starts the Shopware Storefront Watcher
upgrade-check Check that installed extensions are compatible with a future Shopware version
validate Validate project
worker Run multiple Symfony worker in background.
Flags:
-h, --help help for project
--project-config string Path to config (default ".shopware-project.yml")
Global Flags:
-n, --no-interaction do not ask any interactive questions
--verbose show debug output
Use "shopware-cli project [command] --help" for more information about a command.
development environment introduced in shopware-cli. Covers:
- Interactive DevTUI dashboard with General, Logs, and Config tabs
- Background start/stop via and subcommands
- Setup wizard for projects migrating to dev mode
- command for viewing application logs
- Auto-generated compose.yaml with services, port mappings, and
auto-detection of queue/search dependencies
- Environment executor abstraction (docker, local, symfony-cli)
- Configuration reference for .shopware-project.yml and local overrides
- Troubleshooting guide
Also updates the start-developing guide, CLI index, and helper
commands page to reference the new development environment.
…e.yaml Add a dedicated section explaining that compose.yaml is fully managed by the CLI and will be regenerated, with practical compose.override.yaml examples for common customization use cases (extra env vars, ports, volumes, additional services). Strengthen the troubleshooting entry and config reference section with the same guidance.
The development environment documentation now lives in the main development guide as the primary workflow for developers: - New guides/development/dev-environment.md — comprehensive guide covering DevTUI dashboard, setup wizard, compose.override.yaml pattern, log streaming, configuration reference, troubleshooting - Restructured guides/development/start-developing.md — leads with the dev environment; old make shell workflow moved to legacy note - Updated guides/development/index.md — dev environment in workflow and tooling sections - Updated guides/installation/index.md — replaced make up/setup instructions with shopware-cli project dev as the way to start - Updated guides/installation/project-overview.md — mentions dev environment as standard interaction method - Updated guides/development/tooling/index.md — added dev environment - Slimmed products/cli/project-commands/dev-environment.md to a CLI command reference pointing to the main guide - Updated helper-commands.md to cross-reference the main guide
- Added DevTUI, LavinMQ, lavinmq, adminer, keypress, overridable, runnable, xdebug to .wordlist.txt - Fixed markdown linting: blank lines before code blocks and lists
Replace the brief 'Setup Wizard' section with a comprehensive 'Migrating from Legacy Setups' guide that explains: - What triggers the wizard (compatibility date before 2026-03-01) - Step-by-step walkthrough of each wizard screen - What files are created, updated, or replaced (with a table) - What happens to existing compose.yaml and Makefile - Post-migration steps (composer install if needed, moving customizations to compose.override.yaml)
692d787 to
4ab0c30
Compare
Developer Docs healthcheckStatus: Completed with |
…changes Updates to cli docs to current state
There was a problem hiding this comment.
Pull request overview
Adds documentation for the new Shopware CLI Docker-based Development Environment (DevTUI) and integrates it into the existing installation/development/CLI docs, including a CLI reference page and spellcheck wordlist updates.
Changes:
- Introduces a comprehensive Development Environment guide (
shopware-cli project dev, DevTUI, services, config, migration, troubleshooting). - Adds a CLI reference page for
project dev/project logs, plus cross-links from CLI helper docs and development tooling indexes. - Updates installation and “start developing” docs to prefer the DevTUI workflow over legacy
make-based flows; extends spellcheck wordlist for new terms.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| products/tools/cli/project-commands/helper-commands.md | Adds a Development Environment section and fixes wording/indentation in existing CLI helper docs. |
| products/tools/cli/project-commands/dev-environment.md | New CLI reference page for project dev and project logs, linking to the full guide. |
| products/tools/cli/index.md | Adds the dev environment to the CLI feature list. |
| guides/installation/project-overview.md | Updates “Development tooling” to recommend DevTUI; adjusts examples/wording in tables. |
| guides/installation/index.md | Replaces legacy “finish Docker setup” section with DevTUI-first startup instructions and links. |
| guides/development/tooling/index.md | Adds Development Environment to the official tooling list and cleans up formatting. |
| guides/development/start-developing.md | Reorients the guide around the DevTUI workflow (console, watchers, customization, legacy note). |
| guides/development/index.md | Updates the typical development workflow and tooling section to link Dev Environment + Start Developing. |
| guides/development/dev-environment.md | New detailed Development Environment guide, including migration and configuration reference. |
| .wordlist.txt | Adds new accepted terms (e.g., DevTUI, LavinMQ, xdebug). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | **Volume `my-project_db-data`** | Persistent storage | Stores the MariaDB database files so your data isn't lost when containers are stopped or rebuilt. | | ||
| | **Container `my-project-mailer-1`** | Mailpit service | Captures outgoing emails for local testing. View at `http://localhost:8025`. | | ||
| | **Container `my-project-database-1`** | MariaDB service | Runs the Shopware database. Inside the Docker network, its hostname is `database`. | | ||
| | **Container `my-project-web-1`** | PHP + Caddy web service | Runs Shopware itself and serves the storefront and Admin UI at `http://localhost:8000`. | | ||
| | **Container `my-project-web-1`** | PHP + Caddy web service | Runs Shopware itself and serves the Storefront and Admin UI at `http://localhost:8000`. | | ||
| | **Container `my-project-adminer-1`** | Adminer (DB UI) | Lightweight web interface for viewing and editing your database. Available at `http://localhost:8080`. | |
| | **bin/** | Directory | Executable scripts (e.g., `bin/console` - the main CLI for Shopware/Symfony). | Think of it like `npm run` or `go run` scripts. Use `bin/console` to run commands inside the app. | | ||
| | **compose.yaml** | Docker | Defines the Docker services (web, database, mailpit, etc.). | Equivalent to your project's "infrastructure recipe." | | ||
| | **compose.override.yaml** | Docker | Local overrides for the default Docker Compose stack (e.g., port mappings, extra volumes). | Optional; used to customize or extend services locally. | | ||
| | **composer.json** | PHP dependency manifest | Lists PHP dependencies and metadata (like `package.json`). | `composer install` reads this. | | ||
| | **composer.lock** | Dependency lock file | Locks exact versions of PHP packages. | Don’t edit manually; committed to git. | | ||
| | **composer.lock** | Dependency lock file | Locks exact versions of PHP packages. | Don't edit manually; committed to git. | |
| shopware-cli project dev stop | ||
| ``` | ||
|
|
||
| ## DevTUI Dashboard |
There was a problem hiding this comment.
| ## DevTUI Dashboard | |
| ## Development terminal user interface (TUI) |
|
|
||
| ## DevTUI Dashboard | ||
|
|
||
| The dashboard has three tabs, switched with the number keys or by clicking: |
There was a problem hiding this comment.
| The dashboard has three tabs, switched with the number keys or by clicking: | |
| The dashboard has three tabs, either switched to with the corresponding number key or by using the Tab button. |
|
|
||
| The dashboard has three tabs, switched with the number keys or by clicking: | ||
|
|
||
| ### General Tab (1) |
There was a problem hiding this comment.
| ### General Tab (1) | |
| ### Overview Tab (1) |
|
|
||
| The version parameter can be also `latest` for the latest stable version or `dev-trunk` for the latest development version. | ||
|
|
||
| ## Development Environment |
There was a problem hiding this comment.
| ## Development Environment | |
| ## Development environment |
| Shopware CLI provides a fully integrated Docker-based development environment. See the [Development Environment](../../../../guides/development/dev-environment.md) guide for the full workflow, or the [CLI command reference](./dev-environment.md) for a quick overview. | ||
|
|
||
| ```bash | ||
| # Launch the interactive dashboard |
There was a problem hiding this comment.
| # Launch the interactive dashboard | |
| # Launch the interactive development terminal user interface (TUI) |
| Deprecations | ||
| Deutsch | ||
| DevOps | ||
| DevTUI |
There was a problem hiding this comment.
Tomasz Turkowski (@tturkowski) I dropped this in favor of what it is, a development TUI. We should decide on a naming convention deliberately and think about the schema. Would remove this entry from the list.
|
|
||
| ### Shopware isn't installed | ||
|
|
||
| The DevTUI prompts you to run the installer. It uses `shopware/deployment-helper` to install Shopware with your chosen locale, currency, and admin credentials. |
There was a problem hiding this comment.
| The DevTUI prompts you to run the installer. It uses `shopware/deployment-helper` to install Shopware with your chosen locale, currency, and admin credentials. | |
| The development TUI prompts you to run the installer. It uses `shopware/deployment-helper` to install Shopware with your chosen locale, currency, and admin credentials. |
There was a problem hiding this comment.
| 3. **Admin password** — pre-fills `shopware` (you can change it); stored as credentials in `.shopware-project.yml` | ||
| 4. **PHP version** — reads your `composer.lock` to determine compatible PHP versions and offers the highest supported one as the default (e.g., `8.4`) | ||
| 5. **Profiler** — choose from `none`, `xdebug`, `blackfire`, `tideways`, `pcov`, or `spx` | ||
| 6. **Review** — shows a summary of all your choices before applying changes |
There was a problem hiding this comment.
Doesn't exist
Co-authored-by: somethings <l.apple@shopware.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Summary
Documents the new development environment introduced in (next branch), which adds a fully integrated Docker-based development environment with an interactive terminal dashboard.
Changes
products/cli/project-commands/dev-environment.md— comprehensive guide coveringproject dev,dev start/dev stop,project logs, the DevTUI dashboard, setup wizard, Docker services, environment executors, configuration reference, and troubleshootingproducts/cli/project-commands/helper-commands.md— added Development Environment sectionguides/development/start-developing.md— added "Using the Development Environment" sectionproducts/cli/index.md— added dev environment to feature list