How to build a Custom Strapi Plugin

This article is a guest post by Anumadu Moses. He wrote this blog post through the Write for the Community program. If you are passionate about everything jamstack, open-source or javascript and want to share, join the writer's guild!

This is a companion discussion topic for the original entry at

Hello, I just want to make sure that I am doing this right. I have created a custom plugin using NPM and it automatically created the cointainer/homepage/index. So far it is working locally but when i push to development the plugin wont show there, do I need to do something before it will show? Also I want to reuse the same plugin that I created to multiple project, what is the more efficient way to do this aside from manual copy pasting the code and etc.

Hello, You can make your custom Strapi plugin readily available through NPM. You can make your plugin a Node.js module that can be easily installed using an NPM command. For more on creating NPM packages, check the following [link][(]. For a hint on the folder structure of Strapi plugins, here is another helpful link Okay. This way you can easily install it using NPM in your other Strapi projects. As for the production issue, It would help if you can provide more details for a clearer understanding but just make sure the path cointainer/homepage/index is inline with what you have in your production environment.