Publishing (manual, after an explicit decision)
September 20, 2026 · View on GitHub
There is no automatic release, publish, or deployment workflow in this repository, and adding one is out of scope. Publishing is a manual step.
Status (verified with npm view 2026-09-20): both @buberlo/jev-core and
@buberlo/dsh-jev are on npm at 0.1.0 only (first release 2026-09-19).
There is no 0.1.1 on the registry. Workspace package.json is
0.1.2: package READMEs (a local 0.1.1 bump that was never published)
plus the call-scoped assessment wording that stops observe-vs-modify false
positives. 0.1.2 is built, packed and verified locally, and awaits one
manual publish. The 0.1.0 registry install path is verified: dsh plugin add @buberlo/dsh-jev composed the bundle layer, the host plugin loaded, and a
running web app served @buberlo/dsh-jev/client.js. The steps below are the
manual process for the next release.
Why @buberlo/jev-core publishes first
@buberlo/dsh-jev depends on the published version of @buberlo/jev-core.
That is what lets a single dsh plugin add @buberlo/dsh-jev (or a
plugin-only tarball install) resolve the core transitively. The alternative —
bundling the core into the plugin — was rejected: it duplicates the policy
code and prevents the core from being reused standalone (games, search, MCP
routers), which is an explicit goal of this repository.
Steps
# 1. Authenticate once (interactive; token stays in the local npm config).
npm login
# 2. Verify the exact artifacts that would be uploaded.
pnpm build
pnpm --filter @buberlo/jev-core publish --dry-run --access public --no-git-checks
pnpm --filter @buberlo/dsh-jev publish --dry-run --access public --no-git-checks
# 3. Publish in dependency order.
pnpm --filter @buberlo/jev-core publish --access public --no-git-checks
pnpm --filter @buberlo/dsh-jev publish --access public --no-git-checks
# 4. Verify the consumed form.
dsh plugin --profile demo add @buberlo/dsh-jev
Before each publish
- Confirm the npm account owns the
@buberloscope (npm org ls buberloor a successful--dry-run). - Run
pnpm verifyon the exact commit to publish. pnpm publishruns the package'sprepare(full build including the client bundle), so the tarball containslib/index.js,lib/client.js, and types.pnpm publishrefuses a dirty working tree; commit first.- Keep versions exact in dependencies; never publish a
workspace:protocol literally (pnpm rewrites it on pack/publish).
After publishing
- Record the published versions from
npm view(not workspacepackage.json) indocs/upstream-compatibility.md,docs/publishing.md, and the README npm row. Do not claim a version is on the registry untilnpm viewshows it. - Tag the release commit manually (
git tag -a v<version> -m ...); tags are not workflows. No0.1.1or0.1.2tag exists yet; the next publish is workspace0.1.2.