diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 7d8ea3d..1e82bc8 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "jsc-shared", - "version": "0.0.1", - "description": "JSC 跨 AI 助理共用規範 plugin(Claude Code / Codex / GitHub Copilot CLI / Antigravity / OpenCode),並提供整組 plugin 的安裝管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona,plugins-uninstall 一次移除四個 JSC plugin)。所有 skills 以 SKILL.md 為共通標準;於 Claude Code 以 /jsc-shared: 前綴呼叫。", + "version": "0.0.2", + "description": "JSC 跨 AI 助理共用規範 plugin(Claude Code / Codex / GitHub Copilot CLI / Antigravity / OpenCode),並提供整組 plugin 的安裝/更新/移除管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona/jsc-shared,plugins-uninstall 一次移除四個 JSC plugin)。安裝與更新一律以 Gitea 遠端 repo 的 README 與檔案為準,不依賴既有本機存取庫;所有 skills 以 SKILL.md 為共通標準;於 Claude Code 以 /jsc-shared: 前綴呼叫。", "skills": "./skills", "author": { "name": "JSC" diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index ff79e53..c0615f3 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc-shared", - "version": "0.0.1", - "description": "JSC 跨 AI 助理共用規範 skills plugin,`skills/` 為唯一真實來源,`hooks/` 只放 jsc-shared 自己的 hook,並提供整組 plugin 的安裝管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona,plugins-uninstall 一次移除四個 JSC plugin)。所有 skills 以 SKILL.md 為共通標準。", + "version": "0.0.2", + "description": "JSC 跨 AI 助理共用規範 skills plugin,`skills/` 為唯一真實來源,`hooks/` 只放 jsc-shared 自己的 hook,並提供整組 plugin 的安裝/更新/移除管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona/jsc-shared,plugins-uninstall 一次移除四個 JSC plugin)。安裝與更新一律以 Gitea 遠端 repo 的 README 與檔案為準,不依賴既有本機存取庫;所有 skills 以 SKILL.md 為共通標準。", "skills": "./skills/" } diff --git a/README.md b/README.md index 22a3bca..3185c97 100644 --- a/README.md +++ b/README.md @@ -59,8 +59,8 @@ shared/ > 指令中的 repo 網址換成你的:`https://gitea.jsc.idv.tw/plugins/shared.git` > > **Claude / Codex 從 git URL 安裝(會 clone 遠端),請先把本 repo `push` 到 gitea。** -> **Antigravity 的 `agy plugin install ` 目前只支援 github.com**;gitea 請改用「clone + 本地路徑」(見 Antigravity 節)。 -> 本機/離線:Claude 可用本地路徑加 marketplace;Antigravity 用本地路徑安裝。 +> **Antigravity 的 `agy plugin install ` 目前只支援 github.com**;gitea 請依本節改用「從遠端重新抓取到暫存目錄,再用本地路徑安裝」。 +> 本 repo 的安裝/更新/移除流程一律以 Gitea 遠端檔案與下方 README 章節為準,不依賴既有本機存取庫。 ### Claude Code @@ -79,7 +79,7 @@ claude plugin marketplace remove shared ``` - 工作階段內 slash 版(等價):把 `claude plugin` 換成 `/plugin`。 -- 本機開發(免 push):`claude plugin marketplace add C:\Users\h3285\source\repos.plugins\shared`(本地路徑)後再 install。 +- 本機開發(免 push)仍可用本地路徑,但正式安裝請以 Gitea 遠端 README 為準。 - **呼叫**:`/jsc-shared:`(例 `/jsc-shared:spec-output`)。 ### Codex @@ -103,23 +103,24 @@ codex plugin marketplace remove shared ### Antigravity(`agy`) -> `agy plugin install ` 目前**只支援 github.com**;gitea 等自架 git 不支援 URL 安裝,請先 `git clone` 再用**本地路徑**安裝。 +> `agy plugin install ` 目前**只支援 github.com**;gitea 等自架 git 不支援 URL 安裝,請先從遠端抓到暫存目錄,再用**本地路徑**安裝。 ```bash -# 安裝:clone 後用本地路徑 -git clone https://gitea.jsc.idv.tw/plugins/shared.git ~/plugins/shared -agy plugin install ~/plugins/shared +# 安裝:先從遠端抓到暫存目錄,再用本地路徑 +git clone --depth 1 https://gitea.jsc.idv.tw/plugins/shared.git /tmp/jsc-shared +agy plugin install /tmp/jsc-shared -# 更新(agy 無 update 子指令 → git pull 後重裝) -git -C ~/plugins/shared pull +# 更新(重新抓取遠端後重裝) +git clone --depth 1 https://gitea.jsc.idv.tw/plugins/shared.git /tmp/jsc-shared agy plugin uninstall jsc-shared -agy plugin install ~/plugins/shared +agy plugin install /tmp/jsc-shared # 移除 agy plugin uninstall jsc-shared ``` - 若把 skills 放到 GitHub,則可直接 `agy plugin install https://github.com//`。 +- 不讀取既有本機 repo;若需要對照 README,只用遠端 checkout 的暫存工作區。 - 其他:`agy plugin list`、`agy plugin enable jsc-shared` / `disable jsc-shared`、`agy plugin validate `。安裝後重啟工作階段。 - **呼叫**:`/jsc-shared:`(例 `/jsc-shared:spec-output`)或依描述自動觸發。 @@ -130,16 +131,16 @@ OpenCode 會讀 `~/.config/opencode/skills/`(也會讀 `~/.claude/skills/`、` ```bash # 安裝 -git clone https://gitea.jsc.idv.tw/plugins/shared.git ~/plugins/shared +git clone --depth 1 https://gitea.jsc.idv.tw/plugins/shared.git /tmp/jsc-shared mkdir -p ~/.config/opencode/skills -cp -r ~/plugins/shared/skills/* ~/.config/opencode/skills/ +cp -r /tmp/jsc-shared/skills/* ~/.config/opencode/skills/ # 更新 -git -C ~/plugins/shared pull -cp -r ~/plugins/shared/skills/* ~/.config/opencode/skills/ +git clone --depth 1 https://gitea.jsc.idv.tw/plugins/shared.git /tmp/jsc-shared +cp -r /tmp/jsc-shared/skills/* ~/.config/opencode/skills/ # 移除(逐一移除本 plugin 帶入的 skill 目錄;勿只清 spec-*,否則其他 skill 會殘留) -for s in ~/plugins/shared/skills/*/; do rm -rf "$HOME/.config/opencode/skills/$(basename "$s")"; done +for s in /tmp/jsc-shared/skills/*/; do rm -rf "$HOME/.config/opencode/skills/$(basename "$s")"; done ``` > **Windows PowerShell**:`cp -r A B` → `Copy-Item A B -Recurse -Force`、`rm -rf X` → `Remove-Item X -Recurse -Force`、`~` → `$HOME`。 @@ -219,10 +220,10 @@ copilot plugin marketplace remove shared | Skill | 用途 | 使用方法 | | --- | --- | --- | -| `plugins-install` | 一次**安裝或更新** `jsc-code`、`jsc-doc`、`jsc-persona`:先盤點每個 plugin 已安裝或未安裝,未安裝就安裝、已安裝就更新到最新,最後以表格回報動作、結果與版本。Antigravity 走「clone + 本地路徑」,OpenCode 走複製 `skills/` | `/jsc-shared:plugins-install`;可帶 `--assistant claude\|codex\|copilot\|agy\|opencode`、`--plugins code,doc,persona`、`--host `、`--clone-dir <目錄>`、`--yes` | -| `plugins-uninstall` | 一次**移除** `jsc-code`、`jsc-doc`、`jsc-persona`、`jsc-shared`:動手前先列出將被移除的項目與不會被碰的資料請使用者確認,移除順序固定把 `jsc-shared` 放最後(本 skill 就住在裡面)。人格倉庫與記憶目錄一律不刪 | `/jsc-shared:plugins-uninstall`;可帶 `--assistant …`、`--plugins code,doc,persona,shared`、`--keep-marketplace`、`--keep-clone`、`--yes` | +| `plugins-install` | 一次**安裝或更新** `jsc-code`、`jsc-doc`、`jsc-persona`、`jsc-shared`:先盤點每個 plugin 已安裝或未安裝,未安裝就安裝、已安裝就更新到最新,最後以表格回報動作、結果與版本。`agy`/`opencode` 先從 Gitea 遠端抓取 README 與技能檔到暫存目錄,再依 README 指示安裝或複製 | `/jsc-shared:plugins-install`;可帶 `--assistant claude\|codex\|copilot\|agy\|opencode`、`--plugins code,doc,persona,shared`、`--host `、`--temp-dir <目錄>`、`--yes` | +| `plugins-uninstall` | 一次**移除** `jsc-code`、`jsc-doc`、`jsc-persona`、`jsc-shared`:動手前先列出將被移除的項目與不會被碰的資料請使用者確認,移除順序固定把 `jsc-shared` 放最後(本 skill 就住在裡面)。人格倉庫與記憶目錄一律不刪 | `/jsc-shared:plugins-uninstall`;可帶 `--assistant …`、`--plugins code,doc,persona,shared`、`--keep-marketplace`、`--yes` | -> `plugins-install` **不處理 `jsc-shared` 自己**(它是這兩個 skill 的所在地);`plugins-uninstall` 則會,而且放在最後一步。 +> `plugins-install` 與 `plugins-uninstall` 都會處理 `jsc-shared`;移除時一定放最後一步。 ### 角色與記憶 @@ -267,8 +268,8 @@ copilot plugin marketplace remove shared 6. 讓各助理更新: - Claude:`claude plugin update jsc-shared@shared` - Codex:`codex plugin marketplace upgrade shared` - - Antigravity:`git -C ~/plugins/shared pull && agy plugin uninstall jsc-shared && agy plugin install ~/plugins/shared`(路徑與上方 Antigravity 安裝節一致) - - OpenCode:`git pull` 後重新複製 `skills/` + - Antigravity:重新從 Gitea 遠端抓取到暫存目錄後再 `agy plugin uninstall jsc-shared && agy plugin install /shared` + - OpenCode:重新從 Gitea 遠端抓取到暫存目錄後再複製 `skills/` - Copilot:`copilot plugin marketplace update shared && copilot plugin update jsc-shared@shared` > **skill 帶可執行元件時**(腳本、hook)額外注意: diff --git a/plugin.json b/plugin.json index 4d1d508..c0615f3 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc-shared", - "version": "0.0.1", - "description": "JSC 跨 AI 助理共用規範 skills plugin,`skills/` 為唯一真實來源,`hooks/` 只放 jsc-shared 自己的 hook,並提供整組 plugin 的安裝管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona,plugins-uninstall 一次移除四個 JSC plugin)。所有 skills 以 SKILL.md 為共通標準;於 Antigravity 以 /jsc-shared: 前綴呼叫。", + "version": "0.0.2", + "description": "JSC 跨 AI 助理共用規範 skills plugin,`skills/` 為唯一真實來源,`hooks/` 只放 jsc-shared 自己的 hook,並提供整組 plugin 的安裝/更新/移除管理(plugins-install 一次安裝或更新 jsc-code/jsc-doc/jsc-persona/jsc-shared,plugins-uninstall 一次移除四個 JSC plugin)。安裝與更新一律以 Gitea 遠端 repo 的 README 與檔案為準,不依賴既有本機存取庫;所有 skills 以 SKILL.md 為共通標準。", "skills": "./skills/" }