nessemble also includes a built-in package manager. Packages can be published, installed, and used in projects.

See the section on Registry to create your own registry of nessemble packages.

To search for packages to install, use the search command:

nessemble search controller

If a match is found, a list of packages will be returned.


To get information on a package, use the info command:

nessemble info controller

If the package exists, its file will be displayed.


To install a package:

nessemble install controller


Packages are installed to ~/.nessemble/packages/<package-name>/ on Linux/Mac and \Users\<username>\.nessemble\packages\<package-name>\ on Windows.


To use a package in assembly:

.include <controller.asm>


.include with angle braces (<...>) will include an installed package, and .include with quotes ("...") includes another assembly file relative to the project directory.


To list all installed packages:

nessemble ls

If packages are installed, a list of packages will be returned.


To uninstall a package:

nessemble uninstall controller


To publish a package:

nessemble publish lib.tar.gz


The user must be logged in to publish a package (see the login command)

The following files must be in the following directory structure:


To compress:

tar -zcf lib lib.tar.gz


lib.asm must include the assembly code for the package


package.json must be in the following format:

    "title": "foo",
    "description": "Foo bar baz qux",
    "version": "1.0.1",
    "author": "joe.somebody",
    "license": "GPLv3",
    "tags": [
  • title - String, required. Title of package.
  • description - String, required. Description of package.
  • version - String, required. Version of package. (Must be semver string, Ex: 1.0.1)
  • author - String, required. Username of package author.
  • license - String, required. License of package.
  • tags - Array, required. Array of tag strings. must include any relevant usage information about the package.


To update a package, publish a package zip with a package.json that has a different/higher version than the previous.