release-skill 0.1.7 → 0.1.8

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 (63) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -2
  4. package/.kimi-plugin/plugin.json +27 -0
  5. package/CHANGELOG.md +22 -0
  6. package/INSTALL.md +73 -2
  7. package/INSTALL.zh-CN.md +94 -99
  8. package/README.md +49 -35
  9. package/README.zh-CN.md +82 -321
  10. package/adapters/claude/.claude-plugin/marketplace.json +1 -1
  11. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  12. package/adapters/claude/bin/release-skill.bundle.mjs +1061 -182
  13. package/adapters/claude/schemas/.render-manifest.json +4 -4
  14. package/adapters/claude/schemas/release-plan.schema.json +20 -2
  15. package/adapters/claude/schemas/release-project.schema.json +22 -4
  16. package/adapters/claude/schemas/release-run.schema.json +1 -0
  17. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  18. package/adapters/codex/bin/release-skill.bundle.mjs +1061 -182
  19. package/adapters/codex/schemas/.render-manifest.json +4 -4
  20. package/adapters/codex/schemas/release-plan.schema.json +20 -2
  21. package/adapters/codex/schemas/release-project.schema.json +22 -4
  22. package/adapters/codex/schemas/release-run.schema.json +1 -0
  23. package/adapters/kimi/.kimi-plugin/plugin.json +27 -0
  24. package/adapters/kimi/bin/release-skill.bundle.mjs +84415 -0
  25. package/adapters/kimi/bin/release-skill.mjs +54 -0
  26. package/adapters/kimi/native/safe-write/binding.gyp +41 -0
  27. package/adapters/kimi/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  28. package/adapters/kimi/native/safe-write/prebuilds.json +24 -0
  29. package/adapters/kimi/native/safe-write/src/safe_write.cc +2032 -0
  30. package/adapters/kimi/schemas/.render-manifest.json +37 -0
  31. package/adapters/kimi/schemas/approval-record.schema.json +115 -0
  32. package/adapters/kimi/schemas/artifact-lock.schema.json +111 -0
  33. package/adapters/kimi/schemas/artifact-plan.schema.json +52 -0
  34. package/adapters/kimi/schemas/artifact-policy.schema.json +76 -0
  35. package/adapters/kimi/schemas/evidence-event.schema.json +89 -0
  36. package/adapters/kimi/schemas/release-plan.schema.json +878 -0
  37. package/adapters/kimi/schemas/release-project.schema.json +895 -0
  38. package/adapters/kimi/schemas/release-run.schema.json +343 -0
  39. package/adapters/kimi/skills/release-assess/SKILL.md +58 -0
  40. package/adapters/kimi/skills/release-help/SKILL.md +84 -0
  41. package/adapters/kimi/skills/release-prepare/SKILL.md +99 -0
  42. package/adapters/kimi/skills/release-publish/SKILL.md +64 -0
  43. package/adapters/kimi/skills/release-reconcile/SKILL.md +80 -0
  44. package/adapters/kimi/skills/release-setup/SKILL.md +102 -0
  45. package/adapters/kimi/skills/release-verify/SKILL.md +77 -0
  46. package/bin/release-skill-cli.mjs +16 -4
  47. package/bin/release-skill.bundle.mjs +1061 -182
  48. package/package.json +4 -2
  49. package/schemas/.render-manifest.json +4 -4
  50. package/schemas/release-plan.schema.json +20 -2
  51. package/schemas/release-project.schema.json +22 -4
  52. package/schemas/release-run.schema.json +1 -0
  53. package/src/adapters/contract.mjs +1 -0
  54. package/src/adapters/plugin-marketplace.mjs +990 -30
  55. package/src/commands/assess.mjs +50 -1
  56. package/src/commands/prepare.mjs +65 -0
  57. package/src/commands/publish.mjs +3 -0
  58. package/src/commands/reconcile.mjs +3 -0
  59. package/src/commands/setup.mjs +10 -5
  60. package/src/commands/verify.mjs +16 -6
  61. package/src/core/plan.mjs +118 -0
  62. package/src/core/verification-gates.mjs +1 -1
  63. package/src/producers/build-adapters.mjs +38 -8
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  [简体中文](README.zh-CN.md) · Installation: [English](INSTALL.md) / [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.1.7 -->
6
- Release preparation for Claude Code and Codex, with human-edited files kept intact.
5
+ <!-- release-skill:release-version: 0.1.8 -->
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,
9
9
  which checks still fail, and which exact bytes will reach users. It freezes the
@@ -11,38 +11,29 @@ 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.1.7** (2026-07-23)
14
+ **0.1.8** (2026-07-23)
15
15
 
16
- v0.1.7 is an organizational migration release. The public GitHub repository moves from `mzdbxqh/release-skill` to `ifoohoo/release-skill` (the repository name is unchanged and GitHub redirects the old URL), the project gains an explicit corporate maintainer and copyright holder (广州市风荷科技有限公司), and the forward-looking repository, maintainer, author, and copyright metadata across the npm package, plugin marketplace manifests, NOTICE, LICENSE, and release configuration are aligned with the new organization. The npm package name (`release-skill`) and the npm publishing identity (`publisher: mzdbxqh`) are unchanged, and the already-published v0.1.6 tag, GitHub Release, and npm version are not rewritten.
16
+ v0.1.8 adds Kimi Code as a first-class plugin host without rewriting the already-published v0.1.7 artifacts. Kimi delivery uses a generated self-contained adapter and a fail-closed, plan-bound manual installation attestation because Kimi Code has no scriptable non-interactive plugin installation interface. The npm package name (`release-skill`), publishing identity (`publisher: mzdbxqh`), public repository (`ifoohoo/release-skill`), and corporate maintainer remain unchanged.
17
17
 
18
18
  **Changed**
19
19
 
20
- - **Public repository migrated to the `ifoohoo` organization**: the public
21
- GitHub repository is transferred from `mzdbxqh/release-skill` to
22
- `ifoohoo/release-skill` with the repository name unchanged. The default branch
23
- remains `main`, the v0.1.6 tag, release, and history are preserved, and the old
24
- URL redirects (HTTP 301) to the new location. The release configuration
25
- (`publicRepo` and the bound `previousPublicBaseline`) now points at
26
- `ifoohoo/release-skill` with the public v0.1.6 commit
27
- `48fb2a258a2786c2e32136ad67bd51f3a280b3b8` as the previous public baseline.
28
- - **Corporate maintainer and copyright**: the MIT LICENSE (root and public
29
- package) now carries a dual copyright line for the release-skill contributors
30
- and 广州市风荷科技有限公司, and the NOTICE states that the project is maintained
31
- by 广州市风荷科技有限公司 and clarifies that the GitHub repository transfer is an
32
- administrative hosting/identity change that does not by itself constitute a
33
- copyright assignment.
34
- - **Forward-looking metadata aligned with the organization**: the npm
35
- `package.json` repository, homepage, and issue tracker URLs point at
36
- `ifoohoo/release-skill`, and the package adds a corporate author while
37
- preserving the release-skill contributors. The Claude Code plugin marketplace
38
- owner now identifies the `ifoohoo` organization. The npm package name
39
- (`release-skill`) and the npm publishing identity (`publisher: mzdbxqh`) are
40
- unchanged.
20
+ - **Kimi Code plugin delivery and verification**: v0.1.8 adds the root
21
+ `.kimi-plugin/plugin.json`, a generated self-contained `adapters/kimi/` bundle,
22
+ and public installation guidance. Because Kimi Code exposes no scriptable
23
+ non-interactive plugin installation interface, production publish emits a
24
+ version-pinned manual installation requirement and enters `PARTIAL`; an
25
+ isolated `KIMI_CODE_HOME` installation and a trusted attestation bound
26
+ independently to the frozen plan digest and payload digest are required before
27
+ `reconcile` can reach `PUBLISHED` and `verify` can reach `VERIFIED`.
28
+ - **Immutable v0.1.7 history preserved**: the existing v0.1.7 Git tag,
29
+ GitHub Release, npm version, and public commit remain untouched. The v0.1.8
30
+ production plan binds the published v0.1.7 commit
31
+ `fe5897456d4166a2ec60e99405836b122562b80d` as its previous public baseline.
41
32
  <!-- release-skill:managed:end id=latest-release -->
42
33
 
43
34
  <!-- release-skill:capability:external-write-boundary -->
44
- > **Current boundary:** v0.1.7 is the current release (v0.1.6 previously held
45
- > this status after completing real production verification).
35
+ > **Current boundary:** v0.1.8 is the current release (v0.1.7 previously held
36
+ > published status before the Kimi Code distribution was added).
46
37
  > v0.1.1 completed a real production release to GitHub and npm — the first
47
38
  > production-verified milestone — followed by
48
39
  > exact npm installation and Claude/Codex consumer installation verification
@@ -59,7 +50,7 @@ v0.1.7 is an organizational migration release. The public GitHub repository move
59
50
  > publish global preflight.
60
51
 
61
52
  <!-- release-skill:capability:safe-first-command -->
62
- > **Production path verified since the v0.1.1 milestone; v0.1.7 is the current
53
+ > **Production path verified since the v0.1.1 milestone; v0.1.8 is the current
63
54
  > release.** The npm-installed CLI is the supported user entry. Source checkout
64
55
  > is the development/contributor fallback.
65
56
  >
@@ -590,7 +581,18 @@ syntax.
590
581
  Production prepare seals a standalone Git commit/tree for every public snapshot
591
582
  and creates a fixed tarball for every npm unit. Publish globally preflights all
592
583
  actions, then executes and observes public branch, tag, npm, GitHub Release,
593
- and configured Claude/Codex marketplace installation checkpoints. `verify`
584
+ and configured Claude/Codex marketplace installation checkpoints. Kimi Code has
585
+ no scriptable install API, so its checkpoint **fails closed** and `publish`
586
+ lands in `PARTIAL` after the automated writes, emitting a version-pinned manual
587
+ install requirement. The operator then launches Kimi Code with the requirement's
588
+ isolated `KIMI_CODE_HOME`, runs the pinned `/plugins install <release-tag URL>`,
589
+ writes a trusted attestation (binding the frozen **plan** digest and the
590
+ snapshot **payload** digest) into the plan-digest-keyed directory
591
+ `.release-skill/kimi-attestations/<planDigest>/<plugin>/`, and re-runs
592
+ `reconcile` (→ `PUBLISHED`) and `verify` (→ `VERIFIED`); both read the
593
+ attestation from that same stable location. An install into the ordinary
594
+ `~/.kimi-code` is not accepted. See `INSTALL.md` for the full procedure and the
595
+ attestation JSON fields. `verify`
594
596
  installs every exact npm `package@version` in an isolated directory; when
595
597
  `smokeBin` is configured it also runs the CLI and validates output. Only when
596
598
  all evidence matches does the run reach `VERIFIED`.
@@ -705,8 +707,8 @@ target first; never widen the write scope to resolve them.
705
707
 
706
708
  ### Parent workspace with npm + plugin sub-units
707
709
 
708
- When a monorepo produces both an npm package and a Claude/Codex plugin from
709
- different directories, define separate release units. Only add a plugin
710
+ When a monorepo produces both an npm package and a Claude/Codex/Kimi Code
711
+ plugin from different directories, define separate release units. Only add a plugin
710
712
  distribution when the unit actually ships a plugin with manifest, marketplace,
711
713
  and entry Skill:
712
714
 
@@ -782,6 +784,10 @@ releaseUnits:
782
784
  marketplace: my-plugin
783
785
  entrySkill: my-plugin-help
784
786
  timeoutMs: 300000 # optional; range 30000-900000; default 300000
787
+ - type: kimi-plugin
788
+ plugin: my-plugin
789
+ entrySkill: my-plugin-help
790
+ timeoutMs: 300000 # optional; range 30000-900000; default 300000 (Kimi has no install command; bounds read-only verification)
785
791
  publicFiles:
786
792
  - from: packages/plugin/.claude-plugin/plugin.json
787
793
  to: .claude-plugin/plugin.json
@@ -792,6 +798,9 @@ releaseUnits:
792
798
  - from: packages/plugin/.codex-plugin/plugin.json
793
799
  to: .codex-plugin/plugin.json
794
800
  mode: preserve
801
+ - from: packages/plugin/.kimi-plugin/plugin.json
802
+ to: .kimi-plugin/plugin.json
803
+ mode: preserve
795
804
  - from: packages/plugin/.agents/plugins/marketplace.json
796
805
  to: .agents/plugins/marketplace.json
797
806
  mode: preserve
@@ -811,6 +820,7 @@ releaseUnits:
811
820
  - .claude-plugin/plugin.json
812
821
  - .claude-plugin/marketplace.json
813
822
  - .codex-plugin/plugin.json
823
+ - .kimi-plugin/plugin.json
814
824
  - .agents/plugins/marketplace.json
815
825
  - skills/my-plugin-help/SKILL.md
816
826
  - README.md
@@ -823,7 +833,8 @@ releaseUnits:
823
833
  releaseTitleTemplate: "{unit} {version}"
824
834
  ```
825
835
 
826
- Each plugin unit **must** list its Claude/Codex `plugin.json`, `marketplace.json`,
836
+ Each plugin unit **must** list its Claude/Codex/Kimi Code `plugin.json`, the
837
+ Claude/Codex `marketplace.json` files (Kimi Code has no marketplace manifest),
827
838
  the entry Skill, and all required public files. A CLI smoke (`smokeBin`) is
828
839
  optional for plugin units and only applies when the published npm package
829
840
  exposes a CLI binary.
@@ -887,7 +898,10 @@ Successful reconcile returns `PUBLISHED`, not `VERIFIED`; only the fresh
887
898
  - publishes only frozen Git objects and npm tarballs, then checks remote
888
899
  commit/tree/tag/integrity;
889
900
  - installs configured Claude/Codex plugins from the frozen Git ref and proves
890
- the entry Skill and payload digest in fresh isolated consumer homes;
901
+ the entry Skill and payload digest in fresh isolated consumer homes; for Kimi
902
+ Code (no scriptable install API) it emits a version-pinned manual install
903
+ requirement and proves the entry Skill and payload digest only from a trusted
904
+ attestation bound to the frozen plan digest;
891
905
  - distinguishes `PUBLISHED` (writes completed) from `VERIFIED` (remote and
892
906
  consumer installation evidence completed);
893
907
  - stops subsequent checkpoints on failure and writes a separate run record
@@ -954,8 +968,8 @@ the exact installed distribution; gates cannot borrow tests, development
954
968
  dependencies, or `node_modules` from the parent workspace.
955
969
 
956
970
  `snapshot-verify` runs in a disposable writable copy of the frozen public
957
- snapshot. `consumer-verify` runs from an exact isolated npm/Claude/Codex install
958
- root. Both use executable arrays instead of shell strings; definitions and
971
+ snapshot. `consumer-verify` runs from an exact isolated npm/Claude/Codex/Kimi
972
+ Code install root. Both use executable arrays instead of shell strings; definitions and
959
973
  results enter digest-bound evidence, and prepare/verify require
960
974
  `--acknowledge-gate-side-effects`. Gates are still project processes without a
961
975
  network sandbox, so release-skill cannot promise that they will not write files