Files
clawdbot/docs/RELEASING.md
2025-12-09 17:51:05 +00:00

2.2 KiB

summary, read_when
summary read_when
Step-by-step npm release checklist for the Clawdis CLI
Cutting a new npm release
Verifying metadata before publishing

Release Checklist (npm)

Use pnpm (Node 22+) from the repo root. Keep the working tree clean before tagging/publishing.

  1. Version & metadata
  • Bump package.json version (e.g., 1.1.0).
  • Update CLI/version strings: src/cli/program.ts and the Baileys user agent in src/provider-web.ts.
  • Confirm package metadata (name, description, repository, keywords, license) and bin map points to dist/index.js for clawdis.
  • If dependencies changed, run pnpm install so pnpm-lock.yaml is current.
  1. Build & artifacts
  • pnpm run build (regenerates dist/).
  • Optional: npm pack --pack-destination /tmp after the build; inspect the tarball contents and keep it handy for the GitHub release (do not commit it).
  1. Changelog & docs
  • Update CHANGELOG.md with 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).
  1. Validation
  • pnpm lint
  • pnpm test (or pnpm test:coverage if 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.
  1. Publish
  • Confirm git status is clean; commit and push as needed.
  • npm login (verify 2FA) if needed.
  • npm publish --access public (use --tag beta for pre-releases).
  • Verify the registry: npm view clawdis version and npx -y clawdis@X.Y.Z --version (or --help).
  1. Post-publish
  • Tag and push: git tag vX.Y.Z && git push origin vX.Y.Z (or git push --tags).
  • Create/refresh the GitHub release for vX.Y.Z with title clawdis 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 the npm pack tarball + checksums if you generated them.
  • From a clean temp directory (no package.json), run npx -y clawdis@X.Y.Z send --help to confirm install/CLI entrypoints work.
  • Announce/share release notes.