Machinepack Spec ( X )

Make sure the following properties are in the package.json file for your machinepack.

This is an interactive guide to the machinepack specification. You can mouseover any part of the spec for more info, or click for a linkable description.

name

The name of the module on npm. (This will be used as the machinepack's identity.)

description

A short description explaining the unifying characteristic of the machines in this machinepack. It should be:

  • A clear, <= 1 sentence description in the imperative mood (e.g. "delete all..." not "deletes all...")
  • Less than 80 characters

version

The machinepack's version. Follow's NPM semantic versioning scheme, here the leftmost of the three numbers is the "major" version, the middle number is the "minor" version, and the rightmost number is the "patch" version. All three numbers can grow as big as necessary, and they DO NOT work like decimals (e.g. 0.0.12 is bigger than 0.0.9).

A machinepack version should be bumped up using the following rules:

  • new patch release: when a bug is fixed or something is improved which does not add, remove, or change any inputs, does not add, remove, or change any exits, and also does not otherwise change any major functionality which would break backwards-compatibility.
  • new minor release: when some new functionality is added, but backwards-compatibility is still maintained. i.e. when an optional input or new exit is added, or a new exit.
  • new major release: when changes are made that might break backwards-compatibility.

keywords

machinepack and machines are required keywords.

dependencies

All machinepacks depend on the node-machine module. The version expectation referenced by this dependency (in this example, minor version=2 with any patch release >= 1) will be used to determine the version of the machine spec for which this machinepack was written.

machines

The list of machines which are exposed by this machinepack, by "identity". (See machine spec for details)

friendlyName

Will be used as the display name throughout the UI in certain places, depending on the context.

  • One or two words
  • No special punctuation
  • No more than 30 characters

machineDir

Optional - defaults to the top-level directory of the module. The relative path to the directory containing the machine definitions as declared by machines above.