# Initialization

{% hint style="warning" %}
Make sure you run `npm install` in the `/plugins` directory in HollaEx Kit **before** any other steps.
{% endhint %}

To start the development process, you need to initialize the plugin template. This template includes the folder structure and some pre-defined configurations to facilitate the development experience.&#x20;

Below is a list of available plugin templates:

<table><thead><tr><th width="223">Type</th><th>Template Details</th></tr></thead><tbody><tr><td><code>page</code></td><td>adds a new page with customizable access from the side and top menus</td></tr><tr><td><code>verification-tab</code></td><td>adds a new verification tab to the user verification page</td></tr><tr><td><code>fiat-wallet</code></td><td>adds a deposit and withdraw page for a fiat currency</td></tr><tr><td><code>kyc</code></td><td>adds KYC tab to the user verification page</td></tr><tr><td><code>bank</code></td><td>adds bank verification tab to the user verification page</td></tr><tr><td><code>raw</code> </td><td>adds a template without initial meta object values</td></tr><tr><td><code>onramp</code></td><td>adds an on-ramp section for the fiat controls feature</td></tr><tr><td><code>app</code></td><td>adds an app view to the apps section tables</td></tr><tr><td><code>server</code></td><td>adds a template without any view (Server-only)</td></tr></tbody></table>

## Initializing the Plugin Template

1. Once you decide on the type of plugin, go to `/plugins` and run `npm run add:plugin --plugin=<PLUGIN_NAME> --type=<PLUGIN_TYPE>` to initialize the plugin template.&#x20;

```
npm run add:plugin --plugin=<PLUGIN_NAME> --type=<PLUGIN_TYPE>
```

This will create a folder named the plugin's name in the `/plugins`  folder.

### Moving Forward - Plugin Components

In order to develop a plugin, we need to understand all the main components of a plugin. These main components of any HollaEx plugin will be looked at in the next sections.

1. [**Plugin config**](/plugins/develop-plugins/advanced/config.md)
2. [**Server script**](/plugins/develop-plugins/advanced/server-script.md)
3. [**Client Web View**](/plugins/develop-plugins/advanced/web-view.md)
4. **Plugin JSON**


---

# Agent Instructions: 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:

```
GET https://docs.hollaex.com/plugins/develop-plugins/advanced/initialization.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
