jiantw83
|
233e3a4b41
|
chore(marketplace): 把 jsc-assist 登錄進統一 marketplace
What:
- 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存取庫。
Why:
- 準則要求每個 domain 存取庫都帶同一份 marketplace 檔,任何一個存取庫都能當註冊入口。副本之間只要有一份沒跟上,稽核就會報出不一致。
How:
- 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存取庫的副本,寫完逐檔比對位元組。這一支存取庫的兩份副本就是那一輪的產物。
- 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。
Who:
助理 domain 落地的註冊步驟在這個存取庫的同步。
|
2026-09-01 11:21:31 +08:00 |
|
jiantw83
|
daa4bcf9e1
|
fix(frontmatter): 修正 models 技能 SKILL.md frontmatter 的 YAML 純量語法錯誤
What:
- 修正 skills/models/SKILL.md frontmatter 裡 description 欄位的 YAML 語法錯誤。
- 整串 description 加上單引號,內部撇號改寫成兩個單引號,內容文字一個字都沒變。
- 同步更新 plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三個 manifest 版本號,從 0.2.6 進到 0.2.7。
Why:
- description 內含「冒號加空白」,屬於未加引號的 YAML plain scalar,違反 YAML 語法規定。
- Antigravity 解析 frontmatter 時當場中斷,整支技能被靜默丟棄,沒有任何錯誤訊息;磁碟上 34 支技能,Antigravity 只認得 28 支。
- 準則要求 description 用英文撰寫,不能把「: 」改成全形冒號迴避語法問題,只能加引號修正。
How:
- 整串 description 值加上單引號,內部撇號寫成兩個單引號跳脫,其餘字元不動。
- 用 git show HEAD: 取出改前的原始值,把改後的單引號純量還原後做字串相等比對,確認逐字相同、字元數一致。
- 執行 ste100-lint.sh、check-behaviors.sh、lint-frontmatter.sh 三支檢查腳本,退出碼皆為 0;git diff --numstat 顯示只動了 frontmatter 那一行。
Who:
- 本次修到 cli 技能組的 models 技能,屬盤點各 CLI 可用模型與能力標籤的功能。
|
2026-08-31 19:02:43 +08:00 |
|
jiantw83
|
99e0554995
|
chore(plugin): 版號升到 0.2.6
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份 manifest 的 version 從 0.2.5 改成 0.2.6。
Why:這一輪改了相依檢查的結束碼與部署時的處置,外部行為跟 0.2.5 不同。三份 manifest 是版本檢查與部署推薦的依據,版號不動,version-guard.sh 就看不出這台機器該更新。
How:三份檔案只改 version 一個欄位,其餘內容不動,三份保持同一個版號。
Who:版號發布。
|
2026-08-31 13:35:43 +08:00 |
|
jiantw83
|
f19b9494b4
|
chore(cli): 補上 jsc-ask 相依宣告並推進版本
delegate 與 setup 都靠決策樹問使用者,deploy 問部署模式也是。這份相依
過去沒有寫進 manifest,安裝順序沒排對,就會執行到一半才失敗。現在三份
manifest 都補上這一項,更新前的相依檢查才擋得住。同時做一次版本推進,
讓已發佈版本對得上這一輪的內容。
|
2026-08-31 11:09:59 +08:00 |
|
jiantw83
|
5e4c413dec
|
fix(codex-deploy): 保留 CLI 自身快取相容路徑
|
2026-08-28 18:31:04 +08:00 |
|
jiantw83
|
90b89047e3
|
fix(codex-deploy): 保留舊 hooks 快取相容路徑
|
2026-08-28 18:18:28 +08:00 |
|
jiantw83
|
a89484c9fa
|
feat(manifest): 宣告部署工具相依版本
|
2026-08-28 11:59:16 +08:00 |
|
jiantw83
|
382f946167
|
chore(release): 發布 jsc-cli 0.2.1
|
2026-08-28 11:22:13 +08:00 |
|
jiantw83
|
2e85dc4978
|
chore(cli): 三份 manifest 版本升到 0.2.0
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 從 0.1.9 升到 0.2.0,三份同步,description 不動。
Why:這一輪改的是部署收尾留在機器上的檔案落點——狀態檔從單一檔案變成一支 CLI 一份的狀態目錄,`config-spec.tsv` 這份對外的設定落點清單也跟著改。那是對外可見的契約變更,不只是內部修正,所以走次版號而不是修訂號。版本不升,`version-guard.sh` 與 `jsc-cli:deploy` 都判不出本機還是舊版,機器上就不會被提示更新。
How:只改版號一個欄位。三份必須一致:`plugin.json` 給 marketplace、`.claude-plugin` 給 claude、`.codex-plugin` 給 codex,任一份落後都會讓那一路的版本比對抓錯。這一版的部署工具要搭 `jsc-hooks` 0.2.6 才有一支 CLI 一份的狀態檔,兩者一起發佈。
Who:`jsc-cli` 的三份 plugin manifest,配合這一輪重啟狀態檔路徑的修正發佈。
|
2026-08-27 18:49:58 +08:00 |
|
jiantw83
|
0f9aeefead
|
chore(manifest): 三份 manifest 版本升到 0.1.9
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.8 改為 0.1.9。
Why:本次新增 `write-guides.sh`、`deploy.sh` 收尾多掛一道重啟閘門、`deploy` 技能多兩個步驟,設定規格表也多九列,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。
How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。
Who:`jsc-cli` 外掛的套件描述檔。
|
2026-08-27 16:34:17 +08:00 |
|
jiantw83
|
ebca8883fc
|
chore(version): jsc-cli 版本推進到 0.1.8
What:
把三份 manifest 的 `version` 從 `0.1.7` 改成 `0.1.8`:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json`。三份只改版本號,其他欄位不動。
Why:
`kiro_copy()` 的修正改變了 kiro 實際拿到的檔案內容,各 CLI 要靠版本號才看得出本機落後、才會重新部署。版本不動,已經裝好舊版的機器不會更新,修正等於沒發出去。
How:
三份 manifest 一起改,避免不同 CLI 讀到不一樣的版本。`kiro_copy()` 這次也把 `plugin.json` 複製到 `$KIRO_SKILLS/jsc-cli/`,所以 kiro 上查到的版本會和 master 一致。
Who:
jsc-cli 技能組的版本發布。
|
2026-08-27 12:37:04 +08:00 |
|
jiantw83
|
bbd48b5d95
|
chore(manifest): 三份 manifest 版本升到 0.1.7
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.6 改為 0.1.7。
Why:設定規格表新增一個環境變數,讀表的部署與體檢行為跟著變,版本要往上走,各 CLI 才知道要更新。
How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。
Who:`jsc-cli` 外掛的套件描述檔。
|
2026-08-27 11:20:30 +08:00 |
|
jiantw83
|
9a7fbeb229
|
fix(manifest): 三份 manifest 版本升到 0.1.6
What:三份 manifest 由 0.1.5 升到 0.1.6。
Why:codex 更新路徑的修正要能被 version-guard.sh 判定為落後,使用者才會收到更新
提示。不升版的話,帶著壞掉更新路徑的舊版會一直留在各 CLI 上。
How:以 jsc-meta 的 sync-skill-manifest.sh 統一 bump,三份同步成同一個值。
Who:跨 CLI 技能組批次部署。
|
2026-08-27 10:28:18 +08:00 |
|
jiantw83
|
497a16b877
|
feat(model-tags): 補上三款舊世代模型的能力標籤
What:在 `references/model-tags.md` 的對照表新增三列——claude-opus-4.5、claude-sonnet-4.5、gpt-5.4-mini,並把三份 plugin manifest 版本由 0.1.4 升到 0.1.5。
Why:這三款模型仍在線上,實務上常被指定使用。對照表沒有它們,`tools/model-tags.sh` 查不到標籤,jsc-sdlc 的階段閘門就無從判定,規劃與分析階段會被誤擋。
How:依既有欄位格式各補一列標籤。claude-opus-4.5 同時列出 reasoning-max 與 reasoning-high,遵守上位標籤必須並列的規則;claude-sonnet-4.5 給 reasoning-high、coding、long-context、vision,不列 fast;gpt-5.4-mini 比照 gpt-5.x-mini 給 coding、fast、cheap。接著用 jsc-meta 的 sync-skill-manifest.sh 同步 README 技能目錄並升版,README 沒有增減技能小節。
Who:jsc-cli 的 models 技能與其 `tools/model-tags.sh`;下游是 jsc-hooks 的 sdlc-gate,它讀 `$JSC_HOME/model-tags.tsv` 執行閘門。
|
2026-08-26 18:40:11 +08:00 |
|
jiantw83
|
a2f1f65ff8
|
chore(cli): 因應 scan-config.sh 修正,將外掛版本升級至 0.1.4
|
2026-08-26 12:26:52 +08:00 |
|
jiantw83
|
49cd4d3ee4
|
fix(deploy): 修正 domain 前綴歧義與 kiro-cli 探測
What: deploy.sh 收到帶 jsc- 前綴的 domain 名時自動去掉前綴再組 jsc-{domain}@jsc;deploy_kiro 先探測這個版本的 kiro-cli 認不認得 plugin 子指令,不認得就整批直接走本地複製退路。
Why: marketplace.json 的 plugins[].name 本身就帶 jsc- 前綴,SKILL.md 只寫「domain 名單來自 marketplace」沒講清楚要不要去前綴,實際執行時餵進去兜成 jsc-jsc-ask@jsc 雙重前綴,claude、copilot、antigravity、kiro 四支 CLI 的更新全部第一輪失敗。另外 kiro-cli 2.18.1 這個版本已經完全沒有 plugin 子指令,逐一嘗試再退回複製會先洗出一長串看似失敗、實則設計內的錯誤訊息。
How: 腳本層正規化 domain 參數(去前綴),比只改文件更可靠——不管呼叫端傳哪種格式都對。kiro 的探測用 kiro-cli --help-all 抓子指令清單,一次性判斷,不逐一撞錯誤才退回;探測本身不算部署動作,不印 cmd/exit。SKILL.md 同步補上前綴說明。
Who: jsc-cli:deploy 的執行正確性與輸出可讀性。
|
2026-08-26 11:30:18 +08:00 |
|
jiantw83
|
e655f9a963
|
feat(setup): 新增引導與自動設定技能
What: 新增 jsc-cli:setup,讀 doctor 的待修清單逐項確認後修復,並新增 tools/apply-config.sh 負責實際寫入。
Why: 體檢找得出問題,修還是得靠人一個一個查文件。修法又分三種:算得出來的、要人給值的、只能手動的,混在一起講不清楚。
How: 依規格表的 fix 欄分流,auto 直接寫、ask 先用決策樹問到值、manual 印步驟。複合修復交回原主(deploy、hooks-install、models)。apply-config.sh 只動 rc 檔的 # jsc-config 標記段落,寫前備份到 $JSC_HOME/backup/config/,寫後重讀驗證,fish 自動改用 set -gx 語法。
Who: 體檢與修復流程,接在 jsc-cli:doctor 之後。
|
2026-08-26 10:43:50 +08:00 |
|
jiantw83
|
17329a94d3
|
feat(cli): 新增 delegate 子代理技能
|
2026-08-25 16:56:22 +08:00 |
|
 jiantw83andClaude Opus 5
|
3082e5167f
|
chore(cli): 三份 manifest 同步升版並同步 marketplace 正本
What:三份 plugin manifest 版本同步 bump,兩份 marketplace 檔與 plugins/meta 正本對齊。
Why:準則要求技能異動必須同步升版;marketplace 副本必須與正本完全一致。
How:以 jsc-meta 的 tools/sync-skill-manifest.sh 升版,marketplace 檔由正本複製。
Who:jsc-meta:skill-check 例行稽核(2026-08-25)。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-25 14:58:54 +08:00 |
|
 jiantw83andClaude Opus 5
|
00cfac58b0
|
chore(plugin 版本): 三份 manifest 升版至 0.0.6
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 13:03:17 +08:00 |
|
 jiantw83andClaude Opus 5
|
abf65226b6
|
chore(plugin 版本): 三份 manifest 升版至 0.0.5
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 18:00:35 +08:00 |
|
 jiantw83andClaude Opus 5
|
30bb201c71
|
chore(plugin 版本): 三份 manifest 升版至 0.0.4
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 16:05:06 +08:00 |
|
jiantw83
|
f2029d4cd0
|
feat(cli): 新增 model-config.sh 的 resolve 子指令
What:
在 `tools/model-config.sh` 新增 `resolve {stage}` 子指令。這個指令會取出某個 SDLC 階段的模型鏈(跟 `get {stage}` 用同樣的解析規則:先讀專案的 `.jsc/models`,找不到再讀 `$JSC_HOME/models.conf`),然後印出鏈中第一個模型名稱,當作目前這個 CLI 可用的模型。同時新增 `current_cli()` 這個輔助函式,透過各家 CLI 的環境變數,判斷目前是在 claude、codex、copilot、antigravity、還是 kiro 底下執行。這個版本先把 `current_cli()` 的結果記錄下來,還沒有拿它去過濾模型鏈中不可用的模型,這件事留到之後再做,因為要判斷某個模型是否可用,需要 LLM 層級的判斷,不是單純的 shell script 能做到的。之後的計畫是拿 `current_cli()` 的結果,對照 `references/model-tags.md` 和 `detect-clis.sh`,跳過模型鏈裡不可用的模型。另外,把 README.md 裡 `tools/model-config.sh` 的工具說明表格,加上新的 `resolve {stage}` 子指令說明。版本號也從 0.0.2 升到 0.0.3,同步改了 `plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 這三份清單檔,這是這個 repo 的慣例:新增功能時要一併升版號。
Why:
jsc-meta:skill-check 這次稽核發現,jsc-sdlc 底下 plan、analyze、implement、maintain 這四個階段的技能,各自都要幫自己的階段挑一個模型,來做 gate check。如果沒有 `resolve` 這個子指令,這四個技能就要各自在技能說明裡,重複寫一次「讀模型鏈、選一個候補模型」的邏輯。這樣容易寫錯,也難維護。
How:
在既有的 `get`/`list` 邏輯基礎上,加一個 `resolve` 子指令,直接回傳模型鏈的第一個模型。同時加上 `current_cli()`,先把偵測 CLI 的能力做出來,但先不接上過濾邏輯,用註解說明後續要怎麼接。文件和版本號一併更新。
Who:
這個功能是給 jsc-sdlc 的四個階段技能(plan、analyze、implement、maintain)用的。它們可以直接呼叫 `resolve {stage}`,取得一個可用的模型名稱,不用各自重複寫模型鏈的判斷邏輯。
|
2026-08-24 14:49:28 +08:00 |
|
jiantw83
|
286b2f7af2
|
fix(marketplace): 同步兩份 marketplace.json 的說明與擁有者欄位
What:
`.agents/plugins/marketplace.json` 和 `.claude-plugin/marketplace.json` 兩份檔案內容不一致。這次把兩份都對齊 plugins/jsc 的標準版本。在 `.agents/plugins/marketplace.json` 加上最上層的 description 和 owner(name: "JSC")欄位,並幫十個外掛(jsc-ask、jsc-cli、jsc-git、jsc-gitea、jsc-hooks、jsc-log、jsc-meta、jsc-pkg、jsc-review、jsc-sdlc)各自補上說明文字。在 `.claude-plugin/marketplace.json` 加上最上層的 description 和 owner 欄位,並修正 jsc-meta 說明文字,把「新建/更新/刪除」改成「新建、更新、刪除」。
Why:
這兩份檔案是 marketplace 的清單檔,內容原本不一致。`.claude-plugin/marketplace.json` 已有每個外掛的說明,但缺最上層欄位。`.agents/plugins/marketplace.json` 完全沒有說明文字。清單檔不一致,會讓不同工具讀到不同資訊,造成混淆,所以要修正。
How:
對照 plugins/jsc 這份標準版本,逐一比對兩份檔案,補齊缺少的欄位,並統一用字。
Who:
這次改動跟 jsc-cli 自己的技能邏輯無關,是整個 repo 層級的一致性修正。目的是讓 jsc-cli 這個 repo 可以正確扮演 marketplace 註冊入口的角色,跟其他 repo 的清單檔保持同步。
|
2026-08-24 14:49:16 +08:00 |
|
 jiantw83andClaude Fable 5
|
cb6df171f6
|
chore(manifest): 版本號提升至 0.0.2
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份 manifest 的 version 由 0.0.1 提升為 0.0.2。
Why:本次新增角色式模型路由功能(model-config.sh 與相關文件),屬功能性變更,需要新版本號讓各 CLI 的插件更新機制辨識。
How:同步修改三份 manifest 的 version 欄位,維持三處版本一致。
Who:jsc-cli 插件的安裝與更新流程(jsc-cli:deploy 及各 CLI 原生插件命令)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-24 11:36:57 +08:00 |
|
 jiantw83andClaude Fable 5
|
b72c51c234
|
chore(cli): 加入統一 jsc marketplace 副本(與正本一致,任一 repo 可作註冊入口)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-21 14:37:44 +08:00 |
|
 jiantw83andClaude Fable 5
|
0f28babaaf
|
chore(cli): 版本號改為 0.0.1 並移除個別 marketplace(統一為 jsc)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-21 14:03:33 +08:00 |
|
 jiantw83andClaude Fable 5
|
03a47f2684
|
chore(cli): 修正範本 manifest 與移除 hello 範例符合 cli 領域
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-21 13:08:18 +08:00 |
|
jiantw83
|
2c2efb72ae
|
Initial commit
|
2026-08-21 04:42:50 +00:00 |
|