Testing and Debugging
Run the same checks before every handoff:
npm run typechecknpm run buildcargo fmt --checkcargo checknpx @haloforge/plugin-pack check .npx @haloforge/plugin-pack pack . --out dist/packageLocal Install
Section titled “Local Install”cd /path/to/HaloForgenpm run hf -- plugin install local /path/to/plugin/dist/package/<plugin-id>-<version>.hfpkg --jsonnpm run hf -- plugin list --jsonThe installed plugin should show:
enabled: truestate: "active"error_message: null
Package Inspection
Section titled “Package Inspection”Inspect a package before installing:
unzip -l dist/package/dev.example.my-plugin-0.1.0.hfpkgFor a UI plugin, confirm the package contains:
manifest.json- frontend bundle
- frontend stylesheet if declared
- native library when
entry.nativeis declared - icon/assets referenced by the manifest
Plugin panel not loaded
Section titled “Plugin panel not loaded”Check these first:
registerPlugin()uses the exact same ID asmanifest.json.entry.frontendpoints to the built JavaScript file inside the package.integration.*.panel_entrypoints to the panel bundle.- The package contains the frontend bundle and CSS.
- The bundle executed without a JavaScript error.
- The Rust backend loaded and registered commands.
- Required host capabilities and permissions were declared.
If the bundle executed but did not register a panel, HaloForge should report that clearly in the plugin slot error area.