> For the complete documentation index, see [llms.txt](https://did-games.gitbook.io/bonds-modding/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://did-games.gitbook.io/bonds-modding/modders/creating-your-mod-1-the-mod-descriptor.md).

# Creating your mod 1): The mod descriptor

{% hint style="info" %}
As you are likely to have to deal with at least a minimum of JavaScript and JSON for modding Bonds, it is highly recommended you equip yourself with a code editor. If you do not have one, you should install one with strong JavaScript support like [Visual Studio Code](https://code.visualstudio.com/)
{% endhint %}

To start, head to the `mods` folder and create a new folder inside, you can name it whatever you want, but it is sensible to name it according to what your mod does.

Go inside the new folder and create a new `descriptor.json` file, open it and paste the following inside:

```json
{
    "id": "mymod@1.0.0",
    "name": "My mod",
    "scriptsLoadOrder": []
}
```

There are three values you need to edit:

* The `id` value, this is the unique identifier of the mod followed by its version in a `[id]@[version]` format. The version follows the semantic versioning pattern of  `major.minor.patch` . Make sure to pick a unique identifier, as issues may arise if another mod has the same identifier
* The `name` value, this value is the name that will be displayed in the mods menu. It does not need to be unique
* The `scriptsLoadOrder` list. This is an optional list that lets you load script files in a specific order, you can check out the example mod's descriptor to see how it may be used.
