The Anatomy of a Package

This guide explains the structure of a Yak package.

Package Structure

Packages are simply ZIP archives. Take this simple example…

plankton-0.4.0.zip
├── manifest.yml
├── Plankton.gha
├── Plankton.dll
└── misc/
    ├── README.md
    └── LICENSE.txt

Important Things to Note

  1. Packages must have a top-level manifest.yml file
  2. Any plug-ins (.rhp or .gha files) must be in the top-level directory so that Rhino and Grasshopper can find and load them
  3. Each package must have only one plug-in (.gha or .rhp)
  4. If you’re packaging a .gha plug-in, you should ensure that the package name and version number in the GH_AssemblyInfo sub-class match those in the manifest.yml file, otherwise package restore may not work