Skip to main content

Plugin SDK reference

The Plugin SDK is set of commands provided by the package @strapi/sdk-plugin orientated around developing plugins to use them as local plugins or to publish them on NPM and/or submit them to the Marketplace.

The present documentation lists the available Plugin SDK commands. The associated guide illustrates how to use these commands to create a plugin from scratch, link it to an existing project, and publish it.

npx @strapi/sdk-plugin init

Create a new plugin at a given path.

npx @strapi/sdk-plugin init
ArgumentsTypeDescriptionDefault
pathstringPath to the plugin./src/plugins/my-plugin
OptionTypeDescriptionDefault
-d, --debug-Enable debugging mode with verbose logsfalse
--silent-Do not log anythingfalse

strapi-plugin build

Bundle the Strapi plugin for publishing.

strapi-plugin build
OptionTypeDescriptionDefault
--forcestringAutomatically answer "yes" to all prompts, including potentially destructive requests, and run non-interactively.-
-d, --debug-Enable debugging mode with verbose logsfalse
--silent-Do not log anythingfalse
--minify-Minify the outputtrue
--sourcemaps-Produce sourcemapsfalse

Recompiles the plugin automatically on changes and runs yalc push --publish.

For testing purposes, it is very convenient to link your plugin to an existing application to experiment with it in real condition. This command is made to help you streamline this process.

strapi-plugin watch:link
OptionTypeDescriptionDefault
-d, --debug-Enable debugging mode with verbose logsfalse
--silent-Do not log anythingfalse

strapi-plugin watch

Watch the plugin source code for any change and rebuild it everytime. Useful when implementing your plugin and testing it in an application.

strapi-plugin watch
OptionTypeDescriptionDefault
-d, --debug-Enable debugging mode with verbose logsfalse
--silent-Do not log anythingfalse

strapi-plugin verify

Verify the output of the plugin before publishing it.

strapi-plugin verify
OptionTypeDescriptionDefault
-d, --debug-Enable debugging mode with verbose logsfalse
--silent-Do not log anythingfalse