.agents/skills/release/SKILL.md
Use this skill when preparing or executing a Pake release.
Four files must be updated in sync — never update one without the others:
package.json → "version"src-tauri/Cargo.toml → version under [package]src-tauri/Cargo.lock → version for package pakesrc-tauri/tauri.conf.json → "version"cat package.json | jq .version)npm view [email protected] version should return 404 before publishingpnpm run format — must pass cleanlypnpm test — must pass cleanly. If the release workflow step fails with pnpm install ... exit code 1 against the CN mirror, re-run once; a single transient flake is acceptable, two consecutive failures is not.pnpm run cli:build — Rollup + TS must pass (catches type errors that format misses).pnpm run release:check — verifies version sync, package contents, and npm dry-rungit statuschore: bump version to VX.X.Xgit tag -a VX.X.X -m "Release VX.X.X"
git push origin VX.X.X
Tag format: uppercase V prefix (e.g. V3.11.0), not v3.11.0.
gh run list --workflow=release.ymlgh run watchgh release view VX.X.X --json tagName,url,assetsgh workflow list --all | grep "Publish npm Package"gh run list --workflow=npm-publish.ymlnpm view [email protected] version gitHead dist.tarball --jsonnpm view pake-cli versiongh run list --workflow=quality-and-test.yml --limit 3npm publishes through Trusted Publishing from .github/workflows/npm-publish.yml. Configure npm package settings with GitHub Actions, tw93/Pake, workflow file npm-publish.yml, and no environment. Local npm publish is only a fallback if CI or registry state blocks the trusted path.
Keep release surfaces separate in the final status:
pake-cli installability and CLI/npm issue closeout.Do not collapse these into "released" without naming which surface was verified. If GitHub Release assets are visible while gh run list still reports the release workflow as queued or in progress, trust gh release view for asset state and report the workflow state separately.
V* tag; do not retry an already-published version.npm exec --yes [email protected] -- npm publish --registry=https://registry.npmjs.org so prepublishOnly can find the pinned pnpm version.npm view [email protected] version returns the expected version. npm view pake-cli version alone is not enough because latest can point at a different commit than the fix under review.workflow_dispatch run may execute on main; do not treat headBranch, run title, or compare UI as the release tag. Check the pushed tag and published package gitHead.chore: update contributors [skip ci] after the tag is pushed, fast-forward local main after the release. Do not retag just to include generated contributor art.# Current platform
pnpm build
# macOS universal binary
pnpm build:mac
Cross-platform builds (Windows/Linux) are handled by CI, not locally.