release-skill 0.2.3 → 0.2.4
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +22 -0
- package/CONTRIBUTING.md +27 -0
- package/INSTALL.md +95 -139
- package/INSTALL.zh-CN.md +70 -121
- package/README.md +264 -913
- package/README.zh-CN.md +222 -535
- package/adapters/claude/.claude-plugin/marketplace.json +1 -1
- package/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/adapters/claude/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/claude/schemas/release-plan.schema.json +137 -0
- package/adapters/claude/schemas/release-project.schema.json +93 -0
- package/adapters/claude/schemas/release-run.schema.json +70 -2
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/codex/schemas/release-plan.schema.json +137 -0
- package/adapters/codex/schemas/release-project.schema.json +93 -0
- package/adapters/codex/schemas/release-run.schema.json +70 -2
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/kimi/schemas/release-plan.schema.json +137 -0
- package/adapters/kimi/schemas/release-project.schema.json +93 -0
- package/adapters/kimi/schemas/release-run.schema.json +70 -2
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/workbuddy/schemas/release-plan.schema.json +137 -0
- package/adapters/workbuddy/schemas/release-project.schema.json +93 -0
- package/adapters/workbuddy/schemas/release-run.schema.json +70 -2
- package/bin/release-skill.bundle.mjs +19054 -17573
- package/package.json +1 -1
- package/schemas/release-plan.schema.json +137 -0
- package/schemas/release-project.schema.json +93 -0
- package/schemas/release-run.schema.json +70 -2
- package/src/adapters/plugin-marketplace.mjs +1190 -435
- package/src/commands/prepare.mjs +380 -40
- package/src/commands/publish.mjs +107 -75
- package/src/commands/reconcile.mjs +92 -327
- package/src/commands/setup.mjs +148 -20
- package/src/commands/verify.mjs +304 -20
- package/src/core/baseline.mjs +8 -1
- package/src/core/checkpoints.mjs +50 -7
- package/src/core/config.mjs +15 -0
- package/src/core/errors.mjs +2 -0
- package/src/core/installation-contract.mjs +341 -0
- package/src/core/plan.mjs +129 -6
- package/src/platforms/codebuddy.mjs +193 -280
- package/src/platforms/codex.mjs +369 -0
- package/src/platforms/kimi.mjs +164 -119
- package/src/platforms/registry.mjs +24 -6
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.
|
|
5
|
+
<!-- release-skill:release-version: 0.2.4 -->
|
|
6
6
|
## 前置条件
|
|
7
7
|
|
|
8
8
|
- Node.js 22.0.0 或更高版本
|
|
@@ -32,39 +32,32 @@ release-skill help
|
|
|
32
32
|
|
|
33
33
|
输出中应包含版本号和可用命令列表。
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## 安装为插件(bundled-family 市场——推荐)
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
[ifoohoo/
|
|
39
|
-
安装 release-skill
|
|
40
|
-
|
|
37
|
+
Claude Code、CodeBuddy、WorkBuddy 和 Codex 从 bundled-family 市场
|
|
38
|
+
[ifoohoo/release-skill](https://github.com/ifoohoo/release-skill)
|
|
39
|
+
安装 release-skill。插件仓库自身携带市场清单
|
|
40
|
+
(`.claude-plugin/marketplace.json`),无需外部市场。Kimi Code 没有市场安装
|
|
41
|
+
接口——见 [Kimi Code 小节](#安装为-kimi-code-插件)。先添加一次市场,再安装
|
|
41
42
|
插件:
|
|
42
43
|
|
|
43
|
-
>
|
|
44
|
-
>
|
|
45
|
-
|
|
46
|
-
>
|
|
47
|
-
> 声明 `marketplaceRepo` 时,`prepare --online --production` 会冻结外部市场
|
|
48
|
-
> HEAD——Codex 钉 commit sha(强冻结)、Claude 钉默认分支名(弱冻结)——并以
|
|
49
|
-
> 本单元自身冻结快照整树校验安装载荷(契约 `external-marketplace-v1`)。
|
|
50
|
-
>
|
|
51
|
-
> **发布时序(先市场后插件)。** 由于安装目标是外部市场,marketplace 索引必须
|
|
52
|
-
> **先**定版并发布——其 `release-skill` 条目版本须等于目标发布版本(claude 形态
|
|
53
|
-
> 会校验该条目)——之后 `prepare --online --production` 才能冻结到含该条目的市场
|
|
54
|
-
> sha。详见 `references/06-adapter-contract.md` §2.3/§2.4。
|
|
44
|
+
> **前置条件:GitHub 访问。** `owner/repo` 简写会让 Claude Code 通过
|
|
45
|
+
> `git@github.com:...`(SSH)克隆,需要本机配置 GitHub 公钥。如不使用 SSH,
|
|
46
|
+
> 可传完整 HTTPS 地址——`/plugin marketplace add https://github.com/ifoohoo/release-skill`——
|
|
47
|
+
> 或设置 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`。
|
|
55
48
|
|
|
56
49
|
**Claude Code**(交互会话中):
|
|
57
50
|
|
|
58
51
|
```
|
|
59
|
-
/plugin marketplace add ifoohoo/
|
|
60
|
-
/plugin install release-skill@
|
|
52
|
+
/plugin marketplace add ifoohoo/release-skill
|
|
53
|
+
/plugin install release-skill@release-skill
|
|
61
54
|
```
|
|
62
55
|
|
|
63
56
|
**CodeBuddy / WorkBuddy:**
|
|
64
57
|
|
|
65
58
|
```bash
|
|
66
|
-
codebuddy plugin marketplace add ifoohoo/
|
|
67
|
-
codebuddy plugin install release-skill@
|
|
59
|
+
codebuddy plugin marketplace add ifoohoo/release-skill
|
|
60
|
+
codebuddy plugin install release-skill@release-skill
|
|
68
61
|
```
|
|
69
62
|
|
|
70
63
|
WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marketplace add`
|
|
@@ -73,19 +66,15 @@ WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marke
|
|
|
73
66
|
**OpenAI Codex:**
|
|
74
67
|
|
|
75
68
|
```bash
|
|
76
|
-
codex plugin marketplace add ifoohoo/
|
|
69
|
+
codex plugin marketplace add ifoohoo/release-skill
|
|
77
70
|
```
|
|
78
71
|
|
|
79
72
|
然后在交互式 `/plugins` 浏览器中安装 `release-skill`。
|
|
80
73
|
|
|
81
74
|
**Kimi Code**(交互会话中):
|
|
82
75
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
或在启动前把 `KIMI_CODE_PLUGIN_MARKETPLACE_URL` 指向同一 URL。然后在
|
|
88
|
-
`/plugins` 面板中安装 `release-skill`。
|
|
76
|
+
Kimi Code 没有市场安装接口,需手动安装并钉死到特定 release tag。详见
|
|
77
|
+
[Kimi Code 小节](#安装为-kimi-code-插件)的版本钉死手动安装与证明闭环。
|
|
89
78
|
|
|
90
79
|
### 备选:直接从仓库安装(进阶)
|
|
91
80
|
|
|
@@ -114,60 +103,43 @@ Kimi Code 有交互式插件市场,但**没有可脚本化的非交互安装
|
|
|
114
103
|
release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观测/人工证明”:
|
|
115
104
|
`publish`/`verify` 从不对 Kimi 执行自动安装。完整闭环如下:
|
|
116
105
|
|
|
117
|
-
1. `publish`
|
|
118
|
-
|
|
119
|
-
**失败关闭**,整个 run 落入 `PARTIAL`——已成功的自动化写入**不会**被撤销。
|
|
120
|
-
检查点输出(以及下面的 requirement 文件)会给出隔离的 `KIMI_CODE_HOME`、
|
|
121
|
-
钉死的安装 URL 与证明写入路径。
|
|
106
|
+
1. `publish` 先完成自动化远端写入(Git branch/tag、npm、GitHub Release)。
|
|
107
|
+
`kimi-marketplace-install` 动作在 publish 阶段记录为 `DEFERRED`,不调用市场适配器,自动化安装路径失败关闭。全部远端永久写入一致后运行进入 `PUBLISHED`。运行记录会给出钉死的安装 URL 与证明写入路径。
|
|
122
108
|
2. 读取 requirement:
|
|
123
109
|
`<root>/.release-skill/kimi-attestations/<planDigest>/<plugin>/release-skill-kimi-manual-install.json`。
|
|
124
|
-
3.
|
|
125
|
-
|
|
110
|
+
3. 启动 Kimi Code,从钉死到精确版本的 release tag 安装(切勿使用裸仓库地址,
|
|
111
|
+
它会安装最新 release 或默认分支),确认信任提示后重新加载。写出证明之前,
|
|
112
|
+
必须核实已安装插件清单版本等于冻结版本;否则**不得**出具证明。
|
|
126
113
|
|
|
127
114
|
```
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
插件会安装到 `<kimiCodeHome>/plugins/managed/<plugin>/`。
|
|
132
|
-
4. 在该隔离会话中,从钉死到精确版本的 release tag 安装(切勿使用裸仓库地址,
|
|
133
|
-
它会安装最新 release 或默认分支),确认信任提示后重新加载:
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.3
|
|
115
|
+
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.4
|
|
137
116
|
/plugins reload
|
|
138
117
|
```
|
|
139
118
|
|
|
140
|
-
|
|
119
|
+
4. 把人工结果 JSON 写入
|
|
141
120
|
`<root>/.release-skill/kimi-attestations/<planDigest>/<plugin>/release-skill-kimi-attestation.json`。
|
|
142
|
-
`planDigest` 必须是冻结**计划**摘要;`
|
|
143
|
-
|
|
144
|
-
时间,`expiresAt` 必须在 `attestedAt` 之后 24 小时内。示例:
|
|
121
|
+
`planDigest` 必须是冻结**计划**摘要;`result` 只接受 `"passed"` 或 `"failed"`。
|
|
122
|
+
示例:
|
|
145
123
|
|
|
146
124
|
```json
|
|
147
125
|
{
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"version": "0.2.3",
|
|
151
|
-
"entrySkill": "release-help",
|
|
152
|
-
"repo": "ifoohoo/release-skill",
|
|
153
|
-
"ref": "release-skill-v0.2.3",
|
|
154
|
-
"installPath": "<kimiCodeHome>/plugins/managed/release-skill",
|
|
126
|
+
"platform": "kimi",
|
|
127
|
+
"version": "0.2.4",
|
|
155
128
|
"planDigest": "<64 位十六进制冻结计划摘要>",
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
129
|
+
"result": "passed",
|
|
130
|
+
"actor": "<确认人>",
|
|
131
|
+
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
132
|
+
"note": "<可选备注>"
|
|
160
133
|
}
|
|
161
134
|
```
|
|
162
135
|
|
|
163
|
-
|
|
164
|
-
`
|
|
165
|
-
|
|
166
|
-
新 run 目录不会丢失该证明。
|
|
136
|
+
5. 运行 `release-skill verify --run <publish-run>`(→
|
|
137
|
+
`VERIFIED`)。verify 命令从同一个按计划摘要命名的目录读取证明,因此新的
|
|
138
|
+
run 目录不会丢失该证明。
|
|
167
139
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
140
|
+
当平台没有可靠的自动化验证时,绑定后的人工 `passed`/`failed` 结果即为权威判定。
|
|
141
|
+
`verify` 命令消费人工结果,成功后进入 `VERIFIED`。但身份、版本、载荷、市场来源
|
|
142
|
+
或安装契约不一致时,不可被人工 `passed` 结果覆盖。
|
|
171
143
|
|
|
172
144
|
## 安装为 CodeBuddy/WorkBuddy 插件
|
|
173
145
|
|
|
@@ -190,76 +162,53 @@ codebuddy CLI 可以添加市场并安装插件,但 **`plugin marketplace add`
|
|
|
190
162
|
“**手动**安装 + 可信观测/人工证明”(与 Kimi Code 相同的能力缺口与闭环):
|
|
191
163
|
`publish`/`verify` 从不对 CodeBuddy 执行自动安装。完整闭环如下:
|
|
192
164
|
|
|
193
|
-
1. `publish`
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
检查点输出(以及下面的 requirement 文件)会给出两个安装通道、统一市场、
|
|
197
|
-
隔离的 CLI home 与证明写入路径。
|
|
165
|
+
1. `publish` 先完成自动化远端写入(Git branch/tag、npm、GitHub Release)。
|
|
166
|
+
`codebuddy-marketplace-install` 动作在 publish 阶段记录为 `DEFERRED`,不调用
|
|
167
|
+
市场适配器,自动化安装路径失败关闭。全部远端永久写入一致后运行进入 `PUBLISHED`。运行记录会给出证明写入路径。
|
|
198
168
|
2. 读取 requirement:
|
|
199
169
|
`<root>/.release-skill/codebuddy-attestations/<planDigest>/<plugin>/release-skill-codebuddy-manual-install.json`。
|
|
200
|
-
3.
|
|
201
|
-
(https://github.com/ifoohoo/
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
`~/.workbuddy/settings.json` 的 `enabledPlugins` 含
|
|
205
|
-
`"release-skill@artifact-skill-set": true`。插件落点为
|
|
206
|
-
`~/.workbuddy/plugins/marketplaces/artifact-skill-set/plugins/release-skill/`。
|
|
207
|
-
|
|
208
|
-
**备选路径(捆绑的 codebuddy CLI,可隔离):** 用 requirement 给出的**隔离**
|
|
209
|
-
home 运行 CLI,使克隆落在其中(不要使用你日常的 `~/.codebuddy`):
|
|
210
|
-
|
|
211
|
-
```
|
|
212
|
-
HOME="<codebuddyHome>" <codebuddy 二进制> plugin marketplace add https://github.com/ifoohoo/artifact-skill-set
|
|
213
|
-
HOME="<codebuddyHome>" <codebuddy 二进制> plugin install release-skill@artifact-skill-set
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
CLI 随 WorkBuddy.app 捆绑(macOS 已知路径
|
|
217
|
-
`/Applications/WorkBuddy.app/Contents/Resources/app.asar.unpacked/cli/bin/codebuddy`)。
|
|
218
|
-
插件落点为
|
|
219
|
-
`<codebuddyHome>/.codebuddy/plugins/marketplaces/artifact-skill-set/plugins/release-skill/`。
|
|
220
|
-
4. **ref 限制警告:** codebuddy 安装跟踪市场默认分支,**无法**钉死到冻结 ref。
|
|
221
|
-
写出证明之前,必须核实已安装插件清单版本等于冻结版本 `0.2.3`;否则**不得**
|
|
222
|
-
出具证明。
|
|
223
|
-
5. 把证明 JSON 写入
|
|
170
|
+
3. 从 bundled-family 市场 `ifoohoo/release-skill`
|
|
171
|
+
(https://github.com/ifoohoo/release-skill)安装 release-skill。
|
|
172
|
+
写出证明之前,必须核实已安装插件清单版本等于冻结版本;否则**不得**出具证明。
|
|
173
|
+
4. 把人工结果 JSON 写入
|
|
224
174
|
`<root>/.release-skill/codebuddy-attestations/<planDigest>/<plugin>/release-skill-codebuddy-attestation.json`。
|
|
225
|
-
`planDigest` 必须是冻结**计划**摘要;`
|
|
226
|
-
摘要;`installChannel` 必须是 `"desktop"` 或 `"cli"`;`marketplace` 必须是
|
|
227
|
-
`artifact-skill-set`;`installPath` 必须是所选通道的实际安装目录;
|
|
228
|
-
`attestedAt` 不得为未来时间,`expiresAt` 必须在 `attestedAt` 之后 24 小时内。
|
|
175
|
+
`planDigest` 必须是冻结**计划**摘要;`result` 只接受 `"passed"` 或 `"failed"`。
|
|
229
176
|
示例:
|
|
230
177
|
|
|
231
178
|
```json
|
|
232
179
|
{
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
"version": "0.2.3",
|
|
236
|
-
"entrySkill": "release-help",
|
|
237
|
-
"repo": "ifoohoo/release-skill",
|
|
238
|
-
"ref": "release-skill-v0.2.3",
|
|
239
|
-
"marketplace": "artifact-skill-set",
|
|
240
|
-
"installChannel": "desktop",
|
|
241
|
-
"installPath": "~/.workbuddy/plugins/marketplaces/artifact-skill-set/plugins/release-skill",
|
|
180
|
+
"platform": "codebuddy",
|
|
181
|
+
"version": "0.2.4",
|
|
242
182
|
"planDigest": "<64 位十六进制冻结计划摘要>",
|
|
243
|
-
"
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"
|
|
183
|
+
"result": "passed",
|
|
184
|
+
"actor": "<确认人>",
|
|
185
|
+
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
186
|
+
"note": "<可选备注>"
|
|
247
187
|
}
|
|
248
188
|
```
|
|
249
189
|
|
|
250
|
-
|
|
251
|
-
`
|
|
252
|
-
|
|
253
|
-
新 run 目录不会丢失该证明。
|
|
190
|
+
5. 运行 `release-skill verify --run <publish-run>`(→
|
|
191
|
+
`VERIFIED`)。verify 命令从同一个按计划摘要命名的目录读取证明,因此新的
|
|
192
|
+
run 目录不会丢失该证明。
|
|
254
193
|
|
|
255
|
-
|
|
256
|
-
`
|
|
257
|
-
|
|
258
|
-
`~/.workbuddy` 市场布局,那本身就是公认的有效证明布局。)
|
|
194
|
+
当平台没有可靠的自动化验证时,绑定后的人工 `passed`/`failed` 结果即为权威判定。
|
|
195
|
+
`verify` 命令消费人工结果,成功后进入 `VERIFIED`。但身份、版本、载荷、市场来源
|
|
196
|
+
或安装契约不一致时,不可被人工 `passed` 结果覆盖。
|
|
259
197
|
|
|
260
198
|
源码检出后也可以用 `--plugin-dir <path>/adapters/workbuddy` 把 CodeBuddy 指向
|
|
261
199
|
生成的插件目录做单会话使用;适配器不引用自身目录之外的任何文件。
|
|
262
200
|
|
|
201
|
+
## 消费端安装验证边界
|
|
202
|
+
|
|
203
|
+
**何时执行验证。** 消费端安装验证仅在安装契约关键文件相对已确认公开基线发生变化时执行;
|
|
204
|
+
关键文件未变化时结果为 `NOT_REQUIRED_UNCHANGED`,不得追加重复安装验证。
|
|
205
|
+
|
|
206
|
+
**市场来源选择。** 每个平台、每次发布只能选择一种市场来源:
|
|
207
|
+
`bundled-family`(技能族自带市场文件)或 `standalone-index`(独立市场索引),不能同时使用。
|
|
208
|
+
|
|
209
|
+
**Codex 自动验证优先。** Codex 优先自动验证;仅当 CLI/接口、运行环境或传输通道不可用时,
|
|
210
|
+
才允许降级为人工判定。身份、版本、载荷、市场来源或安装契约不一致属于失败,不能人工覆盖。
|
|
211
|
+
|
|
263
212
|
## 开发安装(本地源码)
|
|
264
213
|
|
|
265
214
|
用于开发或尚未公开发布的源码候选:
|