Installation
Run without installing
Section titled “Run without installing”Always pin to an exact version in scripts and hooks — never use @latest:
# Explore (one-off)npx universal-plugin@latest --help
# Scripts and CI (pin to current version)npx universal-plugin@$(npm view universal-plugin version) plugin buildInstall globally
Section titled “Install globally”npm install -g universal-pluginuniversal-plugin plugin buildFast repeated calls: upx
Section titled “Fast repeated calls: upx”upx runs an already-installed CLI matching a semver range instead of resolving one on every call.
It ships as its own package:
npm i -g @repobuddy/upx
upx cyber-skills@^2 audit validateUse a caret range (@^2), not an exact pin. That is what lets one global install serve every caller
at that major. upx only exists once installed, so keep npx anywhere you cannot guarantee the
global install. Choosing a runner covers when to reach for which runner.
Install as a dev dependency
Section titled “Install as a dev dependency”npm install --save-dev universal-plugin# orpnpm add -D universal-pluginThen use it from package.json scripts:
{ "scripts": { "build:plugin": "universal-plugin plugin build", "postinstall": "universal-plugin plugin build" }}Requirements
Section titled “Requirements”- Node.js >= 22
- A
plugin.jsonat the plugin root (see Introduction)