Reference

komod.json (manifest)

The manifest is produced by the build (from the properties of Package.props) and by kofa-pack; you do not need to edit it by hand. Its structure is still useful, because the installation preview shows it.

{
  "id": "acme.demo.thermostat",
  "version": "1.0.0",
  "displayName": "Termosztát",
  "description": "Hysteresis thermostat: switches the heater based on the temperature.",
  "author": "Acme Ltd.",
  "sdkVersion": "1.0",
  "server": { "assembly": "Acme.Demo.Thermostat.dll" },
  "client": { "assemblies": ["Acme.Demo.Thermostat.Ui.dll"] },
  "komods": [
    {
      "id": "acme.demo.thermostat",
      "displayName": "Termosztát",
      "category": "Controller",
      "vehicleTypes": ["Car", "Sailboat"],
      "ports": [
        { "id": "temperature", "direction": "in", "type": "kofa.scalar/1" },
        { "id": "heater", "direction": "out", "type": "kofa.bool/1" }
      ],
      "defaultSettings": { "targetCelsius": 21, "hysteresisCelsius": 0.5 }
    }
  ]
}
Field Meaning
id, version The package id and its SemVer version.
displayName, description, author For display.
sdkVersion The major version of the SDK the package was built with; KOFA reports compatibility from it.
server.assembly The server assembly (in the server/ folder).
client.assemblies The UI assemblies in load order.
komods[] The package's Komods: ports, category, vehicle type and default settings (read from the code by kofa-pack).

KOFA finds the Komod classes in the server assembly from the [Komod] attribute; they do not have to be listed in the manifest.