Files
pkg/README.md
T
jiantw83 5ae3611960 feat(pkg-update): 新增版本改寫工具並改用工具呼叫
What: 新增 tools/apply-version.sh,依 ecosystem 改寫專案的版本來源檔(package.json / requirements.txt / pyproject.toml / *.csproj),把指定套件釘選到指定版本;skills/pkg-update/SKILL.md 的改寫步驟改成呼叫這支工具;README.md 補上工具說明;plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 版本號由 0.0.1 升到 0.0.2。
Why: jsc-meta:skill-check 稽核發現 SKILL.md 用文字描述改寫邏輯,不符合「邏輯放工具、SKILL.md 只放步驟」的準則,需要把改寫邏輯抽成獨立工具。
How: 依 tools/list-packages.sh 已支援的四種生態(nodejs 的 package.json、python 的 requirements.txt 或 pyproject.toml、dotnet 的 *.csproj)撰寫對應的 parse 與 rewrite 邏輯,找不到檔案時 exit 3、找不到套件時 exit 4;SKILL.md 步驟改成呼叫 `tools/apply-version.sh {ecosystem} {project dir} {name} {version}`;三份 manifest 版本號同步升級。
Who: jsc-pkg 套件更新流程,影響 pkg-update 技能與所有安裝 jsc-pkg 的使用者。
2026-08-24 14:48:30 +08:00

43 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# jsc-pkg — 套件批次更新
jsc 技能組的 pkg domain:把專案所有外部套件更新到最新穩定版本,完成後執行建置與測試,失敗則還原變更。支援 nodejs / python / dotnet。
## 安裝、更新、移除
Marketplace 統一為 `jsc`(https://gitea.jsc.idv.tw/plugins/jsc.git),安裝 token 為 `jsc-pkg@jsc`。每個指令一行:
| CLI | 安裝 | 更新 | 移除 |
| --- | --- | --- | --- |
| claude | `claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && claude plugin install jsc-pkg@jsc` | `claude plugin marketplace update jsc && claude plugin update jsc-pkg@jsc` | `claude plugin uninstall jsc-pkg@jsc` |
| codex | `codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && codex plugin add jsc-pkg@jsc` | `codex plugin marketplace upgrade jsc` | `codex plugin remove jsc-pkg@jsc` |
| copilot | `copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && copilot plugin install jsc-pkg@jsc` | `copilot plugin marketplace update jsc && copilot plugin update jsc-pkg@jsc` | `copilot plugin uninstall jsc-pkg@jsc` |
| antigravity | `git clone https://gitea.jsc.idv.tw/plugins/pkg.git ~/plugins/pkg && agy plugin install ~/plugins/pkg` | `git -C ~/plugins/pkg pull && agy plugin uninstall jsc-pkg && agy plugin install ~/plugins/pkg` | `agy plugin uninstall jsc-pkg` |
| kiro | `kiro-cli plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && kiro-cli plugin install jsc-pkg@jsc` | `kiro-cli plugin marketplace update jsc && kiro-cli plugin update jsc-pkg@jsc` | `kiro-cli plugin uninstall jsc-pkg@jsc` |
> antigravity 不支援 gitea URL 安裝,改用本地 clone 路徑。批次操作五個 CLI:使用 `/jsc-cli:deploy`。
## 工具
| 工具 | 用途 |
| --- | --- |
| `tools/list-packages.sh` | 偵測專案類型並列出所有外部套件與目前版本(TSV:ecosystem / name / current) |
| `tools/latest-version.sh` | `latest-version.sh <ecosystem> <name>` 查最新穩定版(npm / pypi / nuget),查無 exit 4 |
| `tools/apply-version.sh` | `apply-version.sh <ecosystem> <project dir> <name> <version>` 改寫版本來源檔案,把套件釘選到指定版本 |
## Skills 目錄
呼叫方式:Claude / Antigravity `/jsc-pkg:{name}`;Codex `${name}`;Copilot / Kiro 描述需求自動觸發。
<!-- JSC-SKILLS:START -->
### `pkg-update`
套件批次更新:列套件 → 查最新穩定版 → 逐 ecosystem 以 sub agent 更新 → 建置與測試(指令不明時決策樹詢問)→ 失敗還原全部變更。
<!-- JSC-SKILLS:END -->
## 相關 domain
- [`jsc-ask`](https://gitea.jsc.idv.tw/plugins/ask):建置與測試指令不明時的決策樹詢問
- [`jsc-sdlc`](https://gitea.jsc.idv.tw/plugins/sdlc):維護階段的建議維護方法之一