esc

ledgekit CLI

LedgeKit includes a command-line tool, ledgekit. Today it checks a manifest before you package or submit it. Creating, building and running add-ons come next.

ledgekit validate

Run it from a LedgeKit checkout, passing the path to your manifest:

git clone https://github.com/Ammyy9908/LedgeKit.git
cd LedgeKit
swift run ledgekit validate ../my-addon/addon.json

A valid manifest prints its ID, version and protocol:

Valid manifest: countdown 1.0.0 (protocol 2)

Otherwise it prints what's wrong, such as Invalid manifest field: version.

Exit codes

CodeMeaning
0The manifest is valid
1The manifest is invalid, or the file can't be read as JSON
2Wrong usage. The only form is ledgekit validate <addon.json>

What it checks

The same rules as AddOnManifest.validate(), which Ledge also runs. It reads only the manifest. It doesn't check that the executable or icon exist, that the add-on builds, or that Ledge will install it. Load the package into Ledge for that.

Coming next

These are planned, and not in LedgeKit yet:

  • ledgekit new makes a package ready to build, with a starter settings page.
  • ledgekit build builds it and assembles the .ledgeaddon, replacing the steps in the quick start.
  • ledgekit install and run load it into your Ledge and show its log.
  • A preview harness that shows every surface an add-on declares, in light and dark, and saves screenshots.