Publishing uses OIDC-based trusted publishing — no npm tokens needed.
- Publish the first version manually (trusted publishing requires the package to exist):
npm login npm publish --access public
- Go to npmjs.com → pine-voice → Settings → Trusted Publisher
- Select GitHub Actions and configure:
- Organization or user:
19PINE-AI - Repository:
pine-voice-js - Workflow filename:
publish.yml - Environment name: (leave blank)
- Organization or user:
- Click Set up connection
After this, all future publishes are automatic via CI.
-
Bump the version in
package.json:# For a patch release (0.1.0 → 0.1.1) npm version patch --no-git-tag-version # For a minor release (0.1.1 → 0.2.0) npm version minor --no-git-tag-version # For a major release (0.2.0 → 1.0.0) npm version major --no-git-tag-version
-
Commit and tag:
git add package.json git commit -m "release: v<VERSION>" git tag v<VERSION>
-
Push with tags:
git push origin main --tags
-
Monitor the publish workflow at the repo's Actions tab on GitHub.
-
Verify the published package:
npm view pine-voice
- The CI workflow runs (build across Node 18, 20, 22)
- If CI passes, the publish job runs
- npm CLI exchanges a GitHub OIDC token for a short-lived npm publish token
- Package is published to npm with
--access public
- The
RELEASING.mdfile is not included in the npm package (not in thefilesfield) - Trusted publishing eliminates the need for stored npm tokens
- Only tag pushes matching
v*trigger the publish workflow openclaw-pine-voicedepends on this package — publish this first when both need updating