Plugins
HORUS supports CLI plugins — standalone binaries that add new subcommands to the horus command. When you run horus sim3d, HORUS discovers and executes the sim3d plugin binary, passing through all arguments.
How CLI Plugins Work
- Any package named
horus-*with a binary is automatically a plugin - Installing it registers the binary with the HORUS plugin system
- Running
horus <command>checks plugins before showing "unknown command"
# Install a plugin
horus install --plugin horus-sim3d
# Use it as a native command
horus sim3d --robot kuka_iiwa
# List installed plugins
horus list
Plugin Resolution Order
| Priority | Location | Scope |
|---|---|---|
| 1st | .horus/plugins.lock (project) | Local project only |
| 2nd | ~/.horus/plugins.lock (global) | All projects |
| 3rd | .horus/bin/horus-* (project) | Local project only |
| 4th | ~/.horus/bin/horus-* (global) | All projects |
| 5th | PATH lookup for horus-* binaries | System-wide |
Project plugins override global ones, so you can pin a specific version per project.
Security
Plugins are verified via SHA-256 checksums recorded at install time. Before execution, HORUS verifies the binary hasn't been modified:
# Verify all installed plugins
horus verify
Next Steps
- Creating Plugins — Build a plugin that adds commands to
horus - Managing Plugins — Install, remove, and configure plugins