AddonPay is a pnpm and Nx monorepo for public packages that connect products to the AddonPay service.
packages/
├── addon-pay # platform-neutral SDK for the AddonPay server
└── @addon-pay/
└── plugin # scoped smoke-test integration package
addon-pay is the reusable core SDK. Platform-specific integrations and other optional functionality live in scoped @addon-pay/* packages.
pnpm install
pnpm format:check
pnpm check
pnpm release:dry-runUse Conventional Commits. The commit-msg hook and CI validate the format. Nx Release creates independent package releases: feat creates a minor release and fix creates a patch release. While a package is below 1.0.0, a breaking change also creates the next minor release, so 0.1.0 becomes 0.2.0, not 1.0.0.
After a Conventional Commit is merged into main, the release workflow validates the workspace, runs nx release, creates the version commit and tags, writes per-package GitHub Releases, and publishes only changed release packages. It uses npm Trusted Publishing, so releases after bootstrap require no npm token and receive npm provenance.
- Manually publish
@addon-pay/plugin@0.0.1withpnpm publish --access publicand the npm 2FA code.addon-pay@0.0.3already exists in npm. - Create the baseline tags
addon-pay@0.0.3andaddon-pay-plugin@0.0.1onmain. - Configure npm Trusted Publisher for both packages: repository
addon-stack/addon-pay, workflow.github/workflows/release.yml. - Merge a
featchange affecting both package READMEs to smoke-test publishingaddon-pay@0.1.0and@addon-pay/plugin@0.1.0.
After bootstrap, do not manually change package versions, create release tags, or publish packages. Nx Release and the GitHub Actions workflow are the release authority.