> For the complete documentation index, see [llms.txt](https://docs.hollaex.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hollaex.com/plugins/develop-plugins/development-walkthrough-hello-plugin/configuration.md).

# Configuration

{% hint style="info" %}
Check the ['Advanced/ Config' page ](/plugins/develop-plugins/advanced/config.md)for a more in-depth look at what exactly the `config.json` file is, and a description of the attributes.
{% endhint %}

With the *hello-plugin* created within our HollaEx Kit folder, we can start building the`config.json` file with all the basic information needed, good idea here to get out your IDE of choice.&#x20;

1. Create a file named`config.json` inside the `server/` directory of the newly-created *hello-plugin* plugin.
2. Copy and paste the following code into this newly created file:

<details>

<summary>Click here for the <em>config.json</em> code for <em>hello-plugin</em></summary>

```json
{
    "name": "hello-plugin",
    "version": 1,
    "type": null,
    "author": "You",
    "bio": "A short description",
    "description": "This is a longer description of your first plugin",
	"documentation": null,
	"logo": null,
	"icon": null,
	"url": null,
    "public_meta": {
        "public_message": {
          "type": "string",
          "required": false,
          "description": "I can be seen by anyone!",
          "value": "Hello, this text is from the plugin!"
        }
      },
      "meta": {
        "private_message": {
          "type": "string",
          "required": false,
          "description": "I can only be seen by some!",
          "value": "Hi, this is the secret text from the plugin!"
		}
	},
	"prescript": {
		"install": ["hello-world-npm"],
		"run": null
	},
	"postscript": {
		"run": null
	}
}
```

</details>

<figure><img src="/files/qBVFHtNdNFtYGFRGS4W6" alt=""><figcaption></figcaption></figure>

And that's all for what we need to do on this page!&#x20;

**Continue onto the** [**next step**](/plugins/develop-plugins/development-walkthrough-hello-plugin/scripting.md), or read below for a bit more understanding of what this new *config.json* is actually doing.

## What Did We Just Do?

Looking at the interesting bits of the config.json we can see what we have actually defined.&#x20;

{% hint style="info" %}
Check the list [on this page](/plugins/develop-plugins/advanced/config.md), for full definitions of each element
{% endhint %}

```json
{
  "name": "hello-plugin",
  "version": 1,
  "type": null,
  "author": "You",
  "bio": "A short description",
  "description": "This is a longer description of your first plugin",
    ...
}
```

The top part of the code we see above is fairly simple. We have defined the name, version, and author of the plugin (hello-plugin, on version 1, written by 'You'), as well as created its bio - a quick description, and the description - a more detailed description seen on the plugins page.

{% hint style="info" %}
*Documentation*, *logo*, *icon*, and *url* are all set to null at the moment so we will ignore them for now.
{% endhint %}

```json
{
    ...
    "public_meta": {
      "public_message": {
        "type": "string",
        "required": false,
        "description": "I can be seen by anyone!",
        "value": "Hello, this text is from the plugin!"
      }
    },
    "meta": {
      "private_message": {
        "type": "string",
        "required": false,
        "description": "I can only be seen by some!",
        "value": "Hi, this is the secret text from the plugin!"
      }
    },
    ...
}
```

Moving to the next code chunk, we find `public-meta` and `meta`.

Again for a more in-depth view of what these are, check the [main config page](/plugins/develop-plugins/advanced/config.md). Both`public-meta` and `meta` are core aspects of plugins, so it's good to have a solid understanding of them.

For *hello-plugin,* we have one object within both  `public-meta` and `meta`,  `public-message` and `private_message` respectively, both being fairly similar.

* `type` : This defines the (surprisingly) type of the object, out of four allowed types (`number`, `string`, `boolean`, and `date-time`). In *hello-plugin*, both `public-meta` and `meta objects` will be strings
* `required` : Neither of these values are strictly required for *hello-plugin* to run
* `description` is the description of the values, here we are reminded that `public-meta` is not a secret and `meta` is a secret object.&#x20;
* `value` : Here we find the strings our plugin will actually use. We will see these values actually on the exchange in the appropriate places later.

```json
{
    ...
"prescript": {
    "install": ["hello-world-npm"],
    "run": null
  },
  "postscript": {
    "run": null
  }
    ...
}
```

At the end of our code, we have the `prescript` and `postscript`. In *hello-plugin* all that will be installed is the `hello-world-npm` package before the plugin is live.
