release
Prepare, validate, and publish a Pake release. Not for version bumps without release intent.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Prepare, validate, and publish a Pake release. Not for version bumps without release intent.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
GitHub issue, PR, and release operations via gh CLI. Not for code review or release builds.
Package any website or local web build into a lightweight desktop app using Pake (Tauri/Rust). Use when the user wants to: wrap a URL as a native app, build a desktop app from a website or a local dist/ folder, use Pake CLI to package a page, set up proxy for a packaged app, customize app icons or bundle IDs, or mentions 'pake', 'tauri package', 'website to app', 'wrap site'. Also trigger when the user asks about Pake CLI options, proxy configuration for packaged apps, or icon handling.
Pake project adapter for Waza check/code-review. Use for TypeScript CLI, Rust/Tauri, release artifact, and CI review.
| name | release |
| description | Prepare, validate, and publish a Pake release. Not for version bumps without release intent. |
| version | 1.6.0 |
| allowed-tools | ["Bash","Read","Grep","Glob"] |
| disable-model-invocation | true |
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; previous tag: git tag --list 'V*' --sort=-version:refname | head -1; a bare git tag --sort picks up stray non-version tags like list and continuous)npm view pake-cli@X.Y.Z 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 status. Local tests and builds leave tracked churn (src-tauri/pake.json, tauri.conf.json, tauri.macos.conf.json, regenerated icons); git restore it instead of committing it.chore: bump version to VX.X.X. Include the rebuilt dist/cli.js (it embeds the version); stage it with git add -f dist/cli.js since dist/ is gitignored.git 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.
If the bump push is rejected, the contributors bot pushed chore: update contributors [skip ci] in between: git pull --rebase onto it and push again, then tag. Do not force-push and do not tag the pre-rebase commit.
gh run list --workflow=release.ymlgh run view <run-id> --json status,conclusion (never pipe gh run watch or build output to tail/head; pipes swallow the real exit code and misreport failures as green)gh release view VX.X.X --json tagName,url,assetscreate-release step only makes a bare placeholder (title = VX.X.X, empty body); do not leave it bare.gh workflow list --all | grep "Publish npm Package"gh run list --workflow=npm-publish.ymlnpm view pake-cli@X.Y.Z version gitHead dist.tarball --jsonnpm view pake-cli versiongh run list --workflow=quality-and-test.yml --limit 3+1, laugh, heart, hooray, rocket, and eyes each to repos/tw93/Pake/releases/<id>/reactions via gh api, then re-read the reactions to confirm. Never add -1 or confused.npm 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.
For CLI or Rust-template fixes that must reach npm fast without an app release. Precedent: 3.15.0 and 3.15.2 shipped this way; the version number is still consumed, so the next V* tag skips over it.
dist/cli.js with pnpm run cli:build, stage the version files, and stage the ignored artifact with git add -f dist/cli.jspnpm run release:check. For a Rust-template fix, also run the narrow current-platform Rust check before pushing. Do not run npx vitest run separately because release:check already includes it.chore: bump version to VX.Y.Z and push maingit rev-parse HEAD. Find its Quality & Testing run with gh run list --workflow=quality-and-test.yml --commit <publish-sha> --limit 3 --json databaseId,headSha,status,conclusion. Wait until that exact SHA is completed with conclusion: success. For Rust-template changes, confirm the Windows real Tauri build job passed before publishing.gh workflow run npm-publish.yml --ref main -f expected_sha=<publish-sha> -f quality_run_id=<quality-run-id>. If main moved, select the new exact head and wait for its own successful Quality run instead of publishing against stale evidence.gh run view <run-id> --json headSha,status,conclusion; its headSha must match <publish-sha>.npm view pake-cli@X.Y.Z version gitHead dist.tarball --json; gitHead must match <publish-sha>. Check npm view pake-cli version separately for the latest pointer.Skip list, do not do these for a hotfix: no V* tag, no GitHub Release or notes, no release reactions, no Docker. App-release surfaces stay untouched until the next V* release bundles the fix.
CI only creates a bare placeholder release. Every published release must be edited to match the house format, or it looks broken next to the others. Before writing notes, run gh release view <previous release> and treat its structure as the hard template, title codename included. Two failure modes to avoid: a bare version title with no codename, and a body missing the logo header / star line / repo footer (see V3.11.10 and V3.12.0, both fixed after the fact).
V<X.Y.Z> <Codename>: version, then a single English codename word, optionally with one emoji. Examples: V3.11.8 Polish, V3.11.10 Bedrock, V3.12.0 Gateway, V3.11.0 Evolve 👻. The codename is the maintainer's call; pick one that fits the release theme. Even patch releases get a codename.
Fill in the version, the two changelog lists (English + 中文, same items in the same order, numbered), the thanks line (credit the reporters/PR authors behind the release), and keep the logo header and repo footer verbatim:
<div align="center">
<img src="https://gw.alipayobjects.com/zos/k/fa/logo-modified.png" alt="Pake Logo" width="120" height="120" style="border-radius:50%" />
<h1 style="margin: 12px 0 6px;">Pake VX.Y.Z</h1>
<p><em>Turn any webpage into a desktop app with one command.</em></p>
</div>
### Changelog
1. ...
### 更新日志
1. ...
Special thanks to @user for the reports and PRs behind this release. If Pake helps you, please consider giving it a star and recommending it to your friends.
> https://github.com/tw93/Pake
Apply with a notes file to avoid shell escaping: gh release edit VX.Y.Z --title "VX.Y.Z Codename" --notes-file notes.md. Source changelog items from the real commit range (git log VPREV..VX.Y.Z), keep them user-facing, and drop pure CI/refactor/docs noise.
V* tag; do not retry an already-published version.npm exec --yes --package=pnpm@10.26.2 -- npm publish --registry=https://registry.npmjs.org so prepublishOnly can find the pinned pnpm version.npm view pake-cli@X.Y.Z 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 executes on a branch. For npm-only publishing, pass the exact main commit as expected_sha and a successful Quality run for that SHA as quality_run_id; the workflow rejects mismatches. Do not treat headBranch, run title, or compare UI as proof of the published source.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.