release-skill 0.2.1 → 0.2.3
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 +4 -2
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +40 -0
- package/INSTALL.md +183 -21
- package/INSTALL.zh-CN.md +160 -16
- package/README.md +112 -13
- package/README.zh-CN.md +72 -11
- 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 +2240 -587
- package/adapters/claude/schemas/release-plan.schema.json +44 -2
- package/adapters/claude/schemas/release-project.schema.json +46 -4
- package/adapters/claude/schemas/release-run.schema.json +1 -0
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +2240 -587
- package/adapters/codex/schemas/release-plan.schema.json +44 -2
- package/adapters/codex/schemas/release-project.schema.json +46 -4
- package/adapters/codex/schemas/release-run.schema.json +1 -0
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +2240 -587
- package/adapters/kimi/schemas/release-plan.schema.json +44 -2
- package/adapters/kimi/schemas/release-project.schema.json +46 -4
- package/adapters/kimi/schemas/release-run.schema.json +1 -0
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +4 -2
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +2240 -587
- package/adapters/workbuddy/schemas/release-plan.schema.json +44 -2
- package/adapters/workbuddy/schemas/release-project.schema.json +46 -4
- package/adapters/workbuddy/schemas/release-run.schema.json +1 -0
- package/bin/release-skill-cli.mjs +46 -4
- package/bin/release-skill.bundle.mjs +2240 -587
- package/package.json +1 -1
- package/references/02-project-config.md +7 -0
- package/references/06-adapter-contract.md +21 -2
- package/schemas/release-plan.schema.json +44 -2
- package/schemas/release-project.schema.json +46 -4
- package/schemas/release-run.schema.json +1 -0
- package/scripts/sync-public-files.mjs +8 -4
- package/src/adapters/contract.mjs +1 -0
- package/src/adapters/plugin-marketplace.mjs +796 -41
- package/src/commands/assess.mjs +50 -1
- package/src/commands/prepare.mjs +342 -9
- package/src/commands/publish.mjs +1 -0
- package/src/commands/reconcile.mjs +1 -0
- package/src/commands/setup.mjs +7 -3
- package/src/commands/verify.mjs +13 -5
- package/src/core/baseline.mjs +13 -0
- package/src/core/checkpoints.mjs +7 -2
- package/src/core/plan.mjs +275 -4
- package/src/core/verification-gates.mjs +1 -1
- package/src/platforms/codebuddy.mjs +658 -0
- package/src/platforms/registry.mjs +258 -5
- package/src/producers/build-adapters.mjs +30 -15
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.
|
|
5
|
+
<!-- release-skill:release-version: 0.2.3 -->
|
|
6
6
|
Release preparation for Claude Code, 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,
|
|
@@ -11,21 +11,26 @@ reviewed artifacts first and publishes those same artifacts later; it does not
|
|
|
11
11
|
regenerate a README or re-pack the live workspace at the last step.
|
|
12
12
|
|
|
13
13
|
<!-- release-skill:managed:start id=latest-release -->
|
|
14
|
-
**0.2.
|
|
14
|
+
**0.2.3** (2026-07-26)
|
|
15
15
|
|
|
16
|
-
v0.2.
|
|
16
|
+
v0.2.3 is a fix-forward release that addresses platform verification, public artifact, and documentation issues discovered in v0.2.2. The release converges platform fact sources, fixes consumer gate mapping errors, and strengthens attestation validation.
|
|
17
17
|
|
|
18
|
-
**
|
|
18
|
+
**Changed**
|
|
19
19
|
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
- **Version synchronized to 0.2.3**: all plugin manifests (9 files), package.json, INSTALL.md, INSTALL.zh-CN.md, README.md, and README.zh-CN.md updated.
|
|
21
|
+
|
|
22
|
+
**Fixed**
|
|
23
|
+
|
|
24
|
+
- **CodeBuddy marketplace-install distribution mapping**: `verify.mjs` now correctly maps `codebuddy-marketplace-install` to `codebuddy-plugin` distribution (was incorrectly falling back to `kimi-plugin`). The `fixedEnv` for codebuddy now uses only `HOME` without `KIMI_CODE_HOME`.
|
|
25
|
+
- **Unknown consumer fallback removed**: `plugin-marketplace.mjs` now throws an explicit error for unregistered consumer platforms instead of silently falling back to Kimi configuration. Error message includes the unknown consumer id and list of registered platforms.
|
|
26
|
+
- **CodeBuddy attestation baseline exclusion**: `.release-skill/codebuddy-attestations/` is now properly excluded from workspace baseline digest calculation, preventing self-drift when codebuddy attestation files are written during the release lifecycle.
|
|
27
|
+
- **CodeBuddy manifest skills field accepts array**: `normalizeCodeBuddySkillsRel()` now accepts both string and single-element array forms for the `skills` field, matching the real CodeBuddy validator's expected shape. The root `.codebuddy-plugin/plugin.json` now uses array form.
|
|
28
|
+
- **CLI channel attestation path validation**: `validateCodeBuddyAttestation()` now validates that CLI channel `installPath` ends with the well-known `.codebuddy/plugins/marketplaces/<marketplace>/plugins/<plugin>` segment tail, closing a path-escape gap.
|
|
24
29
|
<!-- release-skill:managed:end id=latest-release -->
|
|
25
30
|
|
|
26
31
|
<!-- release-skill:capability:external-write-boundary -->
|
|
27
|
-
> **Current boundary:** v0.2.
|
|
28
|
-
> published status before the
|
|
32
|
+
> **Current boundary:** v0.2.3 is the current release (v0.2.2 previously held
|
|
33
|
+
> published status before the platform verification convergence fix was added).
|
|
29
34
|
> v0.1.1 completed a real production release to GitHub and npm — the first
|
|
30
35
|
> production-verified milestone — followed by
|
|
31
36
|
> exact npm installation and Claude/Codex consumer installation verification
|
|
@@ -58,6 +63,45 @@ v0.2.1 adds a fourth platform adapter — workbuddy (CodeBuddy/WorkBuddy plugin)
|
|
|
58
63
|
> specifically requires `prepare --online --production`. Without digest confirmation,
|
|
59
64
|
> no remote preflight or write starts.
|
|
60
65
|
|
|
66
|
+
## Release workflow overview
|
|
67
|
+
|
|
68
|
+
release-skill models the release lifecycle as a strict state machine so that every
|
|
69
|
+
stage has explicit entry and exit conditions and no stage can be skipped. The
|
|
70
|
+
normative definition lives in `references/01-state-machine.md`.
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
DISCOVERED -> ASSESSED -> PREPARED -> APPROVED -> PUBLISHING -> PUBLISHED -> VERIFIED
|
|
74
|
+
exception states: NEEDS_INPUT / BLOCKED / PARTIAL
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Each CLI command maps to one transition:
|
|
78
|
+
|
|
79
|
+
- `help` checks the environment; `setup` discovers the project and, after digest
|
|
80
|
+
confirmation, creates the config once.
|
|
81
|
+
- `assess` performs a read-only readiness evaluation (`DISCOVERED -> ASSESSED`).
|
|
82
|
+
- `prepare` runs the verification gates, freezes an immutable release plan, and
|
|
83
|
+
copies the configured public files into an isolated snapshot
|
|
84
|
+
(`ASSESSED -> PREPARED`). It writes only under `.release-skill/` and never
|
|
85
|
+
touches remote services.
|
|
86
|
+
- `approve` records human approval bound to the plan digest with a 24-hour expiry
|
|
87
|
+
(`PREPARED -> APPROVED`). A changed plan invalidates the approval automatically.
|
|
88
|
+
- `publish` executes the external write checkpoints in order
|
|
89
|
+
(`APPROVED -> PUBLISHING -> PUBLISHED`).
|
|
90
|
+
- `reconcile` recovers from `PARTIAL`; `verify` performs a fresh consumer-install
|
|
91
|
+
check in an isolated environment (`PUBLISHED -> VERIFIED`).
|
|
92
|
+
|
|
93
|
+
`PUBLISHED` is **not** the terminal state. Only a fresh `verify` run that confirms
|
|
94
|
+
remote state and exact consumer installs match the frozen plan reaches `VERIFIED`.
|
|
95
|
+
|
|
96
|
+
**Publishing checkpoint order.** `publish` runs a read-only global preflight over
|
|
97
|
+
all actions, then executes and observes in this fixed order: public snapshot
|
|
98
|
+
branch -> signed/tracked tag -> npm publish -> GitHub Release -> configured
|
|
99
|
+
Claude/Codex plugin-marketplace install -> run record. Any failure stops subsequent
|
|
100
|
+
checkpoints and the run lands in `PARTIAL`. The system never auto-deletes remote
|
|
101
|
+
tags, unpublishes packages, or restarts from scratch; `reconcile` queries the actual
|
|
102
|
+
remote state, skips already-consistent steps, and retries only safe, incomplete
|
|
103
|
+
actions, while remote conflicts require a human decision.
|
|
104
|
+
|
|
61
105
|
## Why this is safe for a hand-edited README
|
|
62
106
|
|
|
63
107
|
release-skill does not regenerate or rewrite project source files. `prepare` copies
|
|
@@ -116,6 +160,29 @@ npx release-skill help
|
|
|
116
160
|
release-skill help
|
|
117
161
|
```
|
|
118
162
|
|
|
163
|
+
**Install as a plugin (Claude Code / CodeBuddy / WorkBuddy / Codex / Kimi Code):**
|
|
164
|
+
|
|
165
|
+
All four plugin hosts install from the unified marketplace
|
|
166
|
+
`ifoohoo/artifact-skill-set` — for example, in a Claude Code session:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
/plugin marketplace add ifoohoo/artifact-skill-set
|
|
170
|
+
/plugin install release-skill@artifact-skill-set
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
`ifoohoo/artifact-skill-set` is an **external independent marketplace**: the
|
|
174
|
+
plugin repository carries only the plugin manifest, while the marketplace index
|
|
175
|
+
is centralized in the external marketplace repository. When a release unit's
|
|
176
|
+
plugin distribution declares `marketplaceRepo`, `prepare --online --production`
|
|
177
|
+
freezes the external marketplace HEAD (Codex pins the commit sha — strong
|
|
178
|
+
freeze; Claude pins the default branch name — weak freeze) and verifies the
|
|
179
|
+
installed payload against the unit's own frozen snapshot whole-tree. **Release
|
|
180
|
+
ordering:** publish the external marketplace index first — its entry version
|
|
181
|
+
must equal the target release version — before `prepare` can freeze a
|
|
182
|
+
marketplace sha containing that entry. See [INSTALL.md](INSTALL.md) for the
|
|
183
|
+
per-platform commands and `references/06-adapter-contract.md` §2.3/§2.4 for the
|
|
184
|
+
contract and the advanced direct-repository options.
|
|
185
|
+
|
|
119
186
|
**Development install (contributor fallback, from source checkout):**
|
|
120
187
|
|
|
121
188
|
Set the checkout location and install dependencies:
|
|
@@ -894,11 +961,19 @@ Successful reconcile returns `PUBLISHED`, not `VERIFIED`; only the fresh
|
|
|
894
961
|
Code (no scriptable install API) it emits a version-pinned manual install
|
|
895
962
|
requirement and proves the entry Skill and payload digest only from a trusted
|
|
896
963
|
attestation bound to the frozen plan digest;
|
|
964
|
+
- supports an external independent marketplace for Claude/Codex distributions
|
|
965
|
+
(`marketplaceRepo`): `prepare --online --production` freezes the external
|
|
966
|
+
marketplace HEAD (Codex commit sha / Claude default branch name), validates the
|
|
967
|
+
marketplace index entry at that sha, and verifies the installed payload against
|
|
968
|
+
the unit's own frozen snapshot whole-tree (`external-marketplace-v1`), while the
|
|
969
|
+
install-side CLI list observation fails closed on version drift;
|
|
897
970
|
- ships a generated, self-contained CodeBuddy/WorkBuddy adapter
|
|
898
971
|
(`adapters/workbuddy/`, manifest `.codebuddy-plugin/plugin.json`, skills
|
|
899
972
|
rendered with `${CODEBUDDY_PLUGIN_ROOT}`) alongside the Claude/Codex/Kimi
|
|
900
|
-
adapters;
|
|
901
|
-
install checkpoint
|
|
973
|
+
adapters; because the codebuddy CLI cannot pin a frozen ref there is no
|
|
974
|
+
automated marketplace install checkpoint, so it emits a manual install
|
|
975
|
+
requirement and proves the entry Skill and payload digest only from a trusted
|
|
976
|
+
attestation bound to the frozen plan digest;
|
|
902
977
|
- distinguishes `PUBLISHED` (writes completed) from `VERIFIED` (remote and
|
|
903
978
|
consumer installation evidence completed);
|
|
904
979
|
- stops subsequent checkpoints on failure and writes a separate run record
|
|
@@ -985,7 +1060,8 @@ npm publish may never be hooks/gates; they remain controlled plan actions.
|
|
|
985
1060
|
`--force-with-lease=<ref>:` solely as an atomic compare-and-set assertion that
|
|
986
1061
|
the ref is absent, while existing branches use an ordinary non-force push;
|
|
987
1062
|
- no automated CodeBuddy/WorkBuddy marketplace install checkpoint — the
|
|
988
|
-
|
|
1063
|
+
codebuddy CLI cannot pin a frozen ref, so installation is a manual step proven
|
|
1064
|
+
by the same attestation closed loop as Kimi Code;
|
|
989
1065
|
- no promise of Windows or broad multi-platform native write support;
|
|
990
1066
|
- no hidden commit, push, tag, release, or package publication.
|
|
991
1067
|
|
|
@@ -1036,6 +1112,29 @@ Conflicts still default to human intervention. The npm-installed `release-skill`
|
|
|
1036
1112
|
CLI is the supported user entry after v0.1.1 production publication; source
|
|
1037
1113
|
checkout remains the development/contributor fallback.
|
|
1038
1114
|
|
|
1115
|
+
## Platform distribution
|
|
1116
|
+
|
|
1117
|
+
One deterministic core engine ships to several targets through build-only adapter
|
|
1118
|
+
closures. A release unit declares what reaches users via `distributions`; each
|
|
1119
|
+
distribution type maps to a concrete artifact:
|
|
1120
|
+
|
|
1121
|
+
| `distributions` type | Physical artifact | Install |
|
|
1122
|
+
|---|---|---|
|
|
1123
|
+
| `npm` | npm package with CLI entry | `npm install -g release-skill` |
|
|
1124
|
+
| `claude-plugin` | self-contained closure under `adapters/claude/` | automated marketplace checkpoint |
|
|
1125
|
+
| `codex-plugin` | self-contained closure under `adapters/codex/` | automated marketplace checkpoint |
|
|
1126
|
+
| `kimi-plugin` | self-contained closure (no scriptable install API) | manual, attestation-bound |
|
|
1127
|
+
| `codebuddy-plugin` | generated `adapters/workbuddy/` with `.codebuddy-plugin/plugin.json` (the codebuddy CLI cannot pin a frozen ref) | manual, attestation-bound |
|
|
1128
|
+
|
|
1129
|
+
Each adapter closure bundles its own copy of the CLI bundle, skills, and schemas so
|
|
1130
|
+
it runs with no external dependency after installation. The Claude/Codex marketplace
|
|
1131
|
+
install checkpoints are automated (preflight, execute, observe, verify); the Kimi
|
|
1132
|
+
Code checkpoint fails closed and produces a version-pinned manual install
|
|
1133
|
+
requirement; the CodeBuddy/WorkBuddy checkpoint likewise fails closed — because
|
|
1134
|
+
the codebuddy CLI cannot pin a frozen ref there is no automated install
|
|
1135
|
+
checkpoint — and produces a manual install requirement proven by a trusted
|
|
1136
|
+
attestation bound to the frozen plan digest.
|
|
1137
|
+
|
|
1039
1138
|
## License
|
|
1040
1139
|
|
|
1041
1140
|
MIT. See [LICENSE](LICENSE).
|
package/README.zh-CN.md
CHANGED
|
@@ -2,26 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
|
|
4
4
|
|
|
5
|
-
<!-- release-skill:release-version: 0.2.
|
|
5
|
+
<!-- release-skill:release-version: 0.2.3 -->
|
|
6
6
|
面向 Claude Code、Codex 和 Kimi Code 的发布准备工具,完整保留人工维护的文件内容。
|
|
7
7
|
|
|
8
8
|
release-skill 帮助维护者回答三个问题:准备发布什么、还有哪些检查未通过、最终发布的内容是什么。它先冻结并供人工审阅,再从同一份冻结产物发布,不会在最后一步重新生成 README、重新打包当前工作区或覆盖人工内容。
|
|
9
9
|
|
|
10
10
|
<!-- release-skill:managed:start id=latest-release -->
|
|
11
|
-
**0.2.
|
|
11
|
+
**0.2.3** (2026-07-26)
|
|
12
12
|
|
|
13
|
-
v0.2.
|
|
13
|
+
v0.2.3 是修复版本,解决 v0.2.2 中发现的平台验证、公共生成物和文档问题。本版本收敛平台事实源、修复消费端门禁映射错误并加强证明验证。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
**变更**
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
- **版本同步到 0.2.3**:所有插件清单(9个文件)、package.json、INSTALL.md、INSTALL.zh-CN.md、README.md 和 README.zh-CN.md 已更新。
|
|
18
|
+
|
|
19
|
+
**修复**
|
|
20
|
+
|
|
21
|
+
- **CodeBuddy marketplace-install 分发映射**:`verify.mjs` 现在正确将 `codebuddy-marketplace-install` 映射到 `codebuddy-plugin` distribution(之前错误回落到 `kimi-plugin`)。codebuddy 的 `fixedEnv` 现在只使用 `HOME`,不再包含 `KIMI_CODE_HOME`。
|
|
22
|
+
- **移除未知消费端回落**:`plugin-marketplace.mjs` 现在对未注册的消费端平台抛出明确错误,而非静默回落到 Kimi 配置。错误消息包含未知消费端标识和已注册平台列表。
|
|
23
|
+
- **CodeBuddy 证明基线排除**:`.release-skill/codebuddy-attestations/` 现在正确排除在工作区基线摘要计算之外,防止在发布生命周期中写入 codebuddy 证明文件时产生自漂移。
|
|
24
|
+
- **CodeBuddy 清单 skills 字段支持数组**:`normalizeCodeBuddySkillsRel()` 现在同时支持字符串和单元素数组形式的 `skills` 字段,与真实 CodeBuddy 验证器期望的形状一致。根 `.codebuddy-plugin/plugin.json` 现在使用数组形式。
|
|
25
|
+
- **CLI 通道证明路径验证**:`validateCodeBuddyAttestation()` 现在验证 CLI 通道的 `installPath` 以已知的 `.codebuddy/plugins/marketplaces/<marketplace>/plugins/<plugin>` 段尾结尾,关闭路径逃逸缺口。
|
|
21
26
|
<!-- release-skill:managed:end id=latest-release -->
|
|
22
27
|
|
|
23
28
|
<!-- release-skill:capability:external-write-boundary -->
|
|
24
|
-
> **当前边界:** v0.2.
|
|
29
|
+
> **当前边界:** v0.2.3 是当前发布版本(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
|
|
25
30
|
> v0.1.1 已完成 GitHub 与 npm 的
|
|
26
31
|
> 真实生产发布,是首次生产验证的历史里程碑,并从冻结 Git ref 完成精确 npm
|
|
27
32
|
> 安装及 Claude/Codex 消费者安装验证;“当前发布版本”与“首次生产验证里程碑”
|
|
@@ -48,6 +53,28 @@ v0.2.1 新增第四个平台适配器 workbuddy(CodeBuddy/WorkBuddy 插件)
|
|
|
48
53
|
> --confirm-production <planDigest>`;`bound` 前序公开基线必须使用
|
|
49
54
|
> `prepare --online --production`。没有摘要确认就不会预检或写远端。
|
|
50
55
|
|
|
56
|
+
## 发布工作流概览
|
|
57
|
+
|
|
58
|
+
release-skill 把发布生命周期建模为一个严格状态机,让每个阶段都有明确的进入和退出条件,且任何阶段都不能跳过。规范定义见 `references/01-state-machine.md`。
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
DISCOVERED -> ASSESSED -> PREPARED -> APPROVED -> PUBLISHING -> PUBLISHED -> VERIFIED
|
|
62
|
+
异常态:NEEDS_INPUT / BLOCKED / PARTIAL
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
每个 CLI 命令对应一次状态转换:
|
|
66
|
+
|
|
67
|
+
- `help` 检查环境;`setup` 发现项目,并在摘要确认后仅首次创建配置。
|
|
68
|
+
- `assess` 执行只读就绪度评估(`DISCOVERED -> ASSESSED`)。
|
|
69
|
+
- `prepare` 运行验证门、冻结一份不可变发布计划,并把配置的公开文件复制进隔离快照(`ASSESSED -> PREPARED`)。它只写入 `.release-skill/` 目录,从不触碰远端服务。
|
|
70
|
+
- `approve` 记录人工批准,绑定到计划摘要并带 24 小时有效期(`PREPARED -> APPROVED`)。计划一旦变化,批准自动失效。
|
|
71
|
+
- `publish` 按顺序执行外部写操作检查点(`APPROVED -> PUBLISHING -> PUBLISHED`)。
|
|
72
|
+
- `reconcile` 从 `PARTIAL` 恢复;`verify` 在全新隔离环境完成消费者安装验证(`PUBLISHED -> VERIFIED`)。
|
|
73
|
+
|
|
74
|
+
`PUBLISHED` **不是**终态。只有全新运行的 `verify` 确认远端状态和精确消费者安装都与冻结计划一致时,才会到达 `VERIFIED`。
|
|
75
|
+
|
|
76
|
+
**发布检查点顺序。** `publish` 先对所有动作做只读全局预检,再按固定顺序执行并观察:公开快照 branch → 签名/可追溯 tag → npm 发布 → GitHub Release → 配置的 Claude/Codex 插件市场安装 → 运行记录。任一步骤失败都会停止后续检查点并使运行进入 `PARTIAL`。系统绝不自动删除远端 tag、不 unpublish 包、不从头重跑;`reconcile` 查询实际远端状态,跳过已一致的步骤,只重试安全且未完成的动作,远端冲突则交由人工决策。
|
|
77
|
+
|
|
51
78
|
## 为什么人工修改的 README 不会丢失
|
|
52
79
|
|
|
53
80
|
release-skill 不重新生成、也不回写项目源文件。`prepare` 从当前工作区把每个公开文件复制到隔离的本地快照,并验证复制前后的字节。README 的 slogan、示例、正文、格式,以及后续任何人工修改都会作为完整文件被保留。
|
|
@@ -89,6 +116,25 @@ npx release-skill help
|
|
|
89
116
|
release-skill help
|
|
90
117
|
```
|
|
91
118
|
|
|
119
|
+
**安装为插件(Claude Code / CodeBuddy / WorkBuddy / Codex / Kimi Code):**
|
|
120
|
+
|
|
121
|
+
四种插件宿主都从统一市场 `ifoohoo/artifact-skill-set` 安装——以 Claude
|
|
122
|
+
Code 会话为例:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
/plugin marketplace add ifoohoo/artifact-skill-set
|
|
126
|
+
/plugin install release-skill@artifact-skill-set
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`ifoohoo/artifact-skill-set` 是一个**外部独立市场**:插件仓库只含 plugin
|
|
130
|
+
清单,marketplace 索引集中于外部市场仓库。当发布单元的插件 distribution 声明
|
|
131
|
+
`marketplaceRepo` 时,`prepare --online --production` 会冻结外部市场 HEAD
|
|
132
|
+
(Codex 钉 commit sha——强冻结;Claude 钉默认分支名——弱冻结),并以本单元自身
|
|
133
|
+
冻结快照整树校验安装载荷。**发布时序:** 须先发布外部市场索引——其条目版本须
|
|
134
|
+
等于目标发布版本——之后 `prepare` 才能冻结到含该条目的市场 sha。各平台完整命令
|
|
135
|
+
见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md),契约与进阶直接仓库安装方式见
|
|
136
|
+
`references/06-adapter-contract.md` §2.3/§2.4。
|
|
137
|
+
|
|
92
138
|
**开发安装(贡献者回退,从源码 checkout):**
|
|
93
139
|
|
|
94
140
|
```bash
|
|
@@ -595,7 +641,8 @@ reconcile 成功只返回 `PUBLISHED`,不会返回 `VERIFIED`;只有全新
|
|
|
595
641
|
- 用计划摘要、有效期和显式 action allowlist 绑定人工批准;
|
|
596
642
|
- 从冻结 Git object 和 npm tarball 发布,并核对远端 commit/tree/tag/integrity;
|
|
597
643
|
- 从冻结 Git ref 安装配置的 Claude/Codex 插件,证明入口 Skill 和安装载荷摘要;对 Kimi Code(无可脚本化安装接口)产出版本钉死的手动安装要求,仅依据绑定到冻结计划摘要的可信证明来确认入口 Skill 和载荷摘要;
|
|
598
|
-
-
|
|
644
|
+
- 为 Claude/Codex distribution 支持外部独立市场(`marketplaceRepo`):`prepare --online --production` 冻结外部市场 HEAD(Codex commit sha / Claude 默认分支名),校验该 sha 处的市场索引条目,并以本单元自身冻结快照整树校验安装载荷(`external-marketplace-v1`),安装侧 CLI list 观察在版本漂移时失败关闭;
|
|
645
|
+
- 随 Claude/Codex/Kimi 适配器一并提供生成的自包含 CodeBuddy/WorkBuddy 适配器(`adapters/workbuddy/`,清单 `.codebuddy-plugin/plugin.json`,技能以 `${CODEBUDDY_PLUGIN_ROOT}` 渲染);因 codebuddy CLI 无法钉死冻结 ref 而无自动化 marketplace 安装检查点,故产出手动安装要求,仅依据绑定到冻结计划摘要的可信证明来确认入口 Skill 和载荷摘要;
|
|
599
646
|
- 明确区分 `PUBLISHED`(外写完成)与 `VERIFIED`(远端和消费者安装证据完成);
|
|
600
647
|
- 中途失败停止后续动作,记录独立 run;不修改冻结 plan,不自动撤销已成功动作。
|
|
601
648
|
|
|
@@ -647,7 +694,7 @@ push、tag、默认分支修改、GitHub Release 和 npm publish 不能放进 ho
|
|
|
647
694
|
- 不声称已经替项目完成真实生产 canary;
|
|
648
695
|
- `prepare --online` 只观察 bound 前序基线;目标唯一性由 publish 全局预检完成;
|
|
649
696
|
- 不覆盖已有 branch/tag/Release,不 unpublish npm;
|
|
650
|
-
- 不提供自动化 CodeBuddy/WorkBuddy marketplace
|
|
697
|
+
- 不提供自动化 CodeBuddy/WorkBuddy marketplace 安装检查点——codebuddy CLI 无法钉死冻结 ref,安装为手动步骤,经与 Kimi Code 相同的可信证明闭环确认;
|
|
651
698
|
- 不承诺 Windows 或广泛的跨平台原生写入;
|
|
652
699
|
- 不会隐藏地 commit、push、打 tag、创建 Release 或发布包。
|
|
653
700
|
|
|
@@ -687,6 +734,20 @@ push、tag、默认分支修改、GitHub Release 和 npm publish 不能放进 ho
|
|
|
687
734
|
- `release-reconcile`:基于证据恢复 PARTIAL;冲突时人工介入。
|
|
688
735
|
- `release-verify`:发布后验证;只有 `VERIFIED` 才是 happy end。
|
|
689
736
|
|
|
737
|
+
## 平台分发
|
|
738
|
+
|
|
739
|
+
同一个确定性核心引擎通过 build-only 适配器闭包分发到多个目标。发布单元用 `distributions` 声明要发布给谁;每种分发类型对应一个具体产物:
|
|
740
|
+
|
|
741
|
+
| `distributions` 类型 | 物理产物 | 安装方式 |
|
|
742
|
+
|---|---|---|
|
|
743
|
+
| `npm` | 带 CLI 入口的 npm 包 | `npm install -g release-skill` |
|
|
744
|
+
| `claude-plugin` | `adapters/claude/` 下的自包含闭包 | 自动化 marketplace 检查点 |
|
|
745
|
+
| `codex-plugin` | `adapters/codex/` 下的自包含闭包 | 自动化 marketplace 检查点 |
|
|
746
|
+
| `kimi-plugin` | 自包含闭包(无可脚本化安装接口) | 手动,需可信证明 |
|
|
747
|
+
| `codebuddy-plugin` | 生成的 `adapters/workbuddy/`,带 `.codebuddy-plugin/plugin.json`(codebuddy CLI 无法钉死冻结 ref) | 手动,需可信证明 |
|
|
748
|
+
|
|
749
|
+
每个适配器闭包都自带一份 CLI bundle、skills 和 schemas 的副本,安装后无需外部依赖即可运行。Claude/Codex 的 marketplace 安装检查点是自动化的(preflight、execute、observe、verify);Kimi Code 检查点失败关闭,并产出版本钉死的手动安装要求;CodeBuddy/WorkBuddy 检查点同样失败关闭——因 codebuddy CLI 无法钉死冻结 ref 而无自动化安装检查点——并产出经绑定冻结计划摘要的可信证明确认的手动安装要求。
|
|
750
|
+
|
|
690
751
|
## 许可证
|
|
691
752
|
|
|
692
753
|
MIT,见 [LICENSE](LICENSE)。
|