How to cut a release of @liohtml/agentbox. npm publishing is intended to be
done from CI via the tag-triggered release workflow — not from a laptop.
-
Ensure
mainis green. CI (typecheck, tests, pack smoke test) must pass. -
Bump the version in
package.json(semver) and update the lockfile:npm version <patch|minor|major> --no-git-tag-version
-
Update
CHANGELOG.md: move entries from Unreleased into a new## [x.y.z] — YYYY-MM-DDsection. -
Commit and push the version bump + changelog on
main(via PR). -
Tag and push the tag:
git tag -a vX.Y.Z -m "vX.Y.Z" git push origin vX.Y.Z -
The
release.ymlworkflow runs on thev*tag: it verifies the tag matchespackage.json's version, re-runs typecheck/test, runs thenpm packtarball smoke test, then publishes to npm with--provenance --access public. Any of those failing blocks the publish. -
Create a GitHub Release from the tag, pasting the changelog section.
- The package is published scoped as
@liohtml/agentbox(the bare nameagentboxis an npm security placeholder and cannot be claimed). The installed command is stillagentbox. - Publishing authenticates with the
NPM_TOKENrepository secret (NODE_AUTH_TOKENin the workflow), plusid-token: writefor provenance. Migrating to npm Trusted Publishing (OIDC, no long-lived token) is a good follow-up but isn't configured yet — don't assume it's active. prepublishOnlyre-runs typecheck + tests as a local safety net.- Dependency caching is deliberately off in the release workflow (unlike CI): a compromised or poisoned npm/GitHub Actions cache must never be able to influence what gets published.