release-skill 0.9.17 → 0.9.18

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 (257) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -2
  4. package/.cursor-plugin/plugin.json +10 -0
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/.qoder-plugin/plugin.json +1 -1
  7. package/CHANGELOG.md +36 -2
  8. package/INSTALL.md +56 -9
  9. package/INSTALL.zh-CN.md +41 -7
  10. package/README.md +31 -20
  11. package/README.zh-CN.md +29 -19
  12. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  13. package/adapters/claude/bin/consumer-contract-vectors.json +7 -7
  14. package/adapters/claude/bin/error-codes.json +1 -1
  15. package/adapters/claude/bin/foundation-resource-binding.json +1 -1
  16. package/adapters/claude/bin/prebuild-manifest.json +8 -4
  17. package/adapters/claude/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  18. package/adapters/claude/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  19. package/adapters/claude/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  20. package/adapters/claude/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  21. package/adapters/claude/bin/registry.json +1 -1
  22. package/adapters/claude/bin/release-skill.bundle.mjs +3560 -1200
  23. package/adapters/claude/bin/rules.json +1 -1
  24. package/adapters/claude/data/hosts/cursor/host-descriptor.json +34 -0
  25. package/adapters/claude/data/hosts/registry.json +1 -0
  26. package/adapters/claude/schemas/release-plan.schema.json +255 -25
  27. package/adapters/claude/schemas/release-project.schema.json +228 -26
  28. package/adapters/claude/skills/release-finish/SKILL.md +17 -4
  29. package/adapters/claude/skills/release-help/SKILL.md +40 -39
  30. package/adapters/claude/src/schemas/host-descriptor.schema.json +9 -2
  31. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  32. package/adapters/codex/bin/consumer-contract-vectors.json +7 -7
  33. package/adapters/codex/bin/error-codes.json +1 -1
  34. package/adapters/codex/bin/foundation-resource-binding.json +1 -1
  35. package/adapters/codex/bin/prebuild-manifest.json +8 -4
  36. package/adapters/codex/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  37. package/adapters/codex/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  38. package/adapters/codex/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  39. package/adapters/codex/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  40. package/adapters/codex/bin/registry.json +1 -1
  41. package/adapters/codex/bin/release-skill.bundle.mjs +3560 -1200
  42. package/adapters/codex/bin/rules.json +1 -1
  43. package/adapters/codex/data/hosts/cursor/host-descriptor.json +34 -0
  44. package/adapters/codex/data/hosts/registry.json +1 -0
  45. package/adapters/codex/schemas/release-plan.schema.json +255 -25
  46. package/adapters/codex/schemas/release-project.schema.json +228 -26
  47. package/adapters/codex/skills/release-finish/SKILL.md +17 -4
  48. package/adapters/codex/skills/release-help/SKILL.md +40 -39
  49. package/adapters/codex/src/schemas/host-descriptor.schema.json +9 -2
  50. package/adapters/cursor/.cursor-plugin/plugin.json +10 -0
  51. package/adapters/cursor/bin/consumer-contract-vectors.json +110 -0
  52. package/adapters/cursor/bin/error-codes.json +161 -0
  53. package/adapters/cursor/bin/foundation-legal/skill-family-contracts/LICENSE +202 -0
  54. package/adapters/cursor/bin/foundation-legal/skill-family-contracts/NOTICE +10 -0
  55. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/LICENSE +202 -0
  56. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/NOTICE +10 -0
  57. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/THIRD_PARTY_NOTICES +142 -0
  58. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/LICENSE +202 -0
  59. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/NOTICE +10 -0
  60. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/native-NOTICE +2 -0
  61. package/adapters/cursor/bin/foundation-resource-binding.json +1 -0
  62. package/adapters/cursor/bin/kernel-protocol.json +60 -0
  63. package/adapters/cursor/bin/license-texts/Apache-2.0.txt +201 -0
  64. package/adapters/cursor/bin/license-texts/MIT.txt +21 -0
  65. package/adapters/cursor/bin/prebuild-manifest.json +83 -0
  66. package/adapters/cursor/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  67. package/adapters/cursor/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  68. package/adapters/cursor/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  69. package/adapters/cursor/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  70. package/adapters/cursor/bin/registry.json +347 -0
  71. package/adapters/cursor/bin/release-skill-local-finish.mjs +4 -0
  72. package/adapters/cursor/bin/release-skill.bundle.mjs +151806 -0
  73. package/adapters/cursor/bin/release-skill.mjs +54 -0
  74. package/adapters/cursor/bin/rules.json +104 -0
  75. package/adapters/cursor/bin/schemas/consumer-contract-vector.schema.json +149 -0
  76. package/adapters/cursor/data/hosts/claude/host-descriptor.json +45 -0
  77. package/adapters/cursor/data/hosts/codebuddy/host-descriptor.json +26 -0
  78. package/adapters/cursor/data/hosts/codex/host-descriptor.json +45 -0
  79. package/adapters/cursor/data/hosts/cursor/host-descriptor.json +34 -0
  80. package/adapters/cursor/data/hosts/deepseek-harness/host-descriptor.json +23 -0
  81. package/adapters/cursor/data/hosts/kimi-code/host-descriptor.json +36 -0
  82. package/adapters/cursor/data/hosts/qoder/host-descriptor.json +26 -0
  83. package/adapters/cursor/data/hosts/registry.json +14 -0
  84. package/adapters/cursor/data/hosts/workbuddy/host-descriptor.json +34 -0
  85. package/adapters/cursor/data/licensing/registry.json +211 -0
  86. package/adapters/cursor/data/licensing/schema.json +207 -0
  87. package/adapters/cursor/native/safe-write/binding.gyp +41 -0
  88. package/adapters/cursor/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  89. package/adapters/cursor/native/safe-write/prebuilds.json +24 -0
  90. package/adapters/cursor/native/safe-write/src/safe_write.cc +2032 -0
  91. package/adapters/cursor/schemas/.render-manifest.json +41 -0
  92. package/adapters/cursor/schemas/approval-record.schema.json +115 -0
  93. package/adapters/cursor/schemas/artifact-lock.schema.json +111 -0
  94. package/adapters/cursor/schemas/artifact-plan.schema.json +52 -0
  95. package/adapters/cursor/schemas/artifact-policy.schema.json +76 -0
  96. package/adapters/cursor/schemas/evidence-event-v2.schema.json +164 -0
  97. package/adapters/cursor/schemas/evidence-event.schema.json +89 -0
  98. package/adapters/cursor/schemas/postpublish-approval-record.schema.json +47 -0
  99. package/adapters/cursor/schemas/release-plan.schema.json +2226 -0
  100. package/adapters/cursor/schemas/release-project.schema.json +1815 -0
  101. package/adapters/cursor/schemas/release-run.schema.json +777 -0
  102. package/adapters/cursor/skills/release-assess/SKILL.md +61 -0
  103. package/adapters/cursor/skills/release-config/SKILL.md +151 -0
  104. package/adapters/cursor/skills/release-docs/SKILL.md +120 -0
  105. package/adapters/cursor/skills/release-finish/SKILL.md +155 -0
  106. package/adapters/cursor/skills/release-help/SKILL.md +155 -0
  107. package/adapters/cursor/skills/release-marketplace/SKILL.md +157 -0
  108. package/adapters/cursor/skills/release-prepare/SKILL.md +136 -0
  109. package/adapters/cursor/skills/release-publish/SKILL.md +92 -0
  110. package/adapters/cursor/skills/release-reconcile/SKILL.md +81 -0
  111. package/adapters/cursor/skills/release-setup/SKILL.md +132 -0
  112. package/adapters/cursor/skills/release-verify/SKILL.md +110 -0
  113. package/adapters/cursor/src/schemas/adapter-build-manifest.schema.json +41 -0
  114. package/adapters/cursor/src/schemas/adapter-peer-verification-request.schema.json +54 -0
  115. package/adapters/cursor/src/schemas/adapter-peer-verification-result.schema.json +54 -0
  116. package/adapters/cursor/src/schemas/adapter-source.schema.json +47 -0
  117. package/adapters/cursor/src/schemas/audit-baseline-pin.schema.json +163 -0
  118. package/adapters/cursor/src/schemas/declared-read-surface-result.schema.json +61 -0
  119. package/adapters/cursor/src/schemas/engineering-baseline.schema.json +77 -0
  120. package/adapters/cursor/src/schemas/executable-identity-observation.schema.json +162 -0
  121. package/adapters/cursor/src/schemas/filesystem-root-binding.schema.json +14 -0
  122. package/adapters/cursor/src/schemas/filesystem-tree-observation.schema.json +71 -0
  123. package/adapters/cursor/src/schemas/fixed-set-publication-manifest.schema.json +108 -0
  124. package/adapters/cursor/src/schemas/fixed-set-publication-receipt.schema.json +148 -0
  125. package/adapters/cursor/src/schemas/host-capability-fact.schema.json +31 -0
  126. package/adapters/cursor/src/schemas/host-descriptor.schema.json +144 -0
  127. package/adapters/cursor/src/schemas/host-operation-plan.schema.json +57 -0
  128. package/adapters/cursor/src/schemas/host-operation-receipt.schema.json +81 -0
  129. package/adapters/cursor/src/schemas/host-probe-result.schema.json +30 -0
  130. package/adapters/cursor/src/schemas/host-registry.schema.json +18 -0
  131. package/adapters/cursor/src/schemas/host-verification-request.schema.json +67 -0
  132. package/adapters/cursor/src/schemas/host-verification-result.schema.json +149 -0
  133. package/adapters/cursor/src/schemas/managed-file-lock.schema.json +77 -0
  134. package/adapters/cursor/src/schemas/migration-manifest.schema.json +412 -0
  135. package/adapters/cursor/src/schemas/observation-scope.schema.json +91 -0
  136. package/adapters/cursor/src/schemas/operation-request.schema.json +58 -0
  137. package/adapters/cursor/src/schemas/operation-result.schema.json +130 -0
  138. package/adapters/cursor/src/schemas/platform-difference-registry.schema.json +110 -0
  139. package/adapters/cursor/src/schemas/plugin-verification-request.schema.json +499 -0
  140. package/adapters/cursor/src/schemas/plugin-verification-result.schema.json +1217 -0
  141. package/adapters/cursor/src/schemas/profile-adoption-declaration.schema.json +111 -0
  142. package/adapters/cursor/src/schemas/profile-descriptor.schema.json +99 -0
  143. package/adapters/cursor/src/schemas/project-manifest.schema.json +67 -0
  144. package/adapters/cursor/src/schemas/project-profile.schema.json +25 -0
  145. package/adapters/cursor/src/schemas/public-boundary-declaration.schema.json +73 -0
  146. package/adapters/cursor/src/schemas/report-binding.schema.json +42 -0
  147. package/adapters/cursor/src/schemas/report-model.schema.json +308 -0
  148. package/adapters/cursor/src/schemas/skill-family-directory-verification-request.schema.json +100 -0
  149. package/adapters/cursor/src/schemas/skill-family-directory-verification-result.schema.json +193 -0
  150. package/adapters/cursor/src/schemas/source-authority-receipt.schema.json +31 -0
  151. package/adapters/cursor/src/schemas/state-event-envelope.schema.json +38 -0
  152. package/adapters/cursor/src/schemas/state-snapshot-metadata.schema.json +25 -0
  153. package/adapters/cursor/src/schemas/structured-scan-policy.schema.json +97 -0
  154. package/adapters/cursor/src/schemas/surface-scan-policy.schema.json +42 -0
  155. package/adapters/cursor/src/schemas/timeout-policy.schema.json +24 -0
  156. package/adapters/cursor/src/schemas/token-estimate-record.schema.json +75 -0
  157. package/adapters/cursor/src/schemas/token-estimate-result.schema.json +43 -0
  158. package/adapters/cursor/src/schemas/watchdog-termination-envelope.schema.json +156 -0
  159. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  160. package/adapters/kimi/bin/consumer-contract-vectors.json +7 -7
  161. package/adapters/kimi/bin/error-codes.json +1 -1
  162. package/adapters/kimi/bin/foundation-resource-binding.json +1 -1
  163. package/adapters/kimi/bin/prebuild-manifest.json +8 -4
  164. package/adapters/kimi/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  165. package/adapters/kimi/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  166. package/adapters/kimi/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  167. package/adapters/kimi/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  168. package/adapters/kimi/bin/registry.json +1 -1
  169. package/adapters/kimi/bin/release-skill.bundle.mjs +3560 -1200
  170. package/adapters/kimi/bin/rules.json +1 -1
  171. package/adapters/kimi/data/hosts/cursor/host-descriptor.json +34 -0
  172. package/adapters/kimi/data/hosts/registry.json +1 -0
  173. package/adapters/kimi/schemas/release-plan.schema.json +255 -25
  174. package/adapters/kimi/schemas/release-project.schema.json +228 -26
  175. package/adapters/kimi/skills/release-finish/SKILL.md +17 -4
  176. package/adapters/kimi/skills/release-help/SKILL.md +40 -39
  177. package/adapters/kimi/src/schemas/host-descriptor.schema.json +9 -2
  178. package/adapters/qoder/.qoder-plugin/plugin.json +1 -1
  179. package/adapters/qoder/bin/consumer-contract-vectors.json +7 -7
  180. package/adapters/qoder/bin/error-codes.json +1 -1
  181. package/adapters/qoder/bin/foundation-resource-binding.json +1 -1
  182. package/adapters/qoder/bin/prebuild-manifest.json +8 -4
  183. package/adapters/qoder/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  184. package/adapters/qoder/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  185. package/adapters/qoder/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  186. package/adapters/qoder/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  187. package/adapters/qoder/bin/registry.json +1 -1
  188. package/adapters/qoder/bin/release-skill.bundle.mjs +3560 -1200
  189. package/adapters/qoder/bin/rules.json +1 -1
  190. package/adapters/qoder/data/hosts/cursor/host-descriptor.json +34 -0
  191. package/adapters/qoder/data/hosts/registry.json +1 -0
  192. package/adapters/qoder/schemas/release-plan.schema.json +255 -25
  193. package/adapters/qoder/schemas/release-project.schema.json +228 -26
  194. package/adapters/qoder/skills/release-finish/SKILL.md +17 -4
  195. package/adapters/qoder/skills/release-help/SKILL.md +40 -39
  196. package/adapters/qoder/src/schemas/host-descriptor.schema.json +9 -2
  197. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  198. package/adapters/workbuddy/bin/consumer-contract-vectors.json +7 -7
  199. package/adapters/workbuddy/bin/error-codes.json +1 -1
  200. package/adapters/workbuddy/bin/foundation-resource-binding.json +1 -1
  201. package/adapters/workbuddy/bin/prebuild-manifest.json +8 -4
  202. package/adapters/workbuddy/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  203. package/adapters/workbuddy/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  204. package/adapters/workbuddy/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  205. package/adapters/workbuddy/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  206. package/adapters/workbuddy/bin/registry.json +1 -1
  207. package/adapters/workbuddy/bin/release-skill.bundle.mjs +3560 -1200
  208. package/adapters/workbuddy/bin/rules.json +1 -1
  209. package/adapters/workbuddy/data/hosts/cursor/host-descriptor.json +34 -0
  210. package/adapters/workbuddy/data/hosts/registry.json +1 -0
  211. package/adapters/workbuddy/schemas/release-plan.schema.json +255 -25
  212. package/adapters/workbuddy/schemas/release-project.schema.json +228 -26
  213. package/adapters/workbuddy/skills/release-finish/SKILL.md +17 -4
  214. package/adapters/workbuddy/skills/release-help/SKILL.md +40 -39
  215. package/adapters/workbuddy/src/schemas/host-descriptor.schema.json +9 -2
  216. package/bin/consumer-contract-vectors.json +7 -7
  217. package/bin/error-codes.json +1 -1
  218. package/bin/foundation-resource-binding.json +1 -1
  219. package/bin/prebuild-manifest.json +8 -4
  220. package/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  221. package/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  222. package/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  223. package/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  224. package/bin/registry.json +1 -1
  225. package/bin/release-skill-cli.mjs +25 -1
  226. package/bin/release-skill.bundle.mjs +3560 -1200
  227. package/bin/rules.json +1 -1
  228. package/data/hosts/cursor/host-descriptor.json +34 -0
  229. package/data/hosts/registry.json +1 -0
  230. package/package.json +7 -5
  231. package/platform-manifest.json +75 -9
  232. package/schemas/release-plan.schema.json +255 -25
  233. package/schemas/release-project.schema.json +228 -26
  234. package/scripts/sync-public-files.mjs +3 -22
  235. package/skills/release-finish/SKILL.md +17 -4
  236. package/skills/release-help/SKILL.md +40 -39
  237. package/skills-src/release-finish/SKILL.md +17 -4
  238. package/skills-src/release-help/SKILL.md +40 -39
  239. package/src/adapters/contract.mjs +1 -0
  240. package/src/adapters/plugin-marketplace.mjs +201 -9
  241. package/src/commands/post-release-local.mjs +290 -34
  242. package/src/commands/prepare.mjs +74 -9
  243. package/src/commands/publish.mjs +4 -1
  244. package/src/commands/ship.mjs +2 -0
  245. package/src/commands/verify.mjs +73 -0
  246. package/src/core/checkpoints.mjs +5 -2
  247. package/src/core/config.mjs +1 -1
  248. package/src/core/foundation-host-verification.mjs +168 -0
  249. package/src/core/plan.mjs +19 -1
  250. package/src/core/postpublish.mjs +9 -1
  251. package/src/core/run-retention.mjs +1 -1
  252. package/src/core/surface-host-bindings.mjs +1 -0
  253. package/src/core/verification-gates.mjs +1 -1
  254. package/src/platforms/registry.mjs +225 -16
  255. package/src/producers/build-adapters.mjs +21 -26
  256. package/src/producers/foundation-resource-projection.mjs +3 -3
  257. package/src/schemas/host-descriptor.schema.json +9 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.18",
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.9.17",
3
+ "version": "0.9.18",
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.9.17",
3
+ "version": "0.9.18",
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.9.17.",
22
+ "Prepare a release plan for version 0.9.18.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "release-skill",
3
+ "version": "0.9.18",
4
+ "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
+ "author": {
6
+ "name": "广州市风荷科技有限公司"
7
+ },
8
+ "license": "Apache-2.0",
9
+ "skills": "./adapters/cursor/skills/"
10
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.18",
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.9.17",
3
+ "version": "0.9.18",
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,9 +1,43 @@
1
1
  # Changelog
2
2
 
3
- <!-- release-skill:changelog:start version=0.9.17 locale=en baseline=sha256:83fe967a104a1b324ea1b704cfc6ee67d6a2999f3d6c0e2d92411435fa6986a2 -->
3
+ <!-- release-skill:changelog:start version=0.9.18 locale=en baseline=sha256:486d52ac38ecb11f043c79661728004fb1c1593089915741867cdc0f449be275 -->
4
+ ## [0.9.18] - 2026-09-11
5
+
6
+ 0.9.18 is a local source candidate that adds first-class Cursor packaging, Foundation-backed host verification, and a final local distribution path for Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor. The three Foundation dependencies remain pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
7
+
8
+ ### Security
9
+
10
+ - Cursor must be closed before its plugin tree is scanned or replaced. Failed upgrades preserve or restore a complete old or new directory instead of publishing a mixed tree.
11
+ - Host verification receives only caller-declared roots and records mechanism observations separately from release-domain publication and verification state.
12
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
13
+
14
+ ### Added
15
+
16
+ - The npm package now includes `.cursor-plugin/plugin.json` and a self-contained `adapters/cursor/` projection with all release-skill Skills and runtime resources.
17
+ - Release verification can invoke Foundation 0.21.0 host verification with explicit executable and user-state roots, including Cursor project-level plugin verification.
18
+ - The final local updater can distribute the verified release to the declared Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor installations.
19
+ - Skill Family Hub remains the central marketplace. Its release entry is published through the existing Git Data API after release verification.
20
+
21
+ ### Changed
22
+
23
+ - Local host updates verify the frozen snapshot and manifest identity before installation, and Cursor updates use Foundation fixed-set publication for first install and atomic full-directory replacement for upgrades.
24
+ - Platform generation, public-file projection, package allowlists, schemas, and release-finish guidance now treat Cursor as a declared host and adapter.
25
+
26
+ ### Fixed
27
+
28
+ - Cursor plugin names reject underscores so generated local plugin directories remain compatible with Cursor's manifest requirements.
29
+ - The package's native prebuild allowlist and fixed resource-closure checks now include every generated adapter, including Cursor.
30
+
31
+ ### Upgrade Notes
32
+
33
+ Upgrade from 0.9.17 to obtain Cursor packaging and local installation, the Foundation-backed host verification bridge, and the unified seven-host local finish path. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. Reload each host after updating; an `UPDATED` filesystem result alone does not prove that the running host loaded the new version.
34
+ <!-- release-skill:changelog:end version=0.9.18 locale=en -->
35
+
36
+
37
+ <!-- release-skill:changelog:start version=0.9.17 locale=en baseline=sha256:b7b382ee18c66d75612df7c83aa80439100237bf7d1ce3e36dc0cf1a038ed051 -->
4
38
  ## [0.9.17] - 2026-09-09
5
39
 
6
- 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies remain pinned to the exact 0.17.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
40
+ 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies are pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
7
41
 
8
42
  ### Security
9
43
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -125,7 +125,7 @@ tag pinned to the exact version (never the bare repository URL, which installs
125
125
  the latest release or default branch), confirm the trust prompt, then reload:
126
126
 
127
127
  ```
128
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.17
128
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.18
129
129
  /plugins reload
130
130
  ```
131
131
 
@@ -146,13 +146,22 @@ The effective configuration root is explicit `kimiHome`, then
146
146
  `KIMI_CODE_HOME`, then `~/.kimi-code`. The TUI process and post-operation
147
147
  observation use that same root. The TUI working directory is the resolved release
148
148
  project root passed through `--root`. After explicit confirmation of the frozen
149
- plan and selection of Kimi for update, release-finish accepts only the initial
150
- standard `Trust this folder?` dialog with `No, exit` selected and
151
- `Trust this folder` available. It moves to that row, verifies the new selection,
152
- confirms it, and waits for the known command prompt. Unknown rows or selections,
153
- a failed move, timeout, early exit, or a folder-trust dialog after the plugin
154
- command fails closed. release-finish still strips ANSI/OSC control sequences and
155
- soft wrapping before it checks the frozen repository, tag, and selected
149
+ plan and selection of Kimi for update, release-finish reads the complete initial
150
+ `Trust this folder?` dialog and requires exactly one positive
151
+ `Trust this folder` action and exactly one selected action. If the positive action
152
+ is already selected, it confirms without sending a direction key. If a known
153
+ rejection action is selected, it moves once according to the action's position,
154
+ reads the complete dialog again, and verifies the positive selection before
155
+ confirming. Unknown or duplicate actions, a missing or duplicate positive action,
156
+ an unverifiable selection, a failed move, timeout, early exit, or a folder-trust
157
+ dialog after the plugin command fails closed. When a later Kimi version presents
158
+ a new reproducible blocking layout, capture the Kimi version, visible actions,
159
+ selected action, and their relationship first. Add the nearest regression and
160
+ continue compatibility work when those facts uniquely identify the current
161
+ directory, positive trust action, and selection result; stop and escalate when
162
+ directory identity or action semantics remain ambiguous. release-finish still
163
+ strips ANSI/OSC control sequences and soft wrapping before it checks the frozen
164
+ repository, tag, and selected
156
165
  `Trust and install` action inside the plugin trust dialog. This local check is
157
166
  not part of `verify` and does not alter the `VERIFIED` release state.
158
167
 
@@ -198,6 +207,44 @@ For a single session from a source checkout you can also point CodeBuddy at the
198
207
  generated plugin directory with `--plugin-dir <path>/adapters/workbuddy`; the
199
208
  adapter never references files outside its own directory.
200
209
 
210
+ ## Install as a Cursor Local plugin
211
+
212
+ `adapters/cursor/` contains `.cursor-plugin/plugin.json`, all public Skills and a
213
+ self-contained runtime. Skills resolve the plugin from the absolute `SKILL.md`
214
+ path supplied by Cursor and validate the root manifest; no plugin-root environment
215
+ variable is required.
216
+
217
+ Declare `cursor` in `postPublish.localHostUpdate.hosts` and set
218
+ `cursor.sourcePath: adapters/cursor`. The directory and manifest identity are
219
+ frozen with the public snapshot. Optional `cursor.dependencyInstall:
220
+ npm-ci-ignore-scripts` installs lockfile dependencies in a candidate outside the
221
+ scanner root.
222
+
223
+ On macOS, quit Cursor and run the installed finishing entry. Supply the real
224
+ absolute plugins root, commonly `.cursor/plugins` inside the user directory:
225
+
226
+ ```bash
227
+ node <installed-plugin-root>/bin/release-skill-local-finish.mjs \
228
+ --root <release-project-root> --plan <frozen-plan-path> --run <completed-run-path> \
229
+ --update-local-hosts --hosts cursor --confirm-plan <planDigest> \
230
+ --cursor-plugins-root <absolute-cursor-plugins-root> --json
231
+ ```
232
+
233
+ The command verifies the plan, run lineage and frozen snapshot before installing
234
+ the complete plugin at `<cursor-plugins-root>/local/<plugin>`. First installation
235
+ never overwrites an existing directory. Upgrades atomically exchange whole
236
+ directories and retain the old version at `backups/<plugin>/release-*/plugin`.
237
+ An identical version and full closure returns `ALREADY_CURRENT`; a completed
238
+ write returns `UPDATED` with restart instructions. Indeterminate exchanges retain
239
+ both sides for manual inspection; do not retry blindly. If backup relocation
240
+ fails while the exchanged mapping remains provable, the script restores the old
241
+ directory and reports failure.
242
+
243
+ Restart Cursor or run Reload Window, then verify the Local source, version,
244
+ public Skills and a real business invocation separately. Installation does not
245
+ prove loading and never changes `VERIFIED`. Other operating systems, a running
246
+ Cursor process or unavailable process observation return `MANUAL_REQUIRED`.
247
+
201
248
  ## Install as a Qoder plugin
202
249
 
203
250
  The npm package ships `.qoder-plugin/plugin.json` and a generated,
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.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -113,7 +113,7 @@ release-skill 当前只采用并验证 Kimi Code 的交互式 TUI 路径,**无
113
113
  (切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
114
114
 
115
115
  ```
116
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.17
116
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.18
117
117
  /plugins reload
118
118
  ```
119
119
 
@@ -127,11 +127,16 @@ release-finish 会重新读取 Kimi 的受管安装根,不复用操作前的
127
127
 
128
128
  有效配置根依次取显式 `kimiHome`、`KIMI_CODE_HOME`、`~/.kimi-code`,TUI 进程和
129
129
  操作后观察使用同一根,TUI 工作目录固定为 `--root` 指定的当前发布项目。用户确认冻结
130
- 计划并显式选择更新 Kimi 后,release-finish 只接受初始标准 `Trust this folder?` 界面:
131
- 当前必须选中 `No, exit`,且存在 `Trust this folder` 目标行。流程移动到目标行,重新确认
132
- 选中项,再提交并等待已知命令提示符。出现未知行或选中项、移动后无法确认、超时、提前
133
- 退出,或者插件命令发出后再次出现目录信任时,该宿主失败并停止。release-finish 仍会先
134
- 清理 ANSI/OSC 控制序列和软换行,再在插件信任对话框内核对冻结仓库、标签和当前选中的
130
+ 计划并显式选择更新 Kimi 后,release-finish 会读取完整的初始 `Trust this folder?`
131
+ 对话框,并要求其中只有一个正向项 `Trust this folder` 和一个选中项。正向项已经选中时,
132
+ 流程不发送方向键,直接确认;已知拒绝项选中时,流程按它与正向项的相对位置移动一次,
133
+ 重新读取完整对话框并确认正向项已选中,然后才提交。出现未知或重复选项、正向项缺失或
134
+ 重复、选中状态无法核验、移动后无法确认、超时、提前退出,或者插件命令发出后再次出现
135
+ 目录信任时,该宿主失败并停止。若后续 Kimi 版本出现新的可复现阻断界面,先记录 Kimi
136
+ 版本、可见选项、选中项及其相对关系;这些事实足以唯一确认当前目录、正向信任项和选择
137
+ 结果时,在最近测试补回归与兼容并继续,目录身份或选项语义仍有歧义时停止并交回主会话。
138
+ release-finish 仍会先清理 ANSI/OSC 控制序列和软换行,再在插件信任对话框内核对冻结
139
+ 仓库、标签和当前选中的
135
140
  `Trust and install`。这个本机检查不属于 `verify`,也不会改变
136
141
  已经完成的 `VERIFIED` 发布状态。
137
142
 
@@ -189,6 +194,35 @@ qoder plugins install release-skill@skill-family-hub --scope user --json
189
194
  或新开会话,再由真实发现的 release-skill 完成一次只读发布业务调用,才能宣称新版已
190
195
  生效。这些本机结果不会改变 `VERIFIED`。
191
196
 
197
+ ## 安装为 Cursor 本地插件
198
+
199
+ 包内 `adapters/cursor/` 包含 `.cursor-plugin/plugin.json`、全部公开 Skill 和自足运行资源。
200
+ Skill 根据宿主实际加载的 `SKILL.md` 绝对路径定位插件根,并检查根清单;不依赖插件根环境变量。
201
+
202
+ 发布项目在 `postPublish.localHostUpdate.hosts` 中声明 `cursor`,并设置
203
+ `cursor.sourcePath: adapters/cursor`。该相对目录与清单身份随公开快照冻结;需要锁文件依赖时,
204
+ 可设置 `cursor.dependencyInstall: npm-ci-ignore-scripts`,脚本只在扫描根外的候选中安装依赖。
205
+
206
+ macOS 上先退出 Cursor,再运行已安装版本的收尾入口。插件根必须使用真实绝对路径;
207
+ 常见位置是用户目录下的 `.cursor/plugins`,命令不会自动推断它。
208
+
209
+ ```bash
210
+ node <installed-plugin-root>/bin/release-skill-local-finish.mjs \
211
+ --root <release-project-root> --plan <frozen-plan-path> --run <completed-run-path> \
212
+ --update-local-hosts --hosts cursor --confirm-plan <planDigest> \
213
+ --cursor-plugins-root <absolute-cursor-plugins-root> --json
214
+ ```
215
+
216
+ 命令先复验计划、运行谱系和冻结快照,再把完整插件放到 `<cursor-plugins-root>/local/<plugin>`。
217
+ 首次安装不覆盖已有目录;升级整体交换目录,并把旧版保存到 `backups/<plugin>/release-*/plugin`。
218
+ 相同版本和完整闭包一致时返回 `ALREADY_CURRENT`;写入成功返回 `UPDATED` 和重启提示。
219
+ 交换结果不确定时保留现场并要求人工检查,禁止原样重试。备份迁移失败且交换映射可确认时,
220
+ 脚本恢复原目录并报告失败。
221
+
222
+ 重启 Cursor 或执行 Reload Window 后,分别核对 Local 来源、版本、公开 Skill 和一次实际业务调用。
223
+ 安装成功不等于新版已加载;本机结果不改变 `VERIFIED`。其他操作系统、Cursor 仍运行或进程状态
224
+ 无法判断时,自动安装返回 `MANUAL_REQUIRED`。
225
+
192
226
  ## 消费端安装验证边界
193
227
 
194
228
  **何时执行验证。** 消费端安装验证仅在安装契约关键文件相对已确认公开基线发生变化时执行;
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.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
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,36 +14,40 @@ 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.9.17** (2026-09-09)
17
+ **0.9.18** (2026-09-11)
18
18
 
19
- 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies remain pinned to the exact 0.17.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
19
+ 0.9.18 is a local source candidate that adds first-class Cursor packaging, Foundation-backed host verification, and a final local distribution path for Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor. The three Foundation dependencies remain pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
20
20
 
21
21
  **Security**
22
22
 
23
- - Offline verification reads only paths explicitly supplied on the command line and redacts local path details from its JSON result. Historical consistency does not prove that records are globally latest or that remote objects still exist.
24
- - Qoder remains outside release distributions and publication checkpoints. The updater does not add a marketplace, perform a first install, uninstall, or reload the current session; `UPDATED` does not mean the new plugin has been loaded.
25
- - Any later central Skill Family Hub publication uses the existing Git Data API with compare-and-swap. A partial Hub publication remains recoverable and is never rolled back or force-pushed automatically.
23
+ - Cursor must be closed before its plugin tree is scanned or replaced. Failed upgrades preserve or restore a complete old or new directory instead of publishing a mixed tree.
24
+ - Host verification receives only caller-declared roots and records mechanism observations separately from release-domain publication and verification state.
25
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
26
26
 
27
27
  **Added**
28
28
 
29
- - The public `release-skill verify-records` CLI checks caller-supplied plan, approval, target-run, and predecessor-run bytes. It reports `CONSISTENT`, `CONTRADICTED`, or `INSUFFICIENT` without scanning `.release-skill`, following paths from records, contacting remotes, writing files, or changing release state.
30
- - The npm package now includes `.qoder-plugin/plugin.json` and a self-contained `adapters/qoder/` projection. The existing post-release updater can update an already installed user-scope Qoder plugin only after the selected Hub source and frozen payload match.
29
+ - The npm package now includes `.cursor-plugin/plugin.json` and a self-contained `adapters/cursor/` projection with all release-skill Skills and runtime resources.
30
+ - Release verification can invoke Foundation 0.21.0 host verification with explicit executable and user-state roots, including Cursor project-level plugin verification.
31
+ - The final local updater can distribute the verified release to the declared Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor installations.
32
+ - Skill Family Hub remains the central marketplace. Its release entry is published through the existing Git Data API after release verification.
31
33
 
32
34
  **Changed**
33
35
 
34
- - The release-finish setup continuation uses the current `--root` release project directly. It no longer asks for a second project path, while project-level readiness and host-specific loading checks remain distinct.
36
+ - Local host updates verify the frozen snapshot and manifest identity before installation, and Cursor updates use Foundation fixed-set publication for first install and atomic full-directory replacement for upgrades.
37
+ - Platform generation, public-file projection, package allowlists, schemas, and release-finish guidance now treat Cursor as a declared host and adapter.
35
38
 
36
39
  **Fixed**
37
40
 
38
- - An authorized Kimi update can confirm the standard initial `Trust this folder?` dialog for the current release project before continuing. Unknown rows, selections, repeated trust dialogs, timeout, or early exit still stop that host.
41
+ - Cursor plugin names reject underscores so generated local plugin directories remain compatible with Cursor's manifest requirements.
42
+ - The package's native prebuild allowlist and fixed resource-closure checks now include every generated adapter, including Cursor.
39
43
 
40
44
  **Upgrade Notes**
41
45
 
42
- Upgrade from 0.9.16 to use `release-skill verify-records`, the Qoder package projection, and the setup/Kimi fixes. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. The central Skill Family Hub must accept the Qoder entry before marketplace installation can begin. Real Qoder and Kimi installation, reload, and business invocation remain separate authorized follow-up work.
46
+ Upgrade from 0.9.17 to obtain Cursor packaging and local installation, the Foundation-backed host verification bridge, and the unified seven-host local finish path. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. Reload each host after updating; an `UPDATED` filesystem result alone does not prove that the running host loaded the new version.
43
47
  <!-- release-skill:managed:end id=latest-release -->
44
48
 
45
49
  <!-- release-skill:capability:external-write-boundary -->
46
- > **Current boundary:** v0.9.17 is the current source candidate. This README
50
+ > **Current boundary:** v0.9.18 is the current source candidate. This README
47
51
  > records intended scope and verification boundaries; it is not evidence of
48
52
  > publication, consumer-installation verification, or independent acceptance.
49
53
  > Release availability must be established from the corresponding release records
@@ -67,7 +71,7 @@ Upgrade from 0.9.16 to use `release-skill verify-records`, the Qoder package pro
67
71
  > publish global preflight.
68
72
 
69
73
  <!-- release-skill:capability:safe-first-command -->
70
- > **Production path verified since the v0.1.1 milestone; v0.9.17 is the current
74
+ > **Production path verified since the v0.1.1 milestone; v0.9.18 is the current
71
75
  > source candidate. Its README does not establish publication,
72
76
  > consumer-installation verification, or independent acceptance.**
73
77
  > The npm-installed CLI is the supported user entry. Source checkout
@@ -96,10 +100,11 @@ checkpoints remain intact and use matching-version recovery. Evidence v1 stays
96
100
  read-only; v2 uses a closed top level with phase extensions in `details`.
97
101
  Summaries and recovery suggestions are diagnostic, never publication authority.
98
102
 
99
- The current 0.9.17 candidate includes the narrow R-05 Hook cache v2 consumer
103
+ The current 0.9.18 candidate includes the narrow R-05 Hook cache v2 consumer
100
104
  path, the public `postverify` path, and the stable isolated install-tree record
101
105
  path (A2/A3). It also adds the explicit-input `verify-records` command and a
102
- self-contained Qoder projection. Skill Family Hub remains the single
106
+ self-contained Qoder projection, first-class Cursor packaging, and the
107
+ Foundation-backed host verification bridge. Skill Family Hub remains the single
103
108
  marketplace source. The candidate
104
109
  also makes the `release-prepare` Skill organize existing assessment, refresh,
105
110
  focused-check, and prepare entry points without adding another execution
@@ -107,10 +112,10 @@ engine. `prepare --help` and `prepare -h` now return before configuration,
107
112
  locks, runs, or hooks can observe the request. The `release-finish` Skill can
108
113
  also report the source branch and continue into a configured setup entry after
109
114
  the selected host has loaded the released plugin. This candidate still excludes
110
- R-02 safe full-tree inventory and real Kimi/WorkBuddy/Qoder marketplace
111
- installation and invocation gates. The central Hub has not yet accepted the
112
- release-skill Qoder entry.
113
- Foundation dependencies are pinned to the three released 0.17.0 packages.
115
+ R-02 safe full-tree inventory. Marketplace installation and live invocation
116
+ remain host-level post-release checks; Cursor is distributed through its
117
+ supported local-plugin directory rather than a Hub marketplace entry.
118
+ Foundation dependencies are pinned to the three released 0.21.0 packages.
114
119
  For Kimi/CodeBuddy plans that still use the bundled-family distribution form,
115
120
  verify calls the released
116
121
  `runPluginVerification` entry with the complete frozen payload and records a
@@ -275,7 +280,13 @@ Qoder entry; the generated adapter alone does not prove Hub consumption. See
275
280
  [INSTALL.md](INSTALL.md#install-as-a-qoder-plugin) for the bounded install and
276
281
  post-release update contract.
277
282
 
278
- See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, Kimi Code, and Qoder commands.
283
+ **Cursor:** `adapters/cursor/` is a complete Local plugin. After release verification,
284
+ `release-finish` can install or atomically upgrade its frozen tree on macOS while
285
+ Cursor is closed. It requires an explicit `--cursor-plugins-root` and preserves
286
+ the displaced version outside `local/`. Restart and real Skill invocation remain
287
+ separate checks. See [the Cursor instructions](INSTALL.md#install-as-a-cursor-local-plugin).
288
+
289
+ See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, Kimi Code, Qoder, and Cursor commands.
279
290
 
280
291
  ### Offline historical record verification
281
292
 
package/README.zh-CN.md CHANGED
@@ -2,42 +2,46 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
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.9.17** (2026-09-09)
11
+ **0.9.18** (2026-09-11)
12
12
 
13
- 0.9.17 是一个本地源码候选。本版本增加显式的历史发布记录离线核验入口和自包含 Qoder 投影,并保留 setup 根目录与 Kimi 初始目录信任修复。三项 Foundation 依赖仍精确固定在已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收,也不代表 Hub 已接纳。
13
+ 0.9.18 是一个本地源码候选。本版本增加 Cursor 的正式打包与分发、基于 Foundation 的宿主核验,以及覆盖 Claude、Codex、Kimi、CodeBuddy、WorkBuddy、Qoder 和 Cursor 的最终本机分发路径。三项 Foundation 依赖继续精确固定在已发布的 0.21.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
14
14
 
15
15
  **安全**
16
16
 
17
- - 离线核验只读取命令行显式提供的路径,并从 JSON 结果中隐去本机路径细节。历史材料一致不代表记录是全局最新,也不证明远端对象仍然存在。
18
- - Qoder 不进入 release distribution 和发布检查点。更新入口不会添加市场、首次安装、卸载或重新加载当前会话;`UPDATED` 也不代表新版插件已经加载。
19
- - 后续如需发布到中央 Skill Family Hub,仍通过既有 GitHub Git Data API 执行比较后写入。Hub 部分发布保持可恢复,系统不会自动回滚;即不回滚、不覆盖已经成功的远端步骤。
17
+ - 扫描或替换 Cursor 插件树前必须关闭 Cursor。升级失败时保留或恢复完整的旧目录或新目录,不会发布混合目录。
18
+ - 宿主核验只接收调用方声明的根目录,并把机制观察结果与 release-skill 的发布、验证状态分别记录。
19
+ - Hub 发布继续绑定已观察的分支头执行比较后写入。部分发布时不回滚、不覆盖已经成功的远端步骤。
20
20
 
21
21
  **新增**
22
22
 
23
- - 新增公共命令 `release-skill verify-records`,核验调用者显式提供的计划、批准、目标 run 和前驱 run 字节。命令返回 `CONSISTENT`、`CONTRADICTED` 或 `INSUFFICIENT`,不会扫描 `.release-skill`、跟随记录中的路径、访问远端、写文件或改变发布状态。
24
- - npm 包增加 `.qoder-plugin/plugin.json` 和自包含的 `adapters/qoder/` 投影。现有发布后更新入口只在所选 Hub 来源与冻结载荷一致时,更新已经存在的用户范围 Qoder 插件。
23
+ - npm 包新增 `.cursor-plugin/plugin.json` 和自包含的 `adapters/cursor/` 投影,包含 release-skill 的全部 Skill 与运行资源。
24
+ - 发布验证可通过显式的可执行文件根目录和用户状态根目录调用 Foundation 0.21.0 宿主核验,其中包括 Cursor 项目级插件核验。
25
+ - 最终本机更新入口可以把已验证版本分发到声明的 Claude、Codex、Kimi、CodeBuddy、WorkBuddy、Qoder 和 Cursor 安装位置。
26
+ - Skill Family Hub 继续作为中央市场。发布完成验证后,release-skill 通过既有 GitHub Git Data API 更新 Hub 条目。
25
27
 
26
28
  **变更**
27
29
 
28
- - release-finish 的 setup 续接直接使用当前 `--root` 发布项目,不再询问第二个项目路径。项目级就绪检查与各宿主的加载检查仍分别判断。
30
+ - 本机宿主更新会先核对冻结快照、manifest 身份和版本。Cursor 首次安装使用 Foundation 固定集合发布,升级使用整个目录的原子替换。
31
+ - 平台生成、公开文件投影、包内容许可清单、Schema 与 release-finish 指引现在统一把 Cursor 视为正式宿主和适配器。
29
32
 
30
33
  **修复**
31
34
 
32
- - 已授权的 Kimi 更新可以先确认当前发布项目的标准初始 `Trust this folder?` 界面,再继续插件操作。未知行、未知选中项、重复信任界面、超时或提前退出仍会停止该宿主。
35
+ - Cursor 插件名不再接受下划线,生成的本机插件目录符合 Cursor manifest 的名称约束。
36
+ - npm 包原生预构建许可清单和固定资源闭包检查现已覆盖包括 Cursor 在内的全部生成适配器。
33
37
 
34
38
  **升级说明**
35
39
 
36
- 从 0.9.16 升级后,可使用 `release-skill verify-records`、Qoder 包投影及 setup/Kimi 修复。请移除独立的 `release-skill` 市场,改用 ifoohoo/skill-family-hub 仓库与 Hub 限定插件名 release-skill@skill-family-hub。中央 Skill Family Hub 必须先接纳 Qoder 条目,才能开始市场安装。真实 Qoder 与 Kimi 的安装、重载和业务调用仍是需要单独授权的后续工作。
40
+ 从 0.9.17 升级后,可获得 Cursor 打包与本机安装、基于 Foundation 的宿主核验桥,以及统一的七宿主本机收尾路径。请移除独立的 `release-skill` 市场,改用 ifoohoo/skill-family-hub 仓库与 Hub 限定插件名 release-skill@skill-family-hub。更新后仍需重新加载各宿主;文件系统返回 `UPDATED` 并不单独证明运行中的宿主已经加载新版。
37
41
  <!-- release-skill:managed:end id=latest-release -->
38
42
 
39
43
  <!-- release-skill:capability:external-write-boundary -->
40
- > **当前边界:** v0.9.17 只是当前源码候选。本 README 记录预期范围与验证边界,
44
+ > **当前边界:** v0.9.18 只是当前源码候选。本 README 记录预期范围与验证边界,
41
45
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
42
46
  > 版本可用性以对应发布记录及发布后验证结果为准。
43
47
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -53,7 +57,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
53
57
  > 远端唯一性检查在 `publish` 全局预检执行。
54
58
 
55
59
  <!-- release-skill:capability:safe-first-command -->
56
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.17 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
60
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.18 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
57
61
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
58
62
  >
59
63
  > **第一条命令:**
@@ -71,16 +75,17 @@ marketplace 委托目标工作区发布的边界不变。
71
75
 
72
76
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
73
77
 
74
- 当前 0.9.17 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
78
+ 当前 0.9.18 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
75
79
  路径和稳定隔离安装树记录路径(A2/A3),并增加只接受显式输入的 `verify-records`
76
- 命令和自包含 Qoder 投影。Skill Family Hub 仍是唯一市场来源。
80
+ 命令、自包含 Qoder 投影、Cursor 正式打包,以及基于 Foundation 的宿主核验桥。
81
+ Skill Family Hub 仍是唯一市场来源。
77
82
  `release-prepare` Skill 现在会组织项目已有的评估、刷新、聚焦检查和 prepare 入口,不新增执行引擎。
78
83
  `prepare --help` 和 `prepare -h` 会在配置、锁、run 或 Hook 观察请求之前返回。
79
84
  所选宿主加载已发布插件后,`release-finish` Skill 还可以报告源码分支,并继续执行已配置的 setup 入口。
80
- 当前仍不包含 R-02 安全整树盘点和真实 Kimi/WorkBuddy/Qoder 市场安装与调用门禁;中央 Hub
81
- 尚未接纳 release-skill 的 Qoder 条目。本范围说明不构成远端发布记录或消费者升级指引。
85
+ 当前仍不包含 R-02 安全整树盘点。市场安装与真实调用继续作为各宿主的发布后检查;Cursor
86
+ 通过其支持的本机插件目录分发,不进入 Hub 市场条目。本范围说明不构成远端发布记录或消费者升级指引。
82
87
 
83
- Foundation 三包精确依赖已发布的 0.17.0。仍采用 bundled-family 分发形态的
88
+ Foundation 三包精确依赖已发布的 0.21.0。仍采用 bundled-family 分发形态的
84
89
  Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
85
90
  交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,
86
91
  CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,
@@ -222,7 +227,12 @@ TUI 路径,见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-kimi-code-插件)
222
227
  用户范围的市场安装;生成适配器本身不能证明 Hub 消费成立。安装与发布后更新边界见
223
228
  [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-qoder-插件)。
224
229
 
225
- CodeBuddy、Codex、Kimi Code 和 Qoder 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
230
+ **Cursor:** `adapters/cursor/` 是完整的 Local(本地)插件。发布验证完成后,
231
+ `release-finish` 可在 macOS 上安装或整体原子升级冻结插件,操作前必须退出 Cursor,
232
+ 并显式传入 `--cursor-plugins-root`。旧版保存在 `local/` 外;重启后的加载和技能调用
233
+ 另行验证。操作说明见[Cursor 本地插件安装](INSTALL.zh-CN.md#安装为-cursor-本地插件)。
234
+
235
+ CodeBuddy、Codex、Kimi Code、Qoder 和 Cursor 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
226
236
 
227
237
  ### 离线核验历史发布记录
228
238
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.18",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "kind": "skill-family.contracts.consumer-contract-vectors",
4
- "foundationVersion": "0.17.0",
4
+ "foundationVersion": "0.21.0",
5
5
  "sets": [
6
6
  {
7
7
  "capabilityId": "foundation.contracts.object-validation",
@@ -15,7 +15,7 @@
15
15
  "vectorId": "foundation.contracts.object-validation.consumer-v1.indeterminate",
16
16
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
17
17
  "capabilityId": "foundation.contracts.object-validation",
18
- "foundationVersion": "0.17.0",
18
+ "foundationVersion": "0.21.0",
19
19
  "contractId": "skill-family-contracts:validateDocument",
20
20
  "caseClass": "indeterminate",
21
21
  "strategy": "real-pure",
@@ -31,7 +31,7 @@
31
31
  "vectorId": "foundation.contracts.object-validation.consumer-v1.negative",
32
32
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
33
33
  "capabilityId": "foundation.contracts.object-validation",
34
- "foundationVersion": "0.17.0",
34
+ "foundationVersion": "0.21.0",
35
35
  "contractId": "skill-family-contracts:validateDocument",
36
36
  "caseClass": "negative",
37
37
  "strategy": "real-pure",
@@ -47,7 +47,7 @@
47
47
  "vectorId": "foundation.contracts.object-validation.consumer-v1.positive",
48
48
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
49
49
  "capabilityId": "foundation.contracts.object-validation",
50
- "foundationVersion": "0.17.0",
50
+ "foundationVersion": "0.21.0",
51
51
  "contractId": "skill-family-contracts:validateDocument",
52
52
  "caseClass": "positive",
53
53
  "strategy": "real-pure",
@@ -71,7 +71,7 @@
71
71
  "vectorId": "foundation.harness.atomic-write.consumer-v1.indeterminate",
72
72
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
73
73
  "capabilityId": "foundation.harness.atomic-write",
74
- "foundationVersion": "0.17.0",
74
+ "foundationVersion": "0.21.0",
75
75
  "contractId": "skill-family-harness-node:writeFileAtomic",
76
76
  "caseClass": "indeterminate",
77
77
  "strategy": "official-fake",
@@ -84,7 +84,7 @@
84
84
  "vectorId": "foundation.harness.atomic-write.consumer-v1.negative",
85
85
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
86
86
  "capabilityId": "foundation.harness.atomic-write",
87
- "foundationVersion": "0.17.0",
87
+ "foundationVersion": "0.21.0",
88
88
  "contractId": "skill-family-harness-node:writeFileAtomic",
89
89
  "caseClass": "negative",
90
90
  "strategy": "official-fake",
@@ -97,7 +97,7 @@
97
97
  "vectorId": "foundation.harness.atomic-write.consumer-v1.positive",
98
98
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
99
99
  "capabilityId": "foundation.harness.atomic-write",
100
- "foundationVersion": "0.17.0",
100
+ "foundationVersion": "0.21.0",
101
101
  "contractId": "skill-family-harness-node:writeFileAtomic",
102
102
  "caseClass": "positive",
103
103
  "strategy": "official-fake",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "kind": "skill-family.contracts.error-codes",
4
- "contractsVersion": "1.16.0",
4
+ "contractsVersion": "1.18.0",
5
5
  "policy": {
6
6
  "format": "^SFC[0-9]{4}$",
7
7
  "ranges": [