Run Orbit commands from the plugin project directory.
Build and validate
Compile the plugin and its dependencies:
orbit buildValidate the manifest and project structure:
orbit validate --strictValidation checks the plugin ID, semantic version, runtime, target, permissions, entry file, and declared capabilities.
Plugins intended for Helix 2 Plus must use:
{
"runtime": "js",
"target": "browser",
"entry": "dist/index.js"
}Python plugins also use the browser target and are compiled into dist/index.js.
Test without hardware
Run the plugin in the Orbit emulator:
orbit emulate --plugin . --validateThe emulator checks plugin startup, reader and writer registration, trigger registration, CAN routing, data flow, and cleanup. It then opens an interactive console. Enter help for available commands or exit to stop.
A finite random-traffic test can be run with:
orbit emulate --plugin . --mode random --count 100 --interval 20 --verboseCreate the .orbit package
After testing, create the distributable package:
orbit packThe default filename is based on the manifest ID:
com.example.can-byte-viewer.orbitFor unsigned local testing:
orbit pack --no-signProduction packages should follow the applicable signing policy. A Helix device may reject unsigned plugins.
Load the plugin into Helix
Open the Plugins page.
Select Load Plugin.
Choose or drag in the generated
.orbitfile.Confirm that the plugin reports an active status.
Expand the entry to review its readers, writers, and triggers.
If loading fails, rerun orbit build and orbit validate --strict, confirm the manifest uses "target": "browser", and check the Helix Problems and Output panels.