plentyDevTool user guide

plentyDevTool helps you streamline your plugin development workflow. Synchronise your local files with the ones on your plentymarkets system.


  1. Log in with the PID and valid user credentials of your plentymarkets system.

  2. After logging in for the first time, the Settings menu will open automatically.

  3. Select a local folder. plentyDevTool will use this folder for synchronisation.

The Settings menu will also open if plentyDevTool does not recognize a local path for synchronisation.

Folder structure

When downloading new plugins from remote, plentyDevTool will automatically create new folders in the folder you selected for synchronisation. Folders will be created in the following pattern:

    ├── System_PID/
    │   ├── Set_ID/
    │   │   │
    │   │   ├── Plugin_Name/
    │   │   │
    │   │   ├── Plugin_Name/
    │   │   │
    │   │   └── . . .
    │   └── . . .
    └── . . .

Do not change this structure or the folder names. If you do, plentyDevTool will no longer recognize those systems, plugin sets and plugins locally.

Ignored files

In addition to the folder structure, plentyDevTool generates a plenty.ignore file. Use this file to specify file paths you don’t want to synchronise. You can use the * wildcard operator. By default, the following paths are ignored:

  • */.DS_Store

  • /vendor/

  • /node_modules/

  • /.git/

Changes take effect when you restart the app or change the synchronisation path in the plentyDevTool settings. If you delete the plenty.ignore file, it’s automatically regenerated with the default entries.


You can log into multiple plentymarkets systems at the same time. This is useful if you develop on more than one system and need to switch back and forth between the systems frequently.

To log into an additional system, open a new tab in the system bar. This opens a new login window. In this window, you can enter the credentials of another system. Once you’ve logged in, the system is added as a new tab.

You can switch between systems by clicking on the corresponding tabs.

By closing a tab, you log out of that system.


Before you can start coding, you need to decide which plugins you want to work on. On the left-hand side, open the plugin set which contains the plugin you want to synchronise, then toggle the plugin. You can select as many plugins as you want this way.

Open the Dashboard and Pull (CMD + P / CTRL + P) the plugins. Depending on how many plugins you download or update this way, the process may take a few seconds to complete. If you download a file that has also been modified locally, your local file will be renamed and labeled as backup before the download, allowing you to reconcile the remote and local versions of the file. The renamed file will show up as an addition on the Dashboard.

After you have modified a plugin locally, you can Push (CMD + U / CTRL + U) the changes back to your plentymarkets system. Check the changes you have made on the Dashboard. Note that only changes of plugins toggled active will be pushed to the system. When working on a set that is not linked to a client, you can also trigger a faster, abbreviated version of the plugin build on Push. To do this, activate the plentyDevTool: build automatically toggle in the respective plugin set in the back end. This setting is set dependent, so you can choose to automatically build some sets, but not others.

The auto build is an abbreviated build. It only checks the files changed, but does not validate how they interact with other files. Consequently, the auto build may not show errors that would become apparent in the manual build.

For the differences between the regular build and the abbreviated build, refer to the following table:

Step Full build Abbr. build

Files built



Copy files to deployment directory



Check code of plugins



Copy files to build directory



Publish resources



Reset cache



Update plugin routes cache



Run database migrations



Clean configurations



As indicated in the table, the abbreviated build only processes changed files. It doesn’t validate how these files interact with any other files. Because of this, it cannot catch as many errors as the full build.

Add local plugins

You can not only work on plugins that already exist on your system, but also add new ones locally. Once you have created a plugin folder in one of your set folders and filled it with all relevant files, click Detect new local plugins (CMD + D / CTRL + D) to detect all new plugins. Plugins are not detected if the root namespace of the folder and the name and namespace in the plugin JSON differ.

Click Install to add a plugin for synchronisation.

Best practices

  1. plentyDevTool is not a version control system. Use it in combination with Git, so you can recover previous versions of your work in case anything goes wrong. For further information on how to set up your environment to accomodate both plentyDevTool and version control, see our version control guide.

  2. Note that even though plentyDevTool creates backup versions of local files during Pull, it does not create backups of remote files during Push. This means that once you upload your local files to your plentymarkets system, the respective remote files will be overwritten. It is recommended that you always Pull before you Push.