> For the complete documentation index, see [llms.txt](https://windows.help.formit.autodesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.help.formit.autodesk.com/plugins/how-to-develop-plugins/advanced-development/general-plugin-setup-in-the-manifest.md).

# General Plugin Setup in the Manifest

FormIt plugins are composed of a key core component called a *manifest.json* file.

The manifest file is a [JSON object](http://www.json.org) that tells the FormIt infrastructure what files to fetch and what kind of plugin to create.

### Manifest.json Structure and Properties

A manifest.json file has the following structure. It has additional properties depending on whether it's a [toolbar-based](/plugins/how-to-develop-plugins/additional-development-options/creating-a-toolbar-based-plugin.md) or an [HTML panel-based plugin](/plugins/how-to-develop-plugins/additional-development-options/creating-an-html-panel-plugin.md).

```
{
    "PluginName": "[PluginName]",
    "PluginType": "[PluginType]"
    "PluginDescription": "[PluginDescription]",
    "Scripts": [
        "PLUGINLOCATION/[script1].js",
        "PLUGINLOCATION/[script2].js",
        ...
        "PLUGINLOCATION/[scriptn].js"
    ]
}               
```

A typical plugin includes these JSON properties:

* "PluginName" represents the name of the plugin for internal and most display purposes, including for the [Plugin Manager.](/plugins/how-to-use-plug-ins.md#plugin-manager)
* "PluginType" represents the type of the plugin, letting users know in the [Plugin Manager](/plugins/how-to-use-plug-ins.md#plugin-manager) description what to look for when they install the plugin.
* "PluginDescription" is displayed in the [Plugin Manager](/plugins/how-to-use-plug-ins.md#plugin-manager) to communicate the plugin's capabilities.
* "Scripts" lists the required external scripts associated with the plugin that will be loaded into the FormIt application and can be executed when plugin functionality is invoked.

![](/files/1PQICU5ENU30Jw7Z5McH)

Start your plugin development by creating a manifest.json file in your plugin folder. Next, you'll need to decide whether you are making a toolbar-based or panel-based plugin.

![](/files/Kapl5CWkK1OTh0K1P9af)

**Note:** The use of PLUGINLOCATION throughout the manifest.json file above is essential and is case sensitive. FormIt will replace PLUGINLOCATION with the server location for the plugin.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://windows.help.formit.autodesk.com/plugins/how-to-develop-plugins/advanced-development/general-plugin-setup-in-the-manifest.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
