SkillAgentSearch skills...

PluginSkeleton

Skeleton app for Sylius plugin development

Install / Use

/learn @Sylius/PluginSkeleton
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <a href="https://sylius.com" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://media.sylius.com/sylius-logo-800-dark.png"> <source media="(prefers-color-scheme: light)" srcset="https://media.sylius.com/sylius-logo-800.png"> <img alt="Sylius Logo." src="https://media.sylius.com/sylius-logo-800.png"> </picture> </a> </p> <h1 align="center">Plugin Skeleton</h1> <p align="center">Skeleton for starting Sylius plugins.</p>

Documentation

For a comprehensive guide on Sylius Plugins development please go to Sylius documentation, there you will find the <a href="https://docs.sylius.com/plugins-development-guide/how-to-create-a-plugin-for-sylius">Plugin Development Guide</a> - it's a great place to start.

For more information about the Test Application included in the skeleton, please refer to the Sylius documentation.

Quickstart Installation

Run composer create-project sylius/plugin-skeleton ProjectName.

Traditional

  1. From the plugin skeleton root directory, run the following commands:

    (cd vendor/sylius/test-application && yarn install)
    (cd vendor/sylius/test-application && yarn build)
    vendor/bin/console assets:install
    
    vendor/bin/console doctrine:database:create
    vendor/bin/console doctrine:migrations:migrate -n
    # Optionally load data fixtures
    vendor/bin/console sylius:fixtures:load -n
    

To be able to set up a plugin's database, remember to configure your database credentials in tests/TestApplication/.env and tests/TestApplication/.env.test.

  1. Run your local server:

    symfony server:ca:install
    symfony server:start -d
    
  2. Open your browser and navigate to https://localhost:8000.

Docker

  1. Execute make init to initialize the container and install the dependencies.

  2. Execute make database-init to create the database and run migrations.

  3. (Optional) Execute make load-fixtures to load the fixtures.

  4. Your app is available at http://localhost.

Usage

Running plugin tests

  • PHPUnit

    vendor/bin/phpunit
    
  • Behat (non-JS scenarios)

    vendor/bin/behat --strict --tags="~@javascript&&~@mink:chromedriver"
    
  • Behat (JS scenarios)

    1. Install Symfony CLI command.

    2. Start Headless Chrome:

    google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1
    
    1. Install SSL certificates (only once needed) and run test application's webserver on 127.0.0.1:8080:
    symfony server:ca:install
    APP_ENV=test symfony server:start --port=8080 --daemon
    
    1. Run Behat:
    vendor/bin/behat --strict --tags="@javascript,@mink:chromedriver"
    
  • Static Analysis

    • PHPStan

      vendor/bin/phpstan analyse -c phpstan.neon -l max src/  
      
  • Coding Standard

    vendor/bin/ecs check
    

Opening Sylius with your plugin

  • Using test environment:

    APP_ENV=test vendor/bin/console sylius:fixtures:load -n
    APP_ENV=test symfony server:start -d
    
  • Using dev environment:

    vendor/bin/console sylius:fixtures:load -n
    symfony server:start -d
    
View on GitHub
GitHub Stars84
CategoryDevelopment
Updated1mo ago
Forks67

Languages

PHP

Security Score

100/100

Audited on Feb 9, 2026

No findings