release-skill 0.2.9 → 0.4.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.
- 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 +41 -0
- package/INSTALL.md +34 -110
- package/INSTALL.zh-CN.md +17 -83
- package/README.md +49 -41
- package/README.zh-CN.md +43 -34
- 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 +4131 -3180
- package/adapters/claude/schemas/release-plan.schema.json +7 -0
- package/adapters/claude/schemas/release-run.schema.json +43 -0
- package/adapters/claude/skills/release-help/SKILL.md +10 -2
- package/adapters/claude/skills/release-prepare/SKILL.md +6 -15
- package/adapters/claude/skills/release-publish/SKILL.md +5 -6
- package/adapters/claude/skills/release-reconcile/SKILL.md +2 -2
- package/adapters/claude/skills/release-verify/SKILL.md +4 -6
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +4131 -3180
- package/adapters/codex/schemas/release-plan.schema.json +7 -0
- package/adapters/codex/schemas/release-run.schema.json +43 -0
- package/adapters/codex/skills/release-help/SKILL.md +10 -2
- package/adapters/codex/skills/release-prepare/SKILL.md +6 -15
- package/adapters/codex/skills/release-publish/SKILL.md +5 -6
- package/adapters/codex/skills/release-reconcile/SKILL.md +2 -2
- package/adapters/codex/skills/release-verify/SKILL.md +4 -6
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +4131 -3180
- package/adapters/kimi/schemas/release-plan.schema.json +7 -0
- package/adapters/kimi/schemas/release-run.schema.json +43 -0
- package/adapters/kimi/skills/release-help/SKILL.md +10 -2
- package/adapters/kimi/skills/release-prepare/SKILL.md +6 -15
- package/adapters/kimi/skills/release-publish/SKILL.md +5 -6
- package/adapters/kimi/skills/release-reconcile/SKILL.md +2 -2
- package/adapters/kimi/skills/release-verify/SKILL.md +4 -6
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +4131 -3180
- package/adapters/workbuddy/schemas/release-plan.schema.json +7 -0
- package/adapters/workbuddy/schemas/release-run.schema.json +43 -0
- package/adapters/workbuddy/skills/release-help/SKILL.md +10 -2
- package/adapters/workbuddy/skills/release-prepare/SKILL.md +6 -15
- package/adapters/workbuddy/skills/release-publish/SKILL.md +5 -6
- package/adapters/workbuddy/skills/release-reconcile/SKILL.md +2 -2
- package/adapters/workbuddy/skills/release-verify/SKILL.md +4 -6
- package/bin/release-skill-cli.mjs +212 -43
- package/bin/release-skill.bundle.mjs +4131 -3180
- package/package.json +1 -1
- package/references/01-state-machine.md +1 -1
- package/references/06-adapter-contract.md +6 -5
- package/schemas/release-plan.schema.json +7 -0
- package/schemas/release-run.schema.json +43 -0
- package/skills/release-help/SKILL.md +10 -2
- package/skills/release-prepare/SKILL.md +6 -15
- package/skills/release-publish/SKILL.md +5 -6
- package/skills/release-reconcile/SKILL.md +2 -2
- package/skills/release-verify/SKILL.md +4 -6
- package/skills-src/release-help/SKILL.md +10 -2
- package/skills-src/release-prepare/SKILL.md +6 -15
- package/skills-src/release-publish/SKILL.md +5 -6
- package/skills-src/release-reconcile/SKILL.md +2 -2
- package/skills-src/release-verify/SKILL.md +4 -6
- package/src/adapters/plugin-marketplace.mjs +1 -1
- package/src/adapters/push-snapshot.mjs +3 -1
- package/src/commands/approve.mjs +8 -6
- package/src/commands/attest.mjs +195 -0
- package/src/commands/hooks.mjs +42 -0
- package/src/commands/prepare.mjs +13 -50
- package/src/commands/publish.mjs +0 -8
- package/src/commands/reconcile.mjs +3 -37
- package/src/commands/ship.mjs +334 -0
- package/src/commands/verify.mjs +195 -15
- package/src/core/git-transport.mjs +93 -0
- package/src/core/release-metadata.mjs +105 -0
- package/src/core/skill-resource-closure.mjs +7 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "release-skill",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.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.
|
|
22
|
+
"Prepare a release plan for version 0.4.0.",
|
|
23
23
|
"Help me understand the release workflow."
|
|
24
24
|
]
|
|
25
25
|
}
|
package/.kimi-plugin/plugin.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.4.0 locale=en baseline=sha256:099d9db24049aeaae78a21d3bd5152582bb20d4efad1ceff085f9609e8e6d52e -->
|
|
4
|
+
## [0.4.0] - 2026-08-02
|
|
5
|
+
|
|
6
|
+
v0.4.0 simplifies the production release path to one frozen-plan approval and moves unavailable Kimi or CodeBuddy installations into non-blocking manual follow-up tasks.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- **Manual consumer follow-ups**: when Kimi or CodeBuddy cannot be installed automatically, the release records an installation task after publishing without requiring system attestation.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **Single release approval**: the normal production path now asks only for approval of the immutable release plan; invoking a command authorizes its configured hooks and gates.
|
|
15
|
+
- **Non-blocking human consumers**: Kimi and CodeBuddy manual installation tasks no longer prevent the automated release from reaching `VERIFIED`.
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
|
|
19
|
+
- **Redundant confirmation flags**: legacy plan-digest repetition, production-confirmation, hook-authorization, and manual-attestation interactions were removed from the normal release path.
|
|
20
|
+
<!-- release-skill:changelog:end version=0.4.0 locale=en -->
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<!-- release-skill:changelog:start version=0.3.0 locale=en baseline=sha256:ee0626856918a8fae3b49f3e1645b8f2dc4149519499edbd04e175939faa1b2e -->
|
|
24
|
+
## [0.3.0] - 2026-07-31
|
|
25
|
+
|
|
26
|
+
v0.3.0 streamlines production releases into a resumable orchestration with reusable hook receipts, consolidated approvals, and stronger consumer-install evidence.
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- **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.
|
|
31
|
+
- **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.
|
|
32
|
+
- **Manual consumer follow-ups**: Kimi and CodeBuddy installation tasks are emitted after automated publishing and explicitly remain outside system verification.
|
|
33
|
+
- **Git transport preflight**: production publishing selects one repository-consistent HTTPS or SSH transport before any remote write and blocks conflicting remote identities.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **Consolidated human decisions**: the normal path requires one immutable-plan approval; invoking a command authorizes its configured hooks and gates, while manual consumer tasks are collected after publishing.
|
|
38
|
+
- **Parallel consumer verification**: independent consumer checks run concurrently, drain before failure reporting, and produce deterministically ordered evidence.
|
|
39
|
+
- **Automatic release metadata**: successful verification advances each unit's `previousPublicBaseline` to the frozen public commit, tree, and manifest digest.
|
|
40
|
+
- **Compact prepare output**: JSON output references the immutable plan by path and digest instead of embedding the full plan.
|
|
41
|
+
<!-- release-skill:changelog:end version=0.3.0 locale=en -->
|
|
42
|
+
|
|
43
|
+
|
|
3
44
|
<!-- release-skill:changelog:start version=0.2.9 locale=en baseline=sha256:22b3d94c5d99fca0e6016334a108e4be5f3419f45507fae795b4d0714ca7ad6d -->
|
|
4
45
|
## [0.2.9] - 2026-07-31
|
|
5
46
|
|
package/INSTALL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](INSTALL.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
<!-- release-skill:release-version: 0.
|
|
5
|
+
<!-- release-skill:release-version: 0.4.0 -->
|
|
6
6
|
## Prerequisites
|
|
7
7
|
|
|
8
8
|
- Node.js 22.0.0 or later
|
|
@@ -78,9 +78,9 @@ Then install `release-skill` from the interactive `/plugins` browser.
|
|
|
78
78
|
|
|
79
79
|
**Kimi Code** (interactive session):
|
|
80
80
|
|
|
81
|
-
Kimi Code has no marketplace install API. Installation is
|
|
82
|
-
specific release tag.
|
|
83
|
-
|
|
81
|
+
Kimi Code has no marketplace install API. Installation is a post-release manual
|
|
82
|
+
task pinned to a specific release tag. release-skill reports the task but does
|
|
83
|
+
not verify its completion.
|
|
84
84
|
|
|
85
85
|
### Alternative: direct repository install (advanced)
|
|
86
86
|
|
|
@@ -103,61 +103,24 @@ Kimi Code plugin manifest lives at `.kimi-plugin/plugin.json`, mirroring
|
|
|
103
103
|
`.claude-plugin/plugin.json` and `.codex-plugin/plugin.json`, and the package
|
|
104
104
|
ships `adapters/kimi/` next to `adapters/claude/` and `adapters/codex/`.
|
|
105
105
|
|
|
106
|
-
For day-to-day installation, prefer the
|
|
107
|
-
[unified marketplace path](#install-as-a-plugin-unified-marketplace--recommended)
|
|
108
|
-
above. The remainder of this section documents the version-pinned manual
|
|
109
|
-
closed loop that release-skill's own publish/verify pipeline relies on.
|
|
110
|
-
|
|
111
106
|
Kimi Code has an interactive plugin marketplace but **no scriptable,
|
|
112
|
-
non-interactive install API**. release
|
|
113
|
-
|
|
114
|
-
`
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
permanent writes are consistent. The run record gives the pinned install URL
|
|
121
|
-
and the attestation path.
|
|
122
|
-
2. Read the requirement at
|
|
123
|
-
`<root>/.release-skill/kimi-attestations/<plugin>/release-skill-kimi-manual-install.json`.
|
|
124
|
-
3. Launch Kimi Code and install from the release tag pinned to the exact
|
|
125
|
-
version (never the bare repository URL, which installs the latest release or
|
|
126
|
-
default branch), confirm the trust prompt, then reload. Before writing the
|
|
127
|
-
attestation you MUST confirm the installed plugin manifest version equals the
|
|
128
|
-
frozen version; otherwise do NOT issue an attestation.
|
|
107
|
+
non-interactive install API**. For new release plans, `publish` completes the
|
|
108
|
+
automated remote writes and returns a non-blocking `manualFollowUps` entry with
|
|
109
|
+
the pinned install URL. `verify` does not install or inspect Kimi and reports
|
|
110
|
+
`verifiedBySystem: false`; the task does not block `VERIFIED`.
|
|
111
|
+
|
|
112
|
+
After publishing, a maintainer can launch Kimi Code and install from the release
|
|
113
|
+
tag pinned to the exact version (never the bare repository URL, which installs
|
|
114
|
+
the latest release or default branch), confirm the trust prompt, then reload:
|
|
129
115
|
|
|
130
116
|
```
|
|
131
|
-
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.
|
|
117
|
+
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.4.0
|
|
132
118
|
/plugins reload
|
|
133
119
|
```
|
|
134
120
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
`"passed"` or `"failed"`. Example:
|
|
139
|
-
|
|
140
|
-
```json
|
|
141
|
-
{
|
|
142
|
-
"platform": "kimi",
|
|
143
|
-
"version": "0.2.9",
|
|
144
|
-
"planDigest": "<64-hex frozen plan digest>",
|
|
145
|
-
"result": "passed",
|
|
146
|
-
"actor": "<person who confirmed>",
|
|
147
|
-
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
148
|
-
"note": "<optional note>"
|
|
149
|
-
}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
5. Run `release-skill verify --run <publish-run>` (→
|
|
153
|
-
`VERIFIED`). The verify command reads the attestation from the stable
|
|
154
|
-
plugin-level directory, so the fresh run directory does not lose the proof.
|
|
155
|
-
|
|
156
|
-
When a platform has no reliable automated verification, the bound human
|
|
157
|
-
`passed`/`failed` attestation is authoritative. The `verify` command consumes
|
|
158
|
-
the human result and transitions to `VERIFIED` on success. However, identity,
|
|
159
|
-
version, payload, marketplace source, or installation contract inconsistencies
|
|
160
|
-
MUST NOT be overridden by a human `passed` result.
|
|
121
|
+
No receipt or attestation is required. The `attest` command remains available
|
|
122
|
+
only for frozen plans created by older versions that lack the
|
|
123
|
+
`humanConsumersStrategy: manualFollowUps` marker.
|
|
161
124
|
|
|
162
125
|
## Install as a CodeBuddy/WorkBuddy plugin
|
|
163
126
|
|
|
@@ -172,56 +135,15 @@ expands inline like Claude Code expands `${CLAUDE_PLUGIN_ROOT}`. The build
|
|
|
172
135
|
adapter directory is named `workbuddy` while the platform / distribution id is
|
|
173
136
|
`codebuddy`; the two names refer to the same target.
|
|
174
137
|
|
|
175
|
-
For day-to-day installation, prefer the
|
|
176
|
-
[unified marketplace path](#install-as-a-plugin-unified-marketplace--recommended)
|
|
177
|
-
above. The remainder of this section documents the manual attestation closed loop
|
|
178
|
-
that release-skill's own publish/verify pipeline relies on.
|
|
179
|
-
|
|
180
138
|
The codebuddy CLI can add a marketplace and install a plugin, but **neither
|
|
181
139
|
`plugin marketplace add` nor `plugin install` accepts a ref option** — the install
|
|
182
140
|
tracks the marketplace default branch / latest. An automated install checkpoint
|
|
183
141
|
therefore cannot guarantee the frozen artifact's identity, so release-skill models
|
|
184
|
-
CodeBuddy installation as a
|
|
185
|
-
|
|
186
|
-
`
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Release). The `codebuddy-marketplace-install` action is recorded as `DEFERRED`
|
|
190
|
-
during publish — the marketplace adapter is not called, and the automated
|
|
191
|
-
install path fails closed. The run enters `PUBLISHED` after all remote
|
|
192
|
-
permanent writes are consistent. The run record gives the attestation path.
|
|
193
|
-
2. Read the requirement at
|
|
194
|
-
`<root>/.release-skill/codebuddy-attestations/<plugin>/release-skill-codebuddy-manual-install.json`.
|
|
195
|
-
3. Install release-skill from the bundled-family marketplace `ifoohoo/release-skill`
|
|
196
|
-
(https://github.com/ifoohoo/release-skill). Before writing the
|
|
197
|
-
attestation you MUST confirm the installed plugin manifest version equals the
|
|
198
|
-
frozen version; otherwise do NOT issue an attestation.
|
|
199
|
-
4. Write the attestation JSON to
|
|
200
|
-
`<root>/.release-skill/codebuddy-attestations/<plugin>/release-skill-codebuddy-attestation.json`.
|
|
201
|
-
`planDigest` MUST be the frozen **plan** digest; `result` accepts only
|
|
202
|
-
`"passed"` or `"failed"`. Example:
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"platform": "codebuddy",
|
|
207
|
-
"version": "0.2.9",
|
|
208
|
-
"planDigest": "<64-hex frozen plan digest>",
|
|
209
|
-
"result": "passed",
|
|
210
|
-
"actor": "<person who confirmed>",
|
|
211
|
-
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
212
|
-
"note": "<optional note>"
|
|
213
|
-
}
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
5. Run `release-skill verify --run <publish-run>` (→
|
|
217
|
-
`VERIFIED`). The verify command reads the attestation from the stable
|
|
218
|
-
plugin-level directory, so the fresh run directory does not lose the proof.
|
|
219
|
-
|
|
220
|
-
When a platform has no reliable automated verification, the bound human
|
|
221
|
-
`passed`/`failed` attestation is authoritative. The `verify` command consumes
|
|
222
|
-
the human result and transitions to `VERIFIED` on success. However, identity,
|
|
223
|
-
version, payload, marketplace source, or installation contract inconsistencies
|
|
224
|
-
MUST NOT be overridden by a human `passed` result.
|
|
142
|
+
CodeBuddy installation as a non-blocking post-release team task. `publish`
|
|
143
|
+
returns it in `manualFollowUps`; `verify` does not inspect the installation and
|
|
144
|
+
reports `verifiedBySystem: false`. Install from the bundled-family marketplace
|
|
145
|
+
`ifoohoo/release-skill` after publishing. No receipt or attestation is required
|
|
146
|
+
for new plans; `attest` exists only for old frozen-plan compatibility.
|
|
225
147
|
|
|
226
148
|
For a single session from a source checkout you can also point CodeBuddy at the
|
|
227
149
|
generated plugin directory with `--plugin-dir <path>/adapters/workbuddy`; the
|
|
@@ -408,9 +330,9 @@ documentation, and supply chain, then outputs a gap report. Without an explicit
|
|
|
408
330
|
`prepare` is different: it writes release artifacts under the target project's
|
|
409
331
|
`.release-skill/` directory and may run configured hooks. Hooks are unsandboxed
|
|
410
332
|
arbitrary processes. They may write outside the project, access credentials,
|
|
411
|
-
use the network, or perform remote writes.
|
|
412
|
-
|
|
413
|
-
|
|
333
|
+
use the network, or perform remote writes. The `prepare` command invocation
|
|
334
|
+
itself authorizes execution of configured hooks and gates; no separate
|
|
335
|
+
acknowledgement flag is required.
|
|
414
336
|
|
|
415
337
|
For a Git repository, keep the human-owned project configuration while ignoring
|
|
416
338
|
generated authority and evidence:
|
|
@@ -466,8 +388,9 @@ releaseUnits:
|
|
|
466
388
|
|
|
467
389
|
### Advanced: hooks (optional)
|
|
468
390
|
|
|
469
|
-
Hooks are optional and run arbitrary local processes.
|
|
470
|
-
|
|
391
|
+
Hooks are optional and run arbitrary local processes. The `prepare` command
|
|
392
|
+
invocation itself authorizes execution of configured hooks; no separate
|
|
393
|
+
acknowledgement flag is required.
|
|
471
394
|
|
|
472
395
|
```yaml
|
|
473
396
|
hooks:
|
|
@@ -507,12 +430,13 @@ script and every dependency it needs must exist in the frozen public snapshot;
|
|
|
507
430
|
the gate cannot borrow tests, development dependencies, or `node_modules` from
|
|
508
431
|
the parent workspace.
|
|
509
432
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
network sandbox; release-skill limits
|
|
513
|
-
guarantee that a custom command will not
|
|
514
|
-
Never register Git push, tag,
|
|
515
|
-
publish as a hook/gate; those
|
|
433
|
+
The `prepare` and `verify` command invocations authorize execution of
|
|
434
|
+
configured gates; no separate acknowledgement flag is required. Hooks and
|
|
435
|
+
gates are project processes without a network sandbox; release-skill limits
|
|
436
|
+
their inputs and evidence but cannot guarantee that a custom command will not
|
|
437
|
+
modify files or access the network. Never register Git push, tag,
|
|
438
|
+
default-branch changes, GitHub Releases, or npm publish as a hook/gate; those
|
|
439
|
+
are controlled plan actions.
|
|
516
440
|
|
|
517
441
|
### Advanced: release-document refresh (optional)
|
|
518
442
|
|
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.
|
|
5
|
+
<!-- release-skill:release-version: 0.4.0 -->
|
|
6
6
|
## 前置条件
|
|
7
7
|
|
|
8
8
|
- Node.js 22.0.0 或更高版本
|
|
@@ -73,8 +73,8 @@ codex plugin marketplace add ifoohoo/release-skill
|
|
|
73
73
|
|
|
74
74
|
**Kimi Code**(交互会话中):
|
|
75
75
|
|
|
76
|
-
Kimi Code
|
|
77
|
-
|
|
76
|
+
Kimi Code 没有市场安装接口,发布后需手动安装并钉死到特定 release tag。
|
|
77
|
+
release-skill 会返回待办,但不核验其完成结果。
|
|
78
78
|
|
|
79
79
|
### 备选:直接从仓库安装(进阶)
|
|
80
80
|
|
|
@@ -95,51 +95,21 @@ Kimi Code 是与 Claude Code 和 Codex 并列的受支持插件宿主。Kimi Cod
|
|
|
95
95
|
`.codex-plugin/plugin.json` 对应;包内同时提供 `adapters/kimi/`,与
|
|
96
96
|
`adapters/claude/`、`adapters/codex/` 并列。
|
|
97
97
|
|
|
98
|
-
日常安装请优先使用上文的
|
|
99
|
-
[统一市场路径](#安装为插件统一市场推荐)。本节其余部分记录的是
|
|
100
|
-
release-skill 自身 publish/verify 流水线所依赖的“版本钉死手动闭环”。
|
|
101
|
-
|
|
102
98
|
Kimi Code 有交互式插件市场,但**没有可脚本化的非交互安装接口**。因此
|
|
103
|
-
|
|
104
|
-
`
|
|
99
|
+
新发布计划中,`publish` 完成自动化远端写入后返回非阻塞的
|
|
100
|
+
`manualFollowUps`,其中含钉死的安装 URL;`verify` 不安装也不检查 Kimi,返回
|
|
101
|
+
`verifiedBySystem: false`,该待办不阻塞 `VERIFIED`。
|
|
105
102
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
2. 读取 requirement:
|
|
109
|
-
`<root>/.release-skill/kimi-attestations/<plugin>/release-skill-kimi-manual-install.json`。
|
|
110
|
-
3. 启动 Kimi Code,从钉死到精确版本的 release tag 安装(切勿使用裸仓库地址,
|
|
111
|
-
它会安装最新 release 或默认分支),确认信任提示后重新加载。写出证明之前,
|
|
112
|
-
必须核实已安装插件清单版本等于冻结版本;否则**不得**出具证明。
|
|
103
|
+
发布完成后,维护者可启动 Kimi Code,从钉死到精确版本的 release tag 安装
|
|
104
|
+
(切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
|
|
113
105
|
|
|
114
106
|
```
|
|
115
|
-
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.
|
|
107
|
+
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.4.0
|
|
116
108
|
/plugins reload
|
|
117
109
|
```
|
|
118
110
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
`planDigest` 必须是冻结**计划**摘要;`result` 只接受 `"passed"` 或 `"failed"`。
|
|
122
|
-
示例:
|
|
123
|
-
|
|
124
|
-
```json
|
|
125
|
-
{
|
|
126
|
-
"platform": "kimi",
|
|
127
|
-
"version": "0.2.9",
|
|
128
|
-
"planDigest": "<64 位十六进制冻结计划摘要>",
|
|
129
|
-
"result": "passed",
|
|
130
|
-
"actor": "<确认人>",
|
|
131
|
-
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
132
|
-
"note": "<可选备注>"
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
5. 运行 `release-skill verify --run <publish-run>`(→
|
|
137
|
-
`VERIFIED`)。verify 命令从稳定的插件级目录读取证明,因此新的
|
|
138
|
-
run 目录不会丢失该证明。
|
|
139
|
-
|
|
140
|
-
当平台没有可靠的自动化验证时,绑定后的人工 `passed`/`failed` 结果即为权威判定。
|
|
141
|
-
`verify` 命令消费人工结果,成功后进入 `VERIFIED`。但身份、版本、载荷、市场来源
|
|
142
|
-
或安装契约不一致时,不可被人工 `passed` 结果覆盖。
|
|
111
|
+
新计划无需收据或人工证明。`attest` 命令仅兼容缺少
|
|
112
|
+
`humanConsumersStrategy: manualFollowUps` 标记的旧冻结计划。
|
|
143
113
|
|
|
144
114
|
## 安装为 CodeBuddy/WorkBuddy 插件
|
|
145
115
|
|
|
@@ -152,48 +122,12 @@ CodeBuddy(桌面端产品 WorkBuddy)是与 Claude Code、Codex、Kimi Code
|
|
|
152
122
|
`${CLAUDE_PLUGIN_ROOT}` 一样内联展开该变量。build adapter 目录名为 `workbuddy`,
|
|
153
123
|
而平台 / 分发 id 为 `codebuddy`,两个名字指向同一目标。
|
|
154
124
|
|
|
155
|
-
日常安装请优先使用上文的
|
|
156
|
-
[统一市场路径](#安装为插件统一市场推荐)。本节其余部分记录的是
|
|
157
|
-
release-skill 自身 publish/verify 流水线所依赖的“手动安装 + 可信证明闭环”。
|
|
158
|
-
|
|
159
125
|
codebuddy CLI 可以添加市场并安装插件,但 **`plugin marketplace add` 与
|
|
160
126
|
`plugin install` 均无 ref 选项**——安装会跟踪市场默认分支 / latest。因此自动化
|
|
161
127
|
安装检查点无法保证冻结产物的同一性,release-skill 把 CodeBuddy 安装建模为
|
|
162
|
-
|
|
163
|
-
`
|
|
164
|
-
|
|
165
|
-
1. `publish` 先完成自动化远端写入(Git branch/tag、npm、GitHub Release)。
|
|
166
|
-
`codebuddy-marketplace-install` 动作在 publish 阶段记录为 `DEFERRED`,不调用
|
|
167
|
-
市场适配器,自动化安装路径失败关闭。全部远端永久写入一致后运行进入 `PUBLISHED`。运行记录会给出证明写入路径。
|
|
168
|
-
2. 读取 requirement:
|
|
169
|
-
`<root>/.release-skill/codebuddy-attestations/<plugin>/release-skill-codebuddy-manual-install.json`。
|
|
170
|
-
3. 从 bundled-family 市场 `ifoohoo/release-skill`
|
|
171
|
-
(https://github.com/ifoohoo/release-skill)安装 release-skill。
|
|
172
|
-
写出证明之前,必须核实已安装插件清单版本等于冻结版本;否则**不得**出具证明。
|
|
173
|
-
4. 把人工结果 JSON 写入
|
|
174
|
-
`<root>/.release-skill/codebuddy-attestations/<plugin>/release-skill-codebuddy-attestation.json`。
|
|
175
|
-
`planDigest` 必须是冻结**计划**摘要;`result` 只接受 `"passed"` 或 `"failed"`。
|
|
176
|
-
示例:
|
|
177
|
-
|
|
178
|
-
```json
|
|
179
|
-
{
|
|
180
|
-
"platform": "codebuddy",
|
|
181
|
-
"version": "0.2.9",
|
|
182
|
-
"planDigest": "<64 位十六进制冻结计划摘要>",
|
|
183
|
-
"result": "passed",
|
|
184
|
-
"actor": "<确认人>",
|
|
185
|
-
"confirmedAt": "2026-07-23T00:00:00.000Z",
|
|
186
|
-
"note": "<可选备注>"
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
5. 运行 `release-skill verify --run <publish-run>`(→
|
|
191
|
-
`VERIFIED`)。verify 命令从稳定的插件级目录读取证明,因此新的
|
|
192
|
-
run 目录不会丢失该证明。
|
|
193
|
-
|
|
194
|
-
当平台没有可靠的自动化验证时,绑定后的人工 `passed`/`failed` 结果即为权威判定。
|
|
195
|
-
`verify` 命令消费人工结果,成功后进入 `VERIFIED`。但身份、版本、载荷、市场来源
|
|
196
|
-
或安装契约不一致时,不可被人工 `passed` 结果覆盖。
|
|
128
|
+
发布后的非阻塞团队待办。`publish` 在 `manualFollowUps` 中返回任务;`verify`
|
|
129
|
+
不检查安装并返回 `verifiedBySystem: false`。发布后从 bundled-family 市场
|
|
130
|
+
`ifoohoo/release-skill` 安装即可。新计划无需收据或人工证明;`attest` 只兼容旧冻结计划。
|
|
197
131
|
|
|
198
132
|
源码检出后也可以用 `--plugin-dir <path>/adapters/workbuddy` 把 CodeBuddy 指向
|
|
199
133
|
生成的插件目录做单会话使用;适配器不引用自身目录之外的任何文件。
|
|
@@ -346,7 +280,7 @@ node -e 'require("node:fs").rmSync(process.argv[1],{recursive:true,force:false})
|
|
|
346
280
|
|
|
347
281
|
该命令只读地检查项目结构、配置、文档和供应链;未显式传入 `--output` 时不写报告,也不运行项目 hook。
|
|
348
282
|
|
|
349
|
-
`prepare` 不同:它在目标项目的 `.release-skill/` 下写入发布工件,并可能运行已配置 hook。hook
|
|
283
|
+
`prepare` 不同:它在目标项目的 `.release-skill/` 下写入发布工件,并可能运行已配置 hook。hook 是无沙箱的任意进程,可能写到项目外、访问凭据、使用网络或执行远端写入。`prepare` 命令调用本身即授权执行已配置的 hook 和 gate,无需额外授权参数。
|
|
350
284
|
|
|
351
285
|
Git 仓库应保留人工配置,同时忽略生成的权威文件和证据:
|
|
352
286
|
|
|
@@ -400,7 +334,7 @@ releaseUnits:
|
|
|
400
334
|
|
|
401
335
|
### 进阶:hook(可选)
|
|
402
336
|
|
|
403
|
-
hook
|
|
337
|
+
hook 是可选的任意本地进程。`prepare` 命令调用本身即授权执行已配置的 hook:
|
|
404
338
|
|
|
405
339
|
```yaml
|
|
406
340
|
hooks:
|
|
@@ -432,7 +366,7 @@ verificationGates:
|
|
|
432
366
|
|
|
433
367
|
这个自包含示例只读取已映射的公开文件。若替换成项目脚本,该脚本及全部依赖必须存在于冻结公开快照;gate 不能借用父工作空间中的测试、开发依赖或 `node_modules`。
|
|
434
368
|
|
|
435
|
-
|
|
369
|
+
`prepare` 和 `verify` 命令调用本身即授权执行已配置的 gate,无需额外授权参数。hook/gate 都是无网络沙箱的项目进程;release-skill 约束其输入与证据,但无法保证自定义命令不修改文件或不访问网络。禁止把 Git push、tag、默认分支修改、GitHub Release 或 npm publish 注册为 hook/gate,它们只能由受控的计划动作完成。
|
|
436
370
|
|
|
437
371
|
### 进阶:发布文档刷新(可选)
|
|
438
372
|
|