2.8 KiB
2.8 KiB
summary, read_when
| summary | read_when | |||
|---|---|---|---|---|
| Step-by-step release checklist for npm + macOS app |
|
Release Checklist (npm + macOS)
Use pnpm (Node 22+) from the repo root. Keep the working tree clean before tagging/publishing.
- Version & metadata
- Bump
package.jsonversion (e.g.,1.1.0). - Update CLI/version strings:
src/cli/program.tsand the Baileys user agent insrc/provider-web.ts. - Confirm package metadata (name, description, repository, keywords, license) and
binmap points todist/index.jsforclawdis. - If dependencies changed, run
pnpm installsopnpm-lock.yamlis current.
- Build & artifacts
pnpm run build(regeneratesdist/).- Optional:
npm pack --pack-destination /tmpafter the build; inspect the tarball contents and keep it handy for the GitHub release (do not commit it).
- Changelog & docs
- Update
CHANGELOG.mdwith user-facing highlights (create the file if missing); keep entries strictly descending by version. - Ensure README examples/flags match current CLI behavior (notably new commands or options).
- Validation
pnpm lintpnpm test(orpnpm test:coverageif you need coverage output)pnpm run build(last sanity check after tests)- (Optional) Spot-check the web gateway if your changes affect send/receive paths.
- macOS app (Sparkle)
- Build + sign the macOS app, then zip it for distribution.
- Generate the Sparkle signature and update
appcast.xml. - Keep the app zip (and optional dSYM zip) ready to attach to the GitHub release.
- Follow
docs/mac/release.mdfor the exact commands and required env vars.
- Publish (npm)
- Confirm git status is clean; commit and push as needed.
npm login(verify 2FA) if needed.npm publish --access public(use--tag betafor pre-releases).- Verify the registry:
npm view clawdis versionandnpx -y clawdis@X.Y.Z --version(or--help).
- GitHub release + appcast
- Tag and push:
git tag vX.Y.Z && git push origin vX.Y.Z(orgit push --tags). - Create/refresh the GitHub release for
vX.Y.Zwith titleclawdis X.Y.Z(not just the tag); body should inline the product-facing bullets from the changelog (no bare links) and must not repeat the title inside the body. - Attach artifacts:
npm packtarball (optional),Clawdis-X.Y.Z.zip, andClawdis-X.Y.Z.dSYM.zip(if generated). - Commit the updated
appcast.xmland push it (Sparkle feeds from main). - From a clean temp directory (no
package.json), runnpx -y clawdis@X.Y.Z send --helpto confirm install/CLI entrypoints work. - Announce/share release notes.