release-skill 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codebuddy-plugin/plugin.json +1 -1
  4. package/.codex-plugin/plugin.json +2 -2
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/CHANGELOG.md +36 -0
  7. package/INSTALL.md +4 -4
  8. package/INSTALL.zh-CN.md +4 -4
  9. package/README.md +38 -13
  10. package/README.zh-CN.md +36 -13
  11. package/adapters/claude/.claude-plugin/marketplace.json +1 -1
  12. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  13. package/adapters/claude/bin/release-skill.bundle.mjs +3961 -2882
  14. package/adapters/claude/skills/release-help/SKILL.md +9 -1
  15. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  16. package/adapters/codex/bin/release-skill.bundle.mjs +3961 -2882
  17. package/adapters/codex/skills/release-help/SKILL.md +9 -1
  18. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  19. package/adapters/kimi/bin/release-skill.bundle.mjs +3961 -2882
  20. package/adapters/kimi/skills/release-help/SKILL.md +9 -1
  21. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  22. package/adapters/workbuddy/bin/release-skill.bundle.mjs +3961 -2882
  23. package/adapters/workbuddy/skills/release-help/SKILL.md +9 -1
  24. package/bin/release-skill-cli.mjs +180 -4
  25. package/bin/release-skill.bundle.mjs +3961 -2882
  26. package/package.json +1 -1
  27. package/skills/release-help/SKILL.md +9 -1
  28. package/skills-src/release-help/SKILL.md +9 -1
  29. package/src/adapters/plugin-marketplace.mjs +1 -1
  30. package/src/adapters/push-snapshot.mjs +3 -1
  31. package/src/commands/assess.mjs +18 -5
  32. package/src/commands/attest.mjs +195 -0
  33. package/src/commands/hooks.mjs +46 -0
  34. package/src/commands/prepare.mjs +14 -2
  35. package/src/commands/ship.mjs +356 -0
  36. package/src/commands/verify.mjs +147 -4
  37. package/src/core/git-transport.mjs +93 -0
  38. package/src/core/public-surface.mjs +26 -0
  39. package/src/core/release-metadata.mjs +105 -0
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "release-skill",
11
11
  "source": "./",
12
- "version": "0.2.8",
12
+ "version": "0.3.0",
13
13
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification"
14
14
  }
15
15
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "defaultPrompt": [
21
21
  "Assess this project for release readiness.",
22
- "Prepare a release plan for version 0.2.8.",
22
+ "Prepare a release plan for version 0.3.0.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ <!-- release-skill:changelog:start version=0.3.0 locale=en baseline=sha256:e3dacdaf9c7f780ccbd530d85cd16994b1a33747146475ac77f21e6f09be1493 -->
4
+ ## [0.3.0] - 2026-07-31
5
+
6
+ v0.3.0 streamlines production releases into a resumable orchestration with reusable hook receipts, consolidated approvals, and stronger consumer-install evidence.
7
+
8
+ ### Added
9
+
10
+ - **Resumable ship orchestration**: the new `ship` command persists the active release state and resumes prepare, approval, publish, reconcile, and verification without rebuilding authority from conversational context.
11
+ - **Reusable hook receipts**: `hooks validate` executes declared hooks through the same content-bound cache used by prepare, so unchanged checks do not need to run again.
12
+ - **Verified manual attestations**: `attest` validates a reported Kimi or CodeBuddy installation against the exact frozen plugin payload before recording consumer evidence.
13
+ - **Git transport preflight**: production publishing selects one repository-consistent HTTPS or SSH transport before any remote write and blocks conflicting remote identities.
14
+
15
+ ### Changed
16
+
17
+ - **Consolidated human decisions**: the normal path requires at most one hook-side-effect authorization and one immutable-plan approval; manual consumer requirements are collected before automatic verification.
18
+ - **Parallel consumer verification**: independent consumer checks run concurrently, drain before failure reporting, and produce deterministically ordered evidence.
19
+ - **Automatic release metadata**: successful verification advances each unit's `previousPublicBaseline` to the frozen public commit, tree, and manifest digest.
20
+ - **Compact prepare output**: JSON output references the immutable plan by path and digest instead of embedding the full plan.
21
+ <!-- release-skill:changelog:end version=0.3.0 locale=en -->
22
+
23
+
24
+ <!-- release-skill:changelog:start version=0.2.9 locale=en baseline=sha256:22b3d94c5d99fca0e6016334a108e4be5f3419f45507fae795b4d0714ca7ad6d -->
25
+ ## [0.2.9] - 2026-07-31
26
+
27
+ v0.2.9 makes missing expected public-surface configuration visible during assessment and preparation without blocking existing projects.
28
+
29
+ ### Added
30
+
31
+ - **Adoption warning**: assess reports `PUBLIC_SURFACE_CONFIG_MISSING` for every release unit that has not configured `expectedPublicSurface`.
32
+
33
+ ### Changed
34
+
35
+ - **Prepare visibility**: prepare records and returns the same non-blocking warning, and the CLI exposes it in both JSON and human-readable output.
36
+ <!-- release-skill:changelog:end version=0.2.9 locale=en -->
37
+
38
+
3
39
  <!-- release-skill:changelog:start version=0.2.8 locale=en baseline=sha256:ad6e8910f1af206463b5decf134b82590787b77f5a88faca3d8985d3686b111b -->
4
40
  ## [0.2.8] - 2026-07-30
5
41
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.2.8 -->
5
+ <!-- release-skill:release-version: 0.3.0 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -128,7 +128,7 @@ as a version-pinned **manual** install plus trusted observation/attestation:
128
128
  frozen version; otherwise do NOT issue an attestation.
129
129
 
130
130
  ```
131
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.8
131
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.3.0
132
132
  /plugins reload
133
133
  ```
134
134
 
@@ -140,7 +140,7 @@ as a version-pinned **manual** install plus trusted observation/attestation:
140
140
  ```json
141
141
  {
142
142
  "platform": "kimi",
143
- "version": "0.2.8",
143
+ "version": "0.3.0",
144
144
  "planDigest": "<64-hex frozen plan digest>",
145
145
  "result": "passed",
146
146
  "actor": "<person who confirmed>",
@@ -204,7 +204,7 @@ attestation (the same capability gap and closed loop as Kimi Code):
204
204
  ```json
205
205
  {
206
206
  "platform": "codebuddy",
207
- "version": "0.2.8",
207
+ "version": "0.3.0",
208
208
  "planDigest": "<64-hex frozen plan digest>",
209
209
  "result": "passed",
210
210
  "actor": "<person who confirmed>",
package/INSTALL.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.2.8 -->
5
+ <!-- release-skill:release-version: 0.3.0 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -112,7 +112,7 @@ release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观
112
112
  必须核实已安装插件清单版本等于冻结版本;否则**不得**出具证明。
113
113
 
114
114
  ```
115
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.8
115
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.3.0
116
116
  /plugins reload
117
117
  ```
118
118
 
@@ -124,7 +124,7 @@ release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观
124
124
  ```json
125
125
  {
126
126
  "platform": "kimi",
127
- "version": "0.2.8",
127
+ "version": "0.3.0",
128
128
  "planDigest": "<64 位十六进制冻结计划摘要>",
129
129
  "result": "passed",
130
130
  "actor": "<确认人>",
@@ -178,7 +178,7 @@ codebuddy CLI 可以添加市场并安装插件,但 **`plugin marketplace add`
178
178
  ```json
179
179
  {
180
180
  "platform": "codebuddy",
181
- "version": "0.2.8",
181
+ "version": "0.3.0",
182
182
  "planDigest": "<64 位十六进制冻结计划摘要>",
183
183
  "result": "passed",
184
184
  "actor": "<确认人>",
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](README.zh-CN.md) · Installation: [English](INSTALL.md) / [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.2.8 -->
5
+ <!-- release-skill:release-version: 0.3.0 -->
6
6
  Release preparation for Claude Code, CodeBuddy, WorkBuddy, Codex, and Kimi Code, with human-edited files kept intact.
7
7
 
8
8
  release-skill helps a maintainer answer three questions: what will be released,
@@ -14,27 +14,27 @@ Setup surfaces only the deterministic `compactSummary` review view; the full
14
14
  report stays in a temporary session directory.
15
15
 
16
16
  <!-- release-skill:managed:start id=latest-release -->
17
- **0.2.8** (2026-07-30)
17
+ **0.3.0** (2026-07-31)
18
18
 
19
- v0.2.8 adds a project-configurable expected public-surface gate so newly added or omitted release files cannot silently disappear from a frozen snapshot.
19
+ v0.3.0 streamlines production releases into a resumable orchestration with reusable hook receipts, consolidated approvals, and stronger consumer-install evidence.
20
20
 
21
21
  **Added**
22
22
 
23
- - **Expected public surface**: release units can declare physical scan roots with compact `include` and `exclude` globs instead of maintaining a second per-file checker.
24
- - **Exhaustive classification diagnostics**: prepare reports missing mappings, unexpected mappings, unclassified files, and files that ambiguously match both include and exclude rules.
23
+ - **Resumable ship orchestration**: the new `ship` command persists the active release state and resumes prepare, approval, publish, reconcile, and verification without rebuilding authority from conversational context.
24
+ - **Reusable hook receipts**: `hooks validate` executes declared hooks through the same content-bound cache used by prepare, so unchanged checks do not need to run again.
25
+ - **Verified manual attestations**: `attest` validates a reported Kimi or CodeBuddy installation against the exact frozen plugin payload before recording consumer evidence.
26
+ - **Git transport preflight**: production publishing selects one repository-consistent HTTPS or SSH transport before any remote write and blocks conflicting remote identities.
25
27
 
26
28
  **Changed**
27
29
 
28
- - **Post-build release gate**: prepare scans the actual workspace after build hooks and blocks before source-authority closure, baseline capture, snapshot construction, or plan creation.
29
- - **Bounded glob and path safety**: the built-in scanner supports `*`, `?`, and `**`, rejects overlapping or escaping scan roots, and keeps workspace control paths outside the project classification surface.
30
-
31
- **Fixed**
32
-
33
- - **Silent release-file omission**: a file classified for publication can no longer be absent from `publicFiles` while the release still reaches `PREPARED`.
30
+ - **Consolidated human decisions**: the normal path requires at most one hook-side-effect authorization and one immutable-plan approval; manual consumer requirements are collected before automatic verification.
31
+ - **Parallel consumer verification**: independent consumer checks run concurrently, drain before failure reporting, and produce deterministically ordered evidence.
32
+ - **Automatic release metadata**: successful verification advances each unit's `previousPublicBaseline` to the frozen public commit, tree, and manifest digest.
33
+ - **Compact prepare output**: JSON output references the immutable plan by path and digest instead of embedding the full plan.
34
34
  <!-- release-skill:managed:end id=latest-release -->
35
35
 
36
36
  <!-- release-skill:capability:external-write-boundary -->
37
- > **Current boundary:** v0.2.8 is the current release (v0.2.2 previously held
37
+ > **Current boundary:** v0.3.0 is the current release (v0.2.2 previously held
38
38
  > published status before the platform verification convergence fix was added).
39
39
  > v0.1.1 completed a real production release to GitHub and npm — the first
40
40
  > production-verified milestone — followed by
@@ -52,7 +52,7 @@ v0.2.8 adds a project-configurable expected public-surface gate so newly added o
52
52
  > publish global preflight.
53
53
 
54
54
  <!-- release-skill:capability:safe-first-command -->
55
- > **Production path verified since the v0.1.1 milestone; v0.2.8 is the current
55
+ > **Production path verified since the v0.1.1 milestone; v0.3.0 is the current
56
56
  > release.** The npm-installed CLI is the supported user entry. Source checkout
57
57
  > is the development/contributor fallback.
58
58
  >
@@ -118,6 +118,31 @@ See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, and Kimi Code commands.
118
118
 
119
119
  ### Main workflow
120
120
 
121
+ For routine releases, use the durable fast path. It persists authoritative
122
+ paths and resumes safely, so a normal run needs at most two authorization
123
+ digests: one for the exact configured hooks and one for the frozen plan. The
124
+ plan approval also authorizes that plan's post-publish verification gates.
125
+
126
+ ```bash
127
+ release-skill ship --root "$PROJECT" --target-version 1.2.3 --json
128
+ release-skill ship --root "$PROJECT" --authorize-hooks <hookDigest> --actor "$ACTOR" --json
129
+ release-skill ship --root "$PROJECT" --approve-plan <planDigest> --actor "$ACTOR" --json
130
+ ```
131
+
132
+ If interactive consumers are required, `ship` returns every Kimi/CodeBuddy
133
+ requirement at once. After installing/reloading, record the human fact without
134
+ editing JSON and rerun `ship`:
135
+
136
+ ```bash
137
+ release-skill attest --root "$PROJECT" --platform kimi --plugin my-plugin \
138
+ --result passed --actor "$ACTOR" --install-path /actual/managed/plugin/path
139
+ release-skill ship --root "$PROJECT" --json
140
+ ```
141
+
142
+ During development, `release-skill hooks validate
143
+ --acknowledge-hook-side-effects` runs declared hooks and writes the same
144
+ content-bound cache receipts that `prepare` consumes.
145
+
121
146
  Run these steps in order. Steps 1-4 are safe (read-only or local-only);
122
147
  steps 5-9 require explicit human gates.
123
148
 
package/README.zh-CN.md CHANGED
@@ -2,33 +2,33 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.2.8 -->
5
+ <!-- release-skill:release-version: 0.3.0 -->
6
6
  面向 Claude Code、CodeBuddy、WorkBuddy、Codex 和 Kimi Code 的发布准备工具,完整保留人工维护的文件内容。
7
7
 
8
8
  release-skill 帮助维护者回答三个问题:准备发布什么、还有哪些检查未通过、最终发布的内容是什么。它不重新生成、也不回写项目源文件。`prepare` 把每个配置的公开文件复制到隔离快照并验证字节——先冻结并供人工审阅,再从同一份冻结产物发布。`setup` 只显示确定性的 `compactSummary` 审阅视图,完整报告保留在临时会话目录中。
9
9
 
10
10
  <!-- release-skill:managed:start id=latest-release -->
11
- **0.2.8** (2026-07-30)
11
+ **0.3.0** (2026-07-31)
12
12
 
13
- v0.2.8 新增项目可配置的期望发布面门禁,防止新增或漏声明的发布文件静默消失在冻结快照之外。
13
+ v0.3.0 将生产发布收敛为可恢复总编排,通过复用钩子收据、合并人工授权并加强消费者安装证据,缩短发布链路。
14
14
 
15
15
  **新增**
16
16
 
17
- - **期望发布面**:发布单元可以通过精简的 `include`、`exclude` glob 声明物理扫描根,无需再维护第二份逐文件检查器。
18
- - **穷举分类诊断**:prepare 会报告缺失映射、多余映射、未分类文件,以及同时命中包含和排除规则的歧义文件。
17
+ - **可恢复的 ship 总编排**:新增 `ship` 命令持久化当前发布状态,可连续恢复 prepare、审批、publish、reconcile 与 verify,不依赖对话上下文重建发布权限。
18
+ - **可复用钩子收据**:`hooks validate` 通过与 prepare 相同的内容绑定缓存执行项目钩子,输入未变化时无需重复运行。
19
+ - **可验证的人工证明**:`attest` 在记录 Kimi 或 CodeBuddy 消费者证据前,会把申报的安装目录与精确冻结插件载荷进行核验。
20
+ - **Git 传输预检**:任何远端写入前,生产发布会在全部仓库间选择一致可用的 HTTPS 或 SSH 传输,并阻断远端身份冲突。
19
21
 
20
22
  **变更**
21
23
 
22
- - **构建后发布门禁**:prepare 在 build hook 后扫描真实工作区,并在源码权威闭集、基线捕获、快照构建和计划写入前阻断失败。
23
- - **有界 glob 与路径安全**:内建扫描器支持 `*`、`?`、`**`,拒绝重叠或逃逸的扫描根,并将工作区控制面排除在项目分类范围之外。
24
-
25
- **修复**
26
-
27
- - **发布文件静默漏项**:已归类为应发布的文件如果缺少 `publicFiles` 映射,发布将无法再进入 `PREPARED`。
24
+ - **合并人工决策**:普通路径最多只需一次钩子副作用授权和一次不可变计划审批;人工消费者要求会在自动验证前集中生成。
25
+ - **并行消费者验证**:相互独立的消费者检查并行执行,全部收敛后再报告失败,并确定性排序证据。
26
+ - **自动推进发布元数据**:验证成功后,各发布单元的 `previousPublicBaseline` 自动更新为冻结的公开 commit、tree 与 manifest digest。
27
+ - **精简 prepare 输出**:JSON 结果改为通过路径和摘要引用不可变计划,不再内嵌完整计划。
28
28
  <!-- release-skill:managed:end id=latest-release -->
29
29
 
30
30
  <!-- release-skill:capability:external-write-boundary -->
31
- > **当前边界:** v0.2.8 是当前发布版本(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
31
+ > **当前边界:** v0.3.0 是当前发布版本(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
32
32
  > v0.1.1 已完成 GitHub 与 npm 的
33
33
  > 真实生产发布,是首次生产验证的历史里程碑,并从冻结 Git ref 完成精确 npm
34
34
  > 安装及 Claude/Codex 消费者安装验证;"当前发布版本"与"首次生产验证里程碑"
@@ -41,7 +41,7 @@ v0.2.8 新增项目可配置的期望发布面门禁,防止新增或漏声明
41
41
  > 远端唯一性检查在 `publish` 全局预检执行。
42
42
 
43
43
  <!-- release-skill:capability:safe-first-command -->
44
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.2.8 是当前发布版本。**
44
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.3.0 是当前发布版本。**
45
45
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
46
46
  >
47
47
  > **第一条命令:**
@@ -105,6 +105,29 @@ CodeBuddy、Codex 和 Kimi Code 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh
105
105
 
106
106
  ### 主流程
107
107
 
108
+ 日常发布优先使用可恢复的快速路径。它会持久化所有权威文件路径,正常流程最多
109
+ 只需确认两个摘要:一次绑定当前配置与 hooks,一次绑定冻结计划;计划审批同时
110
+ 授权该计划的发布后验证门禁。
111
+
112
+ ```bash
113
+ release-skill ship --root "$PROJECT" --target-version 1.2.3 --json
114
+ release-skill ship --root "$PROJECT" --authorize-hooks <hookDigest> --actor "$ACTOR" --json
115
+ release-skill ship --root "$PROJECT" --approve-plan <planDigest> --actor "$ACTOR" --json
116
+ ```
117
+
118
+ 如果存在交互式消费者,`ship` 会一次列出全部 Kimi/CodeBuddy 人工事项。安装并
119
+ reload 后,用命令记录人工事实,不再手改 JSON,然后续跑 `ship`:
120
+
121
+ ```bash
122
+ release-skill attest --root "$PROJECT" --platform kimi --plugin my-plugin \
123
+ --result passed --actor "$ACTOR" --install-path /actual/managed/plugin/path
124
+ release-skill ship --root "$PROJECT" --json
125
+ ```
126
+
127
+ 开发阶段可运行 `release-skill hooks validate
128
+ --acknowledge-hook-side-effects`;它会执行声明的 hooks,并写入 `prepare`
129
+ 可复用的内容绑定收据。
130
+
108
131
  按以下顺序执行。步骤 1-4 是安全默认(只读或仅本地);步骤 5-9 需要显式人工门禁。
109
132
 
110
133
  ```bash
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "release-skill",
11
11
  "source": "./",
12
- "version": "0.2.8",
12
+ "version": "0.3.0",
13
13
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification"
14
14
  }
15
15
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"