{"id":2696,"date":"2026-06-09T21:54:47","date_gmt":"2026-06-09T21:54:47","guid":{"rendered":"https:\/\/localwp.com\/?p=2696&#038;post_type=help&#038;preview_id=2696"},"modified":"2026-06-29T16:02:02","modified_gmt":"2026-06-29T16:02:02","slug":"building-your-add-on","status":"publish","type":"help","link":"https:\/\/localwp.com\/help-docs\/building-your-add-on\/","title":{"rendered":"Building your Add-on"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Local is powered by Electron\/Node.js. This means all Add-ons interface with Local using a simple JavaScript API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With that in mind, don&#8217;t think Local Add-ons can <em>only<\/em> be JavaScript. Node.js provides robust APIs such as <a href=\"https:\/\/nodejs.org\/api\/child_process.html\"><strong><code>child_process<\/code><\/strong><\/a> which enable executing outside binaries and shell scripts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, thanks to the vast ecosystem of modern JavaScript, you can write your Local Add-on in any language that transpiles to ES5, such as ES6, ES7, or <a href=\"http:\/\/typescriptlang.org\/\"><strong>TypeScript<\/strong><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can get up and running with your new add-on quickly and easily with the <a href=\"https:\/\/github.com\/getflywheel\/create-local-addon\"><strong>Local Add-on Generator<\/strong><\/a>. It is super simple to set up, and can help you start creating your new add-on in no time! It automatically sets up a bare-bones add-on in Local, and shows some helpful tips and examples (many of which are detailed in the following sections) to jumpstart your add-on development.<\/p>\n\n\n<div id=\"help-step-block_b89413620327c6bd065d9f47fc5f95c5\" class=\"help-note-container help-type-info\">\n\t<div class=\"help-icon\">\n\t\t<svg viewBox=\"0 0 512 512\" fill=\"currentColor\"><path fill=\"currentColor\" d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"><\/path><\/svg>\t<\/div>\n    <div class=\"help-text\">\n\t\t<p>The Local Add-on API is always growing! If you need a hook to be added for any reason, please let us know in the <strong><a href=\"https:\/\/localwp.com\/community\/\">Local Community<\/a><\/strong> and we&#8217;ll be happy to work with you.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Contents<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/add-on-structure\/\" data-type=\"help\" data-id=\"2700\">Add-on structure<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/context-api\/\" data-type=\"help\" data-id=\"2708\">Context API<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/using-local-components\/\" data-type=\"help\" data-id=\"2710\">Using local-components<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/content-hooks\/\" data-type=\"help\" data-id=\"2713\">Content Hooks<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/filters\/\" data-type=\"help\" data-id=\"2715\">Filters<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/actions\/\" data-type=\"help\" data-id=\"2718\">Actions<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/add-on-api\/\" data-type=\"help\" data-id=\"2722\">Add-on API<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/localwp.com\/help-docs\/building-your-add-on\/common-parameters\/\" data-type=\"help\" data-id=\"2720\">Common Parameters<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Local is powered by Electron\/Node.js. This means all Add-ons interface with Local using a simple JavaScript API. With that in mind, don&#8217;t think Local Add-ons can only be JavaScript. Node.js provides robust APIs such as child_process which enable executing outside binaries and shell scripts. Also, thanks to the vast ecosystem of modern JavaScript, you can&#8230;<\/p>\n","protected":false},"author":78,"parent":0,"menu_order":23,"template":"","tags":[],"helpcategories":[],"class_list":["post-2696","help","type-help","status-publish","hentry"],"acf":{"help_keywords":""},"_links":{"self":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/help-doc\/2696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/help-doc"}],"about":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/types\/help"}],"author":[{"embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/users\/78"}],"version-history":[{"count":0,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/help-doc\/2696\/revisions"}],"wp:attachment":[{"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/media?parent=2696"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/tags?post=2696"},{"taxonomy":"helpcategories","embeddable":true,"href":"https:\/\/localwp.com\/wp-json\/wp\/v2\/helpcategories?post=2696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}