main.json
API
The main.json
file contains meta data for the package as a whole, as well as the meta data for the individual modules contained in the package.
main.json
Fields
There are top-level fields that define meta data about the package as whole (such as the package's name, author, etc).
There are also module-level fields that define meta data about each module within the package (such as the module's name, icon, etc).
Top-level fields
id
: A uuid that uniquely identifies the package. You can generate one here: https://www.uuidgenerator.net.title
: The title that is displayed on the module selection screen for this package.description
: The description of the package. Markdown syntax for **bold** and *italic* is supported!author
: Your name.repository
: The repository git link. For example:https://github.com/somiibo/module-package-examples.git
.
Module-level fields
Inside the main.json
, there must be a single module
field which is an array of meta data pertaining to each module in the package
id
: A uuid that uniquely identifies the module. You can generate one here: https://www.uuidgenerator.net.name
: The inner name of the module. Must match the file name in the root folder for this module.title
: The title of the module displayed to the user.description
: The description of the module displayed to the user. Markdown syntax for **bold** and *italic* is supported!icon
: The icon displayed to the user. You can use any free solid FontAwesome icon: https://fontawesome.com/icons?d=gallery&s=solid&m=free.version
: The version of the module. You should update this when you make a change to your module so users are always using your latest version.versionRequired
: The minimum version of Somiibo required to use your package.status
: The status of the module. Can be:online
: the module is available to users.development
: the module is not available to users and listed as under maintenance.offline
: the module is not available to users and listed as offline.url
: The starting page of the module.width
: The width of the module browser window.height
: The height of the module browser window.userAgent
: A custom user agent for the module browser window.