Publishing PlanRun to npm
PlanRun ships three public packages under the @planrun scope:
| Package | Role |
|---|---|
@planrun/skill-provider | 28 bundled skills + config/roles.json |
@planrun/workflow | Cordis plugin (growth · run-start · run-stop · persona) |
@planrun/bundle | DSH profile bundle (dsh.bundle.patch) |
Directory packages/bundle-planrun/ maps to npm name @planrun/bundle.
User install (one line)
sh
dsh plugin --profile web add @planrun/bundleRestart the profile after bundle changes (dsh web).
Maintainer publish
Prerequisites
- Node
^22.19or>=24 npm loginwith access to@planrunscope- Clean
pnpm run build·pnpm run verify·pnpm run verify:publish
Publish order
Dependencies must publish in order:
@planrun/skill-provider@planrun/workflow@planrun/bundle
sh
pnpm run build
pnpm run verify:publish # structural pack checks (no upload)
pnpm run publish:packages # upload to npm (requires npm login)Dry-run pack only:
sh
bash scripts/publish-packages.sh --pack-onlyWorkspace dev vs publish
- Local monorepo:
bundleusesworkspace:^for skill-provider and workflow; pnpm links siblings. - npm consumers:
pnpm publishrewritesworkspace:^to semver ranges automatically.
Git install (alternative)
Not the primary path for v1.5. See Harness publish docs for prepare + allowBuilds if needed.
Project growth + guard
After the bundle is installed:
sh
# from planrun checkout, or after cloning install-planrun.sh from release tag
./scripts/install-planrun.sh --here --copy-planThis seeds .dsh/growth/ and copies guard scripts to scripts/ with npm scripts merged into package.json.