sylius

Implement Sylius plugins with Symfony bundle setup and API Platform exposure.

1|Updated Apr 25, 2026
One-click install
npx skills add https://github.com/biggora/e-commerce-plugin-skills --skill sylius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sylius
Source: https://github.com/biggora/e-commerce-plugin-skills/tree/main/skills/sylius
Command: npx skills add https://github.com/biggora/e-commerce-plugin-skills --skill sylius

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Sylius plugin development can be slow and error-prone when you need to correctly follow Symfony bundle patterns, register resources, extend forms/templates, and integrate with API Platform and the admin UI without breaking multi-channel behavior.

Core Features & Use Cases

  • Sylius plugin architecture guidance: Understand how a Sylius plugin is structured as a Symfony bundle distributed via Composer, including configuration, services, doctrine mappings, grids, routing, templates, and optional migrations.
  • Resource model & CRUD integration: Set up Sylius ResourceBundle resources so your entities automatically get controllers, factories, repositories, forms, and admin routing patterns.
  • Extension mechanisms: Use service decoration, form type extensions, template events (Twig blocks), and event listeners to customize behavior while staying compatible with Sylius updates.
  • API Platform integration: Expose plugin entities via REST/GraphQL using serialization groups, custom operations, providers, and processors following Sylius 1.13+/2.0 conventions.
  • Development practices & guardrails: Avoid common anti-patterns (controller overriding, hardcoding entity classes, bypassing the resource layer), and follow testing setup guidance (Behat, PHPSpec, PHPUnit) for reliable plugin iteration.

Quick Start

Use the sylius skill to build a new Sylius plugin bundle that registers a resource, adds admin UI template-event blocks, and exposes the resource through API Platform for both shop and admin contexts.

Frequently Asked Questions about sylius

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Sylius plugin as a Symfony bundle without overriding core controllers?

To build a Sylius plugin, structure it as a Symfony bundle and use safe extension patterns like service decoration, form type extensions, and Twig template events instead of brittle controller overrides. This approach ensures your customizations remain compatible with future Sylius updates.

How do I register a custom resource in Sylius to automatically get CRUD controllers and forms?

Registering a custom resource in Sylius uses the ResourceBundle to automatically generate controllers, factories, repositories, forms, and admin routing patterns. You need to define your entity and interface, then configure the resource routing to enable automatic CRUD integration.

What is the correct way to expose Sylius plugin entities via API Platform and GraphQL?

Exposing Sylius plugin entities via API Platform involves configuring REST and GraphQL operations using serialization groups, custom providers, and processors. Following Sylius 1.13+ conventions ensures your plugin resources are correctly exposed for both shop and admin contexts.

Does Sylius plugin development require ResolveTargetEntityListener for Doctrine ORM mapping?

Yes, Sylius plugin development uses ResolveTargetEntityListener to resolve entity interfaces during Doctrine ORM mapping. This mechanism allows your plugin to define custom entities that correctly map to Sylius core interfaces without hardcoding entity classes.

What's the best way to customize the Sylius admin grid and forms for a new plugin resource?

The best way to customize Sylius admin grids and forms is using native extension mechanisms like form type extensions and Twig admin template events. This approach safely modifies the admin UI while keeping your plugin compatible with multi-channel behaviors and core updates.

Why does my Sylius plugin break multi-channel awareness when extending core services?

Sylius plugins break multi-channel awareness when bypassing the resource layer or incorrectly decorating services. Following Sylius best practices, such as using correct factory usage and safe extension patterns, prevents multi-channel issues and maintains proper architectural boundaries.