{"id":36,"date":"2018-12-07T12:33:02","date_gmt":"2018-12-07T12:33:02","guid":{"rendered":"https:\/\/local.getflywheel.com\/?page_id=36"},"modified":"2026-06-22T20:28:44","modified_gmt":"2026-06-22T20:28:44","slug":"build","status":"publish","type":"page","link":"https:\/\/localwp.com\/get-involved\/build\/","title":{"rendered":"Build an add-on for Local"},"content":{"rendered":"\n<p class=\"has-text-align-center feature-subtitle wp-block-paragraph\">Contribute to the Local community and craft your&nbsp;own Add-on!<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"create-local-addon\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Quickstart: Create Local Add-on<\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Use the <a rel=\"noreferrer noopener\" href=\"https:\/\/www.npmjs.com\/package\/create-local-addon\" target=\"_blank\">Create Local Add-on<\/a> package to get up-and-running quickly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx create-local-addon<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"documentation\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Documentation<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/\" target=\"_blank\" rel=\"noopener\" class=\"get-involved-intro__btn\">Add-on Docs<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check out the <a href=\"https:\/\/localwp.com\/help-docs\/\" data-type=\"page\" data-id=\"1811\" target=\"_blank\" rel=\"noopener\">Local Add-on Documentation<\/a> to help plan and build your Add-on.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"> <a href=\"https:\/\/localwp.com\/help-docs\/designing-your-add-on\/ui-components\/\" class=\"get-involved-intro__btn\">Components<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/localwp.com\/help-docs\/designing-your-add-on\/ui-components\/\" target=\"_blank\" rel=\"noopener\">Local Component Library<\/a> to become familiar with all the components that are available for you to use.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/add-on-api\/\" class=\"get-involved-intro__btn\">Typescript API<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dive into the <a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/add-on-api\/\" target=\"_blank\" rel=\"noopener\">Add-on Typescript API<\/a> to discover all the tools available for your Add-on.<\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"resources\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Resources<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"123\" height=\"163\" src=\"https:\/\/localwp.com\/wp-content\/uploads\/2021\/03\/local-icon-doc.png\" alt=\"\" class=\"wp-image-518\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">How-to Guides<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In-depth guides related to Local Add-ons.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/webdevstudios.com\/2020\/09\/01\/addon-for-local-by-flywheel\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Create an Add-on for Local by Flywheel<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/localwp.com\/help-docs\/designing-your-add-on\/where-should-put-my-add-on\/\">Where should I put my Add-on<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/add-on-structure\/\">Add-on structure<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"221\" height=\"164\" src=\"https:\/\/localwp.com\/wp-content\/uploads\/2021\/03\/local-icon-books.png\" alt=\"\" class=\"wp-image-519\" style=\"height:163px\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Components Library<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Local&#8217;s UI components for use in Add-ons.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/localwp.com\/help-docs\/designing-your-add-on\/ui-components\/\" target=\"_blank\" rel=\"noopener\">Interactive Style Guide<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.npmjs.com\/package\/@getflywheel\/local-components\" target=\"_blank\">Package on npmjs.com<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"96\" height=\"170\" src=\"https:\/\/localwp.com\/wp-content\/uploads\/2021\/03\/local-icon-plug.png\" alt=\"\" class=\"wp-image-520\" style=\"width:96px;height:163px\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Example Add-ons<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Examine the source code of Add-ons in the Add-on Library.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-notes\" target=\"_blank\">Notes<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-xdebug-phpstorm\" target=\"_blank\">XDebug + Phpstorm<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/pixeljar\/local-addon-xdebug-vscode\" target=\"_blank\">XDebug + VS Code<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-image-optimizer\" target=\"_blank\">Image Optimizer<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/aubreypwd\/local-tableplus\/\" target=\"_blank\" rel=\"noreferrer noopener\">TablePlus<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/localwp.com\/wp-content\/uploads\/2021\/02\/local-classic-icon.png\" alt=\"\" class=\"wp-image-492\" style=\"width:128px;height:128px\" srcset=\"https:\/\/localwp.com\/wp-content\/uploads\/2021\/02\/local-classic-icon.png 512w, https:\/\/localwp.com\/wp-content\/uploads\/2021\/02\/local-classic-icon-300x300.png 300w, https:\/\/localwp.com\/wp-content\/uploads\/2021\/02\/local-classic-icon-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n<div id=\"local-classic\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Add-ons for Local Classic<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p class=\"wp-block-paragraph\">Older versions of Local made use of Docker. Because of this, many of the Add-ons that were created for Local Classic are no longer useful. The links in this section are meant for reference only.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more information about Local Classic reaching it&#8217;s end-of-life and how to migrate to Local Lightning, see this help doc:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/localwp.com\/help-docs\/getting-started\/migrating-from-local-by-flywheel-to-local-lightning\/\">Migrating from \u201cLocal Classic\u201d to \u201cLocal Lightning\u201d<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example Add-ons<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">While these add-ons won&#8217;t break on recent versions of Local (+5.0.x), they were built for when Local made use of Docker and linked for reference only.<\/p>\n\n\n\n<ul id=\"block-62dcb2bf-46c6-4955-b3d7-95302c7ac281\" class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-volumes\" target=\"_blank\">Volumes<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-stats\" target=\"_blank\">Stats<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getflywheel\/local-addon-ports\" target=\"_blank\">Ports<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Community Guides<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These community-created guides are for building Add-ons for Local Classic.<\/p>\n\n\n\n<ul id=\"block-70df5d10-940e-4afa-a86f-43fa9e52649d\" class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/deliciousbrains.com\/creating-custom-addon-local-flywheel\/\" target=\"_blank\">Creating an add-on (Delicious Brains)<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Contribute to the Local community and craft your&nbsp;own Add-on! Quickstart: Create Local Add-on Use the Create Local Add-on package to get up-and-running quickly: Documentation Add-on Docs Check out the Local Add-on Documentation to help plan and build your Add-on. Components Use the Local Component Library to become familiar with all the components that are available&#8230;<\/p>\n","protected":false},"author":49,"featured_media":0,"parent":34,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/build.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-36","page","type-page","status-publish","hentry"],"acf":[],"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/pages\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":0,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/pages\/36\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/pages\/34"}],"wp:attachment":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/media?parent=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}