From fbb7004e70a9c81a0d0dfe0fd99f232a2a5b1457 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Tue, 25 Aug 2026 16:41:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(meta):=20=E6=94=BE=E5=AF=AC=20major=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- references/guidelines.md | 2 +- tools/sync-skill-manifest.sh | 9 ++------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 384094a..c108cd7 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ Marketplace 統一為 `jsc`(https://gitea.jsc.idv.tw/plugins/meta.git),安 | `tools/sync-domains.sh` | 依 Gitea 正本 marketplace 把所有 domain 存取庫 clone 或 pull 到本機,印出 `domainpath`;**只有 exit 0 代表全部到位且最新**,exit 3 代表有存取庫跳過或 pull 失敗(stderr 列路徑),exit 2 代表有 domain clone 失敗 | | `tools/list-skills.sh` | 列出正本 marketplace 上各 domain 存取庫的技能,印出 `domainnamedescription`;不在正本清單上的存取庫不列 | | `tools/sync-marketplace.sh` | 寫入或更新兩份正本 marketplace 的 plugin 條目,再複製到每個 domain 存取庫(保證位元組一致)。**需要 python3**(json 模組改 JSON),缺 python3 不寫檔並 exit 1;存取庫不在本機 exit 3 | -| `tools/sync-skill-manifest.sh` | 同步 domain README 的「Skills 目錄」,並 bump 三份 manifest 的 version;每一位都不得超過 `9` | +| `tools/sync-skill-manifest.sh` | 同步 domain README 的「Skills 目錄」,並 bump 三份 manifest 的 version;`minor` 與 `patch` 不得超過 `9`,`major` 可以超過 `9` | | `tools/find-skill-refs.sh` | 盤點一個技能在正本 marketplace 各 domain 存取庫裡的引用檔案(不掃非技能組存取庫與點開頭目錄);技能名稱為純子字串比對,命中要逐檔確認;零命中 exit 1,掃描失敗 exit 3 | | `tools/verify-skill-removed.sh` | 刪除技能後實地檢查各 CLI 的技能快取與 hook 設定有無殘留;有殘留 exit 1,沒偵測到 CLI 或沒有可查位置 exit 3(**不等於乾淨**) | diff --git a/references/guidelines.md b/references/guidelines.md index f04a4bd..a475d5b 100644 --- a/references/guidelines.md +++ b/references/guidelines.md @@ -9,7 +9,7 @@ 3. Skill 名稱:小寫、數字、連字號(`-`),最長 64 字元。名稱即指令(`/jsc-{domain}:{name}`)。 4. 每個 domain 是一個獨立存取庫 `https://gitea.jsc.idv.tw/plugins/{domain}.git`。新 domain 必須依 `https://gitea.jsc.idv.tw/plugins/template` 的結構建立新存取庫(三份 plugin manifest、`skills/`、`README.md`、`AGENTS.md`),並把 plugin 條目(URL 來源指向新存取庫)加入 `plugins/meta` 正本的兩份 marketplace 檔,再把更新後的檔案**同步到所有 domain 存取庫**(含新存取庫自己)。 5. Git 分支名**只允許 ASCII**(`a-z0-9` 與 `/`、`-`);中文需求或標題先翻譯成英文短語再 slug 化。 -6. Manifest 版本號從 `0.0.1` 開始,三份 manifest 同步 bump;每一位都不得超過 `9`,滿 `9` 就往左進位。 +6. Manifest 版本號從 `0.0.1` 開始,三份 manifest 同步 bump;`minor` 與 `patch` 不得超過 `9`,滿 `9` 就往左進位,`major` 可以超過 `9`。 ## Description 規則 diff --git a/tools/sync-skill-manifest.sh b/tools/sync-skill-manifest.sh index 3ec05d7..27380a8 100755 --- a/tools/sync-skill-manifest.sh +++ b/tools/sync-skill-manifest.sh @@ -1,6 +1,6 @@ #!/usr/bin/env sh # sync-skill-manifest.sh — 同步 domain 的 README「Skills 目錄」區塊,並把該 domain 所有 -# plugin manifest 的 version 各 bump 一次,且每個數字都不超過 9。 +# plugin manifest 的 version 各 bump 一次,且 major 可超過 9;minor 與 patch 仍是單位數。 # # 用法: sync-skill-manifest.sh # @@ -11,7 +11,7 @@ # # manifest: 依序找出 domain 下存在的 plugin.json、.claude-plugin/plugin.json、 # .codex-plugin/plugin.json,version 一律 bump 成同一個新值(以第一份找到的 manifest 版本為準, -# 右側數字加一,滿 9 就往左進位;任何一位都不超過 9)。 +# 右側數字加一,滿 9 就往左進位;major 不設上限,minor 與 patch 都不超過 9)。 # # 輸出: 變更摘要——README 新增/移除的技能小節、各 manifest 的舊版本 -> 新版本。 set -eu @@ -164,11 +164,6 @@ while [ "$minor" -gt 9 ]; do major=$((major + 1)) done -if [ "$major" -gt 9 ]; then - echo "版本已超出三位單數字可表示範圍: $old" >&2 - exit 1 -fi - new="$major.$minor.$patch" echo "== manifest version =="