From 21b89c5b9fb25028ff8b727d201bcc59fadb9df8 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Fri, 17 Jul 2026 09:19:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(spec=20=E5=85=B1=E7=94=A8=E8=A6=8F?= =?UTF-8?q?=E7=AF=84):=20=E6=96=B0=E5=A2=9E=20spec-plugin-version=20?= =?UTF-8?q?=E7=89=88=E8=99=9F=E8=A6=8F=E5=89=87=EF=BC=88=E4=B8=89=20manife?= =?UTF-8?q?st=20=E5=90=8C=E6=AD=A5=E3=80=81=E5=B0=8D=E7=85=A7=20master=20?= =?UTF-8?q?=E5=96=AE=E8=AA=BF=E9=81=9E=E5=A2=9E=E3=80=81=E9=A6=96=E7=99=BC?= =?UTF-8?q?=200.0.1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- skills/spec-plugin-version/SKILL.md | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 skills/spec-plugin-version/SKILL.md diff --git a/skills/spec-plugin-version/SKILL.md b/skills/spec-plugin-version/SKILL.md new file mode 100644 index 0000000..71919aa --- /dev/null +++ b/skills/spec-plugin-version/SKILL.md @@ -0,0 +1,41 @@ +--- +name: spec-plugin-version +description: JSC plugins 共用「plugin 版號規則」:三個 manifest(plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json)同步 bump 且版本一致、bump 前對照發佈分支(master)現行版本確保單調遞增、新 plugin 首發 0.0.1、一般變更 patch +1、commit 訊息用 chore(plugin 版本)。當其他 skill 內文引用 spec-plugin-version 或 /jsc:spec-plugin-version、或要調整任一 JSC plugin(code/doc/generic)的版本號時載入此 skill。單獨被使用者呼叫時,直接說明本規範內容。 +--- + +# spec-plugin-version — 共用 plugin 版號規則 + +調整任一 JSC plugin(code/doc/generic 等)的版本號時,一律遵守以下規則。 + +## 三個 manifest 同步 bump + +- 版本號同時存在於三個 manifest:`plugin.json`(Antigravity)、`.claude-plugin/plugin.json`(Claude Code)、`.codex-plugin/plugin.json`(Codex)。 +- **三者必須一起 bump 且版本一致**,不得只改其中一個 —— 四家助理都以 git 內容/版本判斷是否有更新。 +- `.claude-plugin/marketplace.json`/`.agents/plugins/marketplace.json` 沒有版本欄位,不需改。 + +## 版本單調遞增(以發佈分支為準) + +- bump 前**先確認發佈分支(`master`)目前的版本**,不能只看目前工作分支: + + ```bash + git show origin/master:plugin.json | grep version + ``` + +- 新版本必須**大於 master 現行版本**。工作分支(如 `develop`)可能落後或經過 revert,直接在其舊版本上 +1 會讓版本倒退(例:master 已 `0.0.4`,develop 還在 `0.0.1`,此時應 bump 至 `0.0.5` 而非 `0.0.2`)——已安裝 `0.0.4` 的助理會因版本倒退而抓不到更新。 +- 同一 PR/同一批變更只需最終一個版本;多次修改不必逐次 bump。 + +## 版號選擇 + +- **新 plugin 首發**:`0.0.1`(即使是從 template 複製建立,也要把 template 殘留的版本改回 `0.0.1`)。 +- **一般變更**(skill 新增/修改/移除、manifest 設定調整):patch +1。 +- **重大改版**(skill 大規模重構、破壞相容的呼叫方式變更):minor +1、patch 歸零。 + +## 何時必須 bump + +- 任何希望四家助理拿到更新的變更都要 bump:skill 內容異動、新增/移除 skill、manifest 設定變更、README 的 Skills 目錄實質變更。 +- 純粹不影響安裝內容的變更(如 `.gitea/` CI 設定)可不 bump。 + +## commit 與發佈 + +- 版本 bump 的 commit 訊息:`chore(plugin 版本): 三家 manifest 升版 X.Y.Z`(僅含 3 個 manifest 的版本變更;與其他設定異動混提時說明清楚)。 +- 合併發佈後,各助理的更新方式見該 plugin README(`claude plugin update`/`codex plugin marketplace upgrade`/Antigravity 重新安裝/OpenCode 重新複製 `skills/`)。