bible-strong-avatar-lab/docs/PUBLISHING.md
2026-08-17 18:15:45 +02:00

1.6 KiB

Publishing the runtime packages

The runtime is published as three public npm packages:

  • @bible-strong/avatar-core contains the validation, playback and renderer-neutral scene APIs;
  • @bible-strong/avatar-react depends on core and provides the React 19 integration;
  • @bible-strong/avatar-web depends on core and provides the direct DOM/ESM integration.

All three packages keep the same version during the 0.x stabilization period. Semantic Versioning is applied as follows:

  • a compatible fix increments the patch version (0.1.0 to 0.1.1);
  • a compatible feature increments the minor version (0.1.0 to 0.2.0);
  • a breaking change also increments the minor version while below 1.0.0;
  • after 1.0.0, a breaking change increments the major version.

Normal release flow

  1. Add a changeset to every pull request that changes a published API with pnpm changeset.
  2. Merge changes into main.
  3. The release workflow updates or creates a release pull request containing version and changelog changes.
  4. Review and merge that release pull request.
  5. The workflow validates, builds and publishes every unpublished version to npm.

Publication uses npm trusted publishing through GitHub Actions OIDC. It does not require a stored NPM_TOKEN. Each npm package must trust the release.yml workflow in the smontlouis/bible-strong-avatar-lab repository.

Local verification

Run the complete project checks and verify real consumer projects against packed tarballs:

pnpm check
pnpm packages:smoke

Do not run npm publish from an individual package for routine releases. The initial 0.1.0 bootstrap publication is the only manual release.