27 lines
2.8 KiB
Markdown
27 lines
2.8 KiB
Markdown
---
|
||
name: deploy
|
||
description: Batch install, update, or uninstall the whole jsc skill set on every installed AI CLI. Detect CLIs via detect-clis.sh, ask the user for the mode via decision tree, then run each CLI's native plugin commands with the unified jsc marketplace (token jsc-{domain}@jsc). Domain list comes from the plugins/jsc marketplace.json, never hardcoded. Use for rollout or removal of the jsc plugins; not for a single skill.
|
||
---
|
||
|
||
# deploy — 技能庫批次安裝/更新/解除安裝
|
||
|
||
## 步驟
|
||
|
||
1. `tools/detect-clis.sh` 找出已安裝的 CLI 與執行檔路徑。
|
||
2. 依 `jsc-ask:ask` 規則讓使用者選擇模式:`install` / `update` / `uninstall`(每個選項標明影響範圍:影響哪些 CLI、會寫入哪些設定)。
|
||
3. 取得 domain 名單(**不可硬編碼**;技能組新增或刪除 domain 時本技能自動跟進):讀統一 marketplace 的清單
|
||
`jsc-gitea/tools/gitea.sh api GET /repos/plugins/jsc/raw/.claude-plugin/marketplace.json` 的 `plugins[].name`。
|
||
Marketplace 統一為 `jsc`(`{MKT}` = `https://gitea.jsc.idv.tw/plugins/jsc.git`),安裝 token = `jsc-{domain}@jsc`。
|
||
4. 對每個 CLI 執行對應指令(marketplace 每個 CLI 只 add 一次,之後逐 domain 安裝),**必須以 sub agent 執行**(每個 CLI 一個 sub agent):
|
||
|
||
| CLI | install | update | uninstall |
|
||
| --- | --- | --- | --- |
|
||
| claude | `claude plugin marketplace add {MKT}`,逐 domain `claude plugin install jsc-{domain}@jsc` | `claude plugin marketplace update jsc`,逐 domain `claude plugin update jsc-{domain}@jsc` | 逐 domain `claude plugin uninstall jsc-{domain}@jsc`,最後 `claude plugin marketplace remove jsc` |
|
||
| codex | `codex plugin marketplace add {MKT}`,逐 domain `codex plugin add jsc-{domain}@jsc` | `codex plugin marketplace upgrade jsc` | 逐 domain `codex plugin remove jsc-{domain}@jsc`,最後 `codex plugin marketplace remove jsc` |
|
||
| copilot | `copilot plugin marketplace add {MKT}`,逐 domain `copilot plugin install jsc-{domain}@jsc` | `copilot plugin marketplace update jsc`,逐 domain `copilot plugin update jsc-{domain}@jsc` | 逐 domain `copilot plugin uninstall jsc-{domain}@jsc`,最後 `copilot plugin marketplace remove jsc` |
|
||
| antigravity | 逐 domain `git clone https://gitea.jsc.idv.tw/plugins/{domain}.git ~/plugins/{domain}` 後 `agy plugin install ~/plugins/{domain}`(agy 不支援 gitea URL 安裝) | `git -C ~/plugins/{domain} pull` 後先 `agy plugin uninstall jsc-{domain}` 再 install | `agy plugin uninstall jsc-{domain}` |
|
||
| kiro | 比照 copilot 的 plugin 指令(執行檔 `kiro-cli`);不支援時把 repo 的 `skills/` 複製到 kiro 的 skills 目錄 | 重新 pull 後重新複製 | 刪除對應 skills 目錄 |
|
||
|
||
5. 安裝或更新完成後呼叫 `jsc-hooks:hooks-install` 重新接線 hooks。
|
||
6. 回報每個 CLI × 模式的結果與失敗原因。
|