actualNoteContentPart: ## Starting option: Copy a working example to start from
  If you want to write a plugin related to AI (and who doesn't these days?), the best starting point is the [Example AI plugin](https://public.amplenote.com/75h72w8xghmHDdr8p5FiX6fh)  offered by Amplenote. If you have [Amplecap](/help/amplecap_browser_extension_guide)  installed, you can duplicate the code to your own notebook by visiting the note and then choosing the option to "Duplicate note":
  
  
  
  
  
  
  If you don't have Amplecap installed, you can just manually drag through the entire contents of the note, copy your selection, and paste it into a note of your Amplenote account.
  
  ## Starting option: Use our embed repo
  [The amplenote-embed-starter project](https://github.com/alloy-org/amplenote-embed-starter)  can be forked to start creating a product that leverages Amplenote's [powerful embedding framework](https://www.amplenote.com/help/developing_amplenote_plugins#renderEmbed) , which can let you compile React components or render arbitrary Javascript within a note (or the Peek Viewer). 
  
  ## Starting option: From scratch 😰
  If you don't want to copy from the AI plugin, you don't have to: Any note you create can act as a plugin as long as it has a table and a code block in it that validly define a plugin per [the API documentation](https://public.amplenote.com/bz3BbmEWyVevW6LDDuPJDHBJ) . The least you need is a table like the one shown in the screenshot (that gives your plugin a name, description, and whatever settings it will need), and then a code block below it that defines a plugin. That said, we usually recommend starting from an existing plugin so that you have a known quantity you can revert back to if you start getting a Javascript error that is difficult to understand.
  
  ## Iterating on your plugin as you go
  > Fair warning: Iterating on basic plugins is a much slower process than iterating on plugins within an [IDE]()  (Amplenote's core developers use [Webstorm](https://www.jetbrains.com/webstorm/download) , which is [a paid product]() . Visual Studio Code is a popular free product) and Javascript tests. Read more about this "Intermediate-to-Advanced" section when you're ready.
  As you change your plugin, you will want to keep track of whether it is still valid. Here's how:
  Visit Settings -> Plugins
  Search for and select your note from [the list alongside "Add a plugin"](https://images.amplenote.com/b456a2e4-d93b-11ed-b6ce-f2e3384d8128/81fc498e-e2ab-4281-a2fc-ee8499cbce28.png) , then click "Add Plugin" 
  If your plugin has settings, [click the gear icon next to it](https://images.amplenote.com/b456a2e4-d93b-11ed-b6ce-f2e3384d8128/91599d8e-703d-4865-b7b1-241aa9c9c641.png)  and enter your plugin settings
  Now your plugin is installed and configured. When you return to your notebook and open the note containing the plugin, you will see an icon showing the plugin is active:
  
  
  
  
  
  As you begin changing the code for the plugin, the icon will turn red if the code is not currently in a state that can compile:
  
  
  
  
  
  
  ## Something is broken, how do I debug this?
  There are two main flavors of debugging that you may encounter during basic plugin development.
processedNoteContent: ---
  title: Guide to Building/Developing Plugins (Beginner ...
  headers: ## Starting option: Copy a working example to start from
  ---
  Starting option: Copy a working example to start from
  If you want to write a plugin related to AI (and who doesn't these days?), the best starting point is the [Example AI plugin](https://public.amplenote.com)`
    offered by Amplenote. If you have [Amplecap](/help/amplecap_browser_extension_guide)
    installed, you can duplicate the code to your own notebook by visiting the note and then choosing the option to "Duplicate note": If you don't have Amplecap installed, you can just manually drag through the entire contents of the note, copy your selection, and paste it into a note of your Amplenote account. 
  Starting option: Use our embed repo
  [The amplenote-embed-starter project](https://github.com)`
    can be forked to start creating a product that leverages Amplenote's [powerful embedding framework](https://www.amplenote.com)`
   , which can let you compile React components or render arbitrary Javascript within a note (or the Peek Viewer). 
  Starting option: From scratch 😰
  If you don't want to copy from the AI plugin, you don't have to: Any note you create can act as a plugin as long as it has a table and a code block in it that validly define a plugin per [the API documentation](https://public.amplenote.com)`
   . The least you need is a table like the one shown in the screenshot (that gives your plugin a name, description, and whatever settings it will need), and then a code block below it that defines a plugin. That said, we usually recommend starting from an existing plugin so that you have a known quantity you can revert back to if you start getting a Javascript error that is difficult to understand. 
  Iterating on your plugin as you go
  Fair warning: Iterating on basic plugins is a much slower process than iterating on plugins within an IDE  (Amplenote's core developers use Webstorm , which is a paid product . Visual Studio Code is a popular free product) and Javascript tests. Read more about this "Intermediate-to-Advanced" section when you're ready.
  As you change your plugin, you will want to keep track of whether it is still valid. Here's how:
  Visit Settings -> Plugins
  Search for and select your note from the list alongside "Add a plugin" , then click "Add Plugin"
  If your plugin has settings, click the gear icon next to it  and enter your plugin settings
  Now your plugin is installed and configured. When you return to your notebook and open the note containing the plugin, you will see an icon showing the plugin is active:
  As you begin changing the code for the plugin, the icon will turn red if the code is not currently in a state that can compile: 
  Something is broken, how do I debug this?
  There are two main flavors of debugging that you may encounter during basic plugin development.
noteTitle: Guide to Building/Developing Plugins (Beginner to Advanced)