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.

Example