Skip to main content

release

Prepare, validate, and publish a Pake release. Not for version bumps without release intent.

跳到安装

来源信息

仓库
tw93/Pake
最近来源活动
2026年9月25日 01:13
检测到的 SKILL.md 语言
英语
星标
61,763
分支
12,719

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
release
description
Prepare, validate, and publish a Pake release. Not for version bumps without release intent.
version
1.7.0
allowed-tools
["Bash","Read","Grep","Glob"]
disable-model-invocation
true
# Release Skill Use this skill when preparing or executing a Pake release. Shared facts live in `AGENTS.md` and are not repeated here: the four version files and tag format (Version Management), CI jobs, Trusted Publishing, surface separation, and the contributors bot (Release Workflow), and issue closeout (Issue Closeout After a Fix). ## Pre-Release 1. [ ] Before changing files or running any formatter/build, freeze the full baseline with `git status --short --branch -uall`, `git diff`, and `git diff --cached`. If the checkout contains unrelated or ambiguously owned changes, prepare the release in an isolated worktree. 2. [ ] Confirm the new version (`jq .version package.json`; previous tag per AGENTS.md Version Management) and that `npm view pake-cli@X.Y.Z version` returns 404. 3. [ ] Update all four version files. 4. [ ] `pnpm run format`, then `pnpm test`. If `pnpm test` fails at the suite's `pnpm install pake-cli@latest` (run in `/tmp`) against a mirror, re-run once; two consecutive failures are real. 5. [ ] `pnpm run cli:build`, then `pnpm run release:check` (version sync, format, vitest, package contents, npm dry-run). 6. [ ] Re-read `git status --short --branch -uall`, `git diff`, and `git diff --cached`. Restore only build-churn paths that were clean in the baseline and provably generated by this run; otherwise repeat in an isolated worktree. 7. [ ] Commit `chore: bump version to VX.Y.Z` with the rebuilt `dist/cli.js` staged via `git add -f dist/cli.js`. ## Tag And Verify ```bash git tag -a VX.Y.Z -m "Release VX.Y.Z" git push origin VX.Y.Z ``` If the bump push is rejected, rebase onto the contributors bot commit as AGENTS.md describes, push, then tag the last real commit. Never force-push. 1. [ ] `gh run list --workflow=release.yml`, then poll `gh run view <run-id> --json status,conclusion`. 2. [ ] `gh release view VX.Y.Z --json tagName,url,assets`, then fill the title and body per **GitHub Release Notes** below; CI leaves a bare placeholder. 3. [ ] `gh run list --workflow=npm-publish.yml`, then `npm view pake-cli@X.Y.Z version gitHead dist.tarball --json` and `npm view pake-cli version` for `latest`. 4. [ ] Record `gh run list --workflow=quality-and-test.yml --limit 3` separately. 5. [ ] Add the six positive reactions (`+1`, `laugh`, `heart`, `hooray`, `rocket`, `eyes`) to `repos/tw93/Pake/releases/<id>/reactions` via `gh api` and read them back. Never `-1` or `confused`. ## npm-Only Hotfix (no tag) For CLI or Rust-template fixes that must reach npm without an app release. The version number is still consumed, so the next `V*` tag skips over it. 1. [ ] Bump all four version files, `pnpm run cli:build`, stage the version files and `git add -f dist/cli.js`. 2. [ ] `pnpm run release:check` (already includes vitest). For a Rust-template fix, also run the narrow current-platform Rust check. 3. [ ] Commit `chore: bump version to VX.Y.Z`, push `main`, record `<publish-sha>` with `git rev-parse HEAD`. 4. [ ] Wait for `gh run list --workflow=quality-and-test.yml --commit <publish-sha> --limit 3 --json databaseId,headSha,status,conclusion` to be `completed` / `success`; for Rust-template changes also `Full Tauri Build (windows-latest)`. 5. [ ] `gh workflow run npm-publish.yml --ref main -f expected_sha=<publish-sha> -f quality_run_id=<quality-run-id>`. If `main` moved, wait for the new head's own Quality run. 6. [ ] Poll `gh run view <run-id> --json headSha,status,conclusion`; `headSha` and the npm `gitHead` must both equal `<publish-sha>`. 7. [ ] Issue closeout per AGENTS.md; for a Rust-template fix, tell users to rebuild their app after upgrading. Skip for a hotfix: no `V*` tag, no GitHub Release or notes, no reactions, no Docker. A successful publish followed by a verification timeout does not authorize republishing: npm scans new packages for 5 to 15+ minutes. Re-read the registry until the version appears. Local fallback, only when the trusted path is blocked: `npm exec --yes --package=pnpm@10.26.2 -- npm publish --registry=https://registry.npmjs.org`. ## GitHub Release Notes Before writing notes, `gh release view <previous release>` and treat its structure as the hard template, codename included. Title: `V<X.Y.Z> <Codename>`, one English codename word, optionally one emoji (`V3.11.8 Polish`, `V3.11.0 Evolve 👻`); patch releases get a codename too. Source items from `git log VPREV..VX.Y.Z`, user-facing only. ```markdown <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 `gh release edit VX.Y.Z --title "VX.Y.Z Codename" --notes-file notes.md`.
在 GitHub 查看