shopware6-best-practices

Comprehensive Shopware 6.6+ development best practices for agency developers. Covers backend PHP, storefront Twig/JS, administration Vue.js, app system, integrations, CLI, multi-channel, and DevOps. Triggers on tasks involving plugin development, storefront customization, admin modules, app creation, payment/shipping integrations, or deployment.

bartundmett/skills330 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: shopware6-best-practices
description: Comprehensive Shopware 6.6+ development best practices for agency developers. Covers backend PHP, storefront Twig/JS, administration Vue.js, app system, integrations, CLI, multi-channel, and DevOps. Triggers on tasks involving plugin development, storefront customization, admin modules, app creation, payment/shipping integrations, or deployment.
license: MIT
---

# Shopware 6 Best Practices

Comprehensive best practices guide for Shopware 6.6+ development, designed for AI agents and LLMs helping agency developers. Contains 77 rules across 22 categories, prioritized by impact to guide automated refactoring and code generation.

## When to Apply

Reference these guidelines when:
- Developing custom Shopware 6 plugins
- Creating or modifying Store API or Admin API endpoints
- Working with the Data Abstraction Layer (DAL)
- Implementing event subscribers and decorators
- Configuring message queue handlers
- Writing database migrations
- Optimizing performance (caching, Elasticsearch)
- Implementing security measures
- Writing unit and integration tests
- Customizing storefront templates and JavaScript
- Building administration modules and components
- Creating Shopware apps with webhooks and actions
- Implementing payment or shipping integrations
- Building CMS elements and blocks
- Creating CLI commands for automation
- Setting up multi-channel or B2B shops
- Configuring development environments and CI/CD

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Plugin Architecture | CRITICAL | `plugin-` |
| 2 | Customization & Extension | CRITICAL | `custom-` |
| 3 | Performance & Caching | CRITICAL | `perf-` |
| 4 | Security | CRITICAL | `security-` |
| 5 | Data Abstraction Layer | HIGH | `dal-` |
| 6 | API Development | HIGH | `api-` |
| 7 | Testing | HIGH | `test-` |
| 8 | Event System | MEDIUM-HIGH | `event-` |
| 9 | Database & Migrations | MEDIUM-HIGH | `db-` |
| 10 | Message Queue | MEDIUM | `queue-` |
| 11 | Dependency Injection | MEDIUM | `di-` |
| 12 | Logging | MEDIUM | `logging-` |
| 13 | Configuration | MEDIUM | `config-` |
| 14 | Scheduled Tasks | MEDIUM | `scheduled-` |
| 15 | Storefront Development | HIGH | `storefront-` |
| 16 | Administration Development | HIGH | `admin-` |
| 17 | App System | HIGH | `app-` |
| 18 | Integration Patterns | HIGH | `integration-` |
| 19 | CLI Commands | MEDIUM | `cli-` |
| 20 | Multi-Channel & B2B | MEDIUM-HIGH | `multichannel-` |
| 21 | DevOps & Tooling | MEDIUM | `devops-` |
| 22 | Common Patterns | HIGH | `pattern-` |

## Quick Reference

### 1. Plugin Architecture (CRITICAL)

- `plugin-structure` - Follow proper plugin directory structure and composer.json
- `plugin-services` - Register services correctly with proper tags

### 2. Customization & Extension (CRITICAL)

- `custom-decorator-pattern` - Use decorator pattern for upgrade-safe service customization
- `custom-event-subscribers` - Implement event subscribers correctly with proper priorities

### 3. Performance & Caching (CRITICAL)

- `perf-http-cache` - Configure HTTP cache correctly with proper invalidation
- `perf-dal-optimization` - Optimize DAL queries to prevent N+1 problems
- `perf-elasticsearch` - Use Elasticsearch correctly for large catalogs

### 4. Security (CRITICAL)

- `security-input-validation` - Validate all inputs with RequestDataBag and validators
- `security-authentication` - Implement proper route authentication
- `security-authorization` - Use ACL for permission checks
- `security-csrf-protection` - Implement CSRF protection for storefront
- `security-sql-injection` - Use DAL or parameterized queries

### 5. Data Abstraction Layer (HIGH)

- `dal-criteria-usage` - Use Criteria objects correctly with filters and pagination
- `dal-associations` - Load associations explicitly to avoid N+1 queries
- `dal-write-operations` - Use batch operations and proper sync patterns
- `dal-entity-extensions` - Extend entities without modifying core
- `dal-custom-entities` - Create custom entity definitions properly

### 6. API Development (HIGH)

- `api-store-api-routes` - Create decoratable Store API routes
- `api-admin-api-routes` - Create Admin API endpoints with proper ACL
- `api-response-handling` - Handle responses and errors consistently
- `api-rate-limiting` - Configure rate limiting for protection
- `api-versioning` - Version APIs for backwards compatibility

### 7. Testing (HIGH)

- `test-unit-tests` - Write unit tests with proper mocking
- `test-integration-tests` - Use IntegrationTestBehaviour correctly
- `test-store-api-tests` - Test Store API routes with HTTP tests
- `test-fixtures` - Create reusable test fixtures

### 8. Event System (MEDIUM-HIGH)

- `event-business-events` - Create Flow Builder compatible events
- `event-flow-actions` - Implement configurable flow actions

### 9. Database & Migrations (MEDIUM-HIGH)

- `db-migrations` - Implement safe database migrations

### 10. Message Queue (MEDIUM)

- `queue-message-handlers` - Implement async message handling
- `queue-worker-config` - Configure workers for production
- `queue-low-priority` - Separate low-priority background tasks

### 11. Dependency Injection (MEDIUM)

- `di-service-container` - Use Symfony DI correctly

### 12. Logging (MEDIUM)

- `logging-best-practices` - Implement structured logging

### 13. Configuration (MEDIUM)

- `config-plugin-settings` - Implement plugin configuration correctly

### 14. Scheduled Tasks (MEDIUM)

- `scheduled-tasks` - Implement reliable scheduled tasks

### 15. Storefront Development (HIGH)

- `storefront-controller-pattern` - Extend StorefrontController with page loaders
- `storefront-twig-extension` - Template inheritance with sw_extends and blocks
- `storefront-js-plugins` - JavaScript plugin registration and lifecycle
- `storefront-themes` - Theme structure, inheritance, and configuration
- `storefront-scss-variables` - SCSS variables and responsive mixins
- `storefront-http-client` - AJAX requests and Store API calls from JS

### 16. Administration Development (HIGH)

- `admin-module-structure` - Module registration, routes, and navigation
- `admin-components` - Vue component patterns and templates
- `admin-data-handling` - Repository factory and Criteria API in admin
- `admin-acl-permissions` - ACL-based UI visibility and actions
- `admin-mixins-composables` - Mixins, directives, and extensibility
- `admin-extension-api` - App iframe modules and Extension SDK

### 17. App System (HIGH)

- `app-manifest` - Complete manifest.xml configuration
- `app-webhooks` - Webhook handling and signature verification
- `app-custom-actions` - Action buttons with notifications, modals, redirects
- `app-payment-methods` - App payment handlers for pay/finalize/capture/refund
- `app-custom-fields` - Custom field definitions via manifest
- `app-scripts` - Twig-based app scripts and hook points

### 18. Integration Patterns (HIGH)

- `integration-payment-handler` - Sync/async payment handler patterns
- `integration-shipping-method` - Shipping calculators and delivery times
- `integration-cms-elements` - CMS element creation with data resolvers
- `integration-import-export` - Import/export profiles and converters
- `integration-external-api` - HTTP client patterns with retry and caching

### 19. CLI Commands (MEDIUM)

- `cli-commands` - Custom command creation with arguments and options
- `cli-command-lifecycle` - Configure/initialize/interact/execute lifecycle
- `cli-progress-output` - SymfonyStyle, progress bars, and formatting

### 20. Multi-Channel & B2B (MEDIUM-HIGH)

- `multichannel-saleschannel` - Sales channel awareness and visibility
- `multichannel-b2b-patterns` - Company handling, roles, and budgets
- `multichannel-pricing` - Currency, customer groups, and tax handling
- `multichannel-context` - Context types, scopes, and permissions

### 21. DevOps & Tooling (MEDIUM)

- `devops-development-setup` - Dockware, docker-compose, Makefile patterns
- `devops-deployment` - Deployment scripts, builds, and rollbacks
- `devops-static-analysis` - PHPStan, PHP-CS-Fixer, Rector configuration
- `devops-debugging` - Profiler, Xdebug, logging, and data collectors
- `devops-ci-cd` - GitHub Actions and GitLab CI workflows

### 22. Common Patterns (HIGH)

- `pattern-error-handling` - Custom exceptions and error pages
- `pattern-translations` - Snippets and entity translations
- `pattern-media-handling` - Media service, uploads, and thumbnails
- `pattern-rule-builder` - Custom rule conditions for pricing/shipping
- `pattern-upgrade-migration` - Version-aware code and update migrations

## Core Principles

### The Decorator Pattern is Key

Never modify core files. Always use:
- **Decorators** for services
- **Event subscribers** for hooks
- **Entity extensions** for data

### DAL Over Raw SQL

Use Shopware's Data Abstraction Layer instead of raw SQL:
- Type safety and validation
- Automatic association handling
- Built-in versioning and translation

### Performance First

Shopware can be slow if misused:
- Enable HTTP cache in production
- Use Elasticsearch for 10K+ products
- Load only needed associations
- Use message queue for heavy tasks

## How to Use

Read individual rule files for detailed explanations and code examples:

```
rules/plugin-structure.md
rules/custom-decorator-pattern.md
rules/perf-http-cache.md
rules/security-input-validation.md
rules/dal-criteria-usage.md
```

Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

More Deployment & CI/CD skills

azure-enterprise-infra-planner

microsoft/azure-skills

Architect and provision enterprise Azure infrastructure from workload descriptions. For cloud architects and platform engineers planning networking, identity, security, compliance, and multi-resource topologies with WAF alignment. Generates Bicep or Terraform directly (no azd). WHEN: 'plan Azure infrastructure', 'architect Azure landing zone', 'design hub-spoke network', 'plan multi-region DR topology', 'set up VNets firewalls and private endpoints', 'subscription-scope Bicep deployment', 'Azure Backup for VM workloads'. PREFER azure-prepare FOR app-centric workflows.

387.5k

azure-kubernetes-app-deploy

microsoft/azure-skills

Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.

380.4k

finetuning

microsoft/azure-skills

Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

323.2k

← All Deployment & CI/CD skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY