From bcd22cbb2c9e0fd8dfff0c3f809e9f45a152a228 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 25 Nov 2025 11:59:15 +0100 Subject: [PATCH] Add release checklist and adjust README tagline --- README.md | 2 +- docs/RELEASING.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 docs/RELEASING.md diff --git a/README.md b/README.md index 25ad05618..6ce27ac8c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 📡 warelay — WhatsApp Relay CLI -Small CLI to send, receive, auto-reply, and inspect WhatsApp messages over **Twilio** or your personal **WhatsApp Web** session. Ships with a one-command webhook setup (Tailscale Funnel + Twilio callback) and a configurable auto-reply engine (plain text or command/Claude driven). +Send, receive, auto-reply, and inspect WhatsApp messages over **Twilio** or your personal **WhatsApp Web** session. Ships with a one-command webhook setup (Tailscale Funnel + Twilio callback) and a configurable auto-reply engine (plain text or command/Claude driven). ## Quick Start (5 steps) 1) Prereqs: Node 22+, `pnpm`, a Twilio account with a WhatsApp-enabled number; Tailscale optional for webhooks. diff --git a/docs/RELEASING.md b/docs/RELEASING.md new file mode 100644 index 000000000..62ab835af --- /dev/null +++ b/docs/RELEASING.md @@ -0,0 +1,35 @@ +# 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 `warelay`/`warely`/`wa`. +- [ ] If dependencies changed, run `pnpm install` so `pnpm-lock.yaml` is current. + +2) **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). + +3) **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). + +4) **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 a Twilio/Web flow if your changes affect send/receive paths. + +5) **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 warelay version` and `npx -y warelay@X.Y.Z --version` (or `--help`). + +6) **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`; body should be the product-facing bullets from the changelog; attach the `npm pack` tarball + checksums if you generated them. +- [ ] From a clean temp directory (no `package.json`), run `npx -y warelay@X.Y.Z send --help` to confirm install/CLI entrypoints work. +- [ ] Announce/share release notes.