Commit Graph
34 Commits
Author SHA1 Message Date
jiantw83 4697bf433f chore(plugin 版本): 三份 manifest 升版至 0.3.0 2026-09-02 14:27:18 +08:00
jiantw83 9e71474bfb feat(wiki): 五個目錄頁改走專用存取庫,補齊 wiki-url 退出碼分流
What:PLAN、ANALYZE、DELIVER、MAINTAIN、REPO 五個目錄頁改由 wiki-repo CONTENTS
解析並透過 wiki-contents.sh upsert 寫入,內容頁仍各走自己的型別。MAINTAIN 只有
目錄頁,整個型別都在專用存取庫。

Why:目錄頁與內容頁不再同庫,跨庫沒有 wiki 連結語法可用,一律改 wiki-url 的絕對
網址。原本四處取網址都沒有退出碼分流,5 被讀成空字串就寫出空連結,7 被讀成 4 就
把活著的頁當成沒寫成。

How:plan 與 analyze 會上階段鎖,而寫入閘門只看鎖不看路徑,所以流程要產的列檔與
暫存檔會被自己的閘門擋掉。兩支的限制段明寫這些檔一律用 heredoc 或 mktemp 產出。
wp-gate.sh 讀的是分析內容頁,維持走 ANALYZE,原地註明不得改成 CONTENTS。

Who:jsc-sdlc
2026-09-02 11:02:34 +08:00
jiantw83 41982760d4 chore(marketplace): 把 jsc-assist 登錄進統一 marketplace
What:
- 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存放庫。

Why:
- 準則要求每個 domain 存放庫都帶同一份 marketplace 檔,任何一個存放庫都能當註冊入口。副本之間只要有一份沒跟上,稽核就會報出不一致。
- 正本少了這個條目,各 CLI 的安裝指令就找不到 jsc-assist,這個 domain 等於發佈不出去。

How:
- 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存放庫的副本,寫完逐檔比對位元組。這一支存放庫的兩份副本就是那一輪的產物。
- 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。
- 這一批是從最新的預設分支重新產生的。前一輪的分支基底早於監控頁型別那批改動,直接合併會把那些改動回退掉,所以整批重做而不是解衝突。

Who:
助理 domain 落地的註冊步驟在這個存放庫的同步。
2026-09-01 12:50:04 +08:00
jiantw83 c7d9777d04 fix(frontmatter): 修正 maintain 技能 SKILL.md frontmatter 的 YAML 純量語法錯誤
What:
- 修正 skills/maintain/SKILL.md frontmatter 裡 description 欄位的 YAML 語法錯誤。
- 整串 description 加上單引號,內部撇號改寫成兩個單引號,內容文字一個字都沒變。
- 同步更新 plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三個 manifest 版本號,從 0.2.7 進到 0.2.8。

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:
- 本次修到 sdlc 技能組的 maintain 技能,屬 SDLC 維運階段、定期維護已交付專案的功能。
2026-08-31 19:04:17 +08:00
jiantw83 7127d7d932 chore(version): 三份 manifest 同步升版到 0.2.7
What:
- `.claude-plugin/plugin.json` 版本從 0.2.6 改成 0.2.7。
- `.codex-plugin/plugin.json` 版本從 0.2.6 改成 0.2.7。
- `plugin.json` 版本從 0.2.6 改成 0.2.7。

Why:
- 本次新增行為清單,屬於外部可見的異動,要升一版。
- 三份 manifest 服務不同的 CLI,版本必須一致。
- 版本一致,版本守衛才判得出這台機器該不該更新。

How:
- 只動三份檔案的 `version` 欄位,其他欄位一個位元組都沒改。
- 版號依既有規則進位一個修訂號。

Who:
- 安裝或更新 jsc-sdlc 外掛的使用者。
- 比對外掛版本的 jsc-hooks 版本守衛與 jsc-cli:deploy。
2026-08-31 13:49:26 +08:00
jiantw83 dfe4ed03ca chore(deps): 補上維護階段實際用到的相依外掛
維護階段的候選方法直接呼叫 jsc-pkg 更新套件,相依清單卻沒有列它。裝了本外掛不一定裝得到,跑到那一步才失敗。

- 三份外掛描述檔都補上 jsc-pkg。
- 提高 jsc-hooks 的版本下限。本次流程倚賴的寫入閘門與留言掃描要新版才有。
- 同步調高本外掛版本。
2026-08-31 11:10:30 +08:00
jiantw83 19d873d19a fix(analyze): 讓測試計畫符合 TDD 循環 2026-08-28 16:10:20 +08:00
jiantw83 7804247dd9 feat(analyze): 依使用者故事產生驗收計畫 2026-08-28 16:07:45 +08:00
jiantw83 309fe905a9 feat(analyze): 明確產生 TDD 測試計畫 2026-08-28 16:03:00 +08:00
jiantw83 b45958ed25 feat(manifest): 宣告 sdlc 技能相依版本 2026-08-28 11:59:16 +08:00
jiantw83 8381f334a1 fix(implement): 明確指定分析頁檢查工作包相依 2026-08-28 09:30:08 +08:00
jiantw83 39c087b31f chore(manifest): 三份 manifest 同步升版至 0.2.0
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份
manifest 的 version 由 0.1.9 改為 0.2.0。

Why:implement 的收尾多了一關 API 文件稽核,是使用者看得到的流程異動,次版號
要跟著進。版本沒跟著升,各 CLI 端的外掛版本護欄就分不出新舊,已安裝的使用者
也收不到更新。

How:三份 manifest 只改 version 欄位,其餘欄位維持原樣,三處版本號保持一致。

Who:jsc-sdlc 外掛的安裝與更新流程。
2026-08-27 15:41:38 +08:00
jiantw83 fd433d5152 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:本次為 `wp-gate.sh` 新增兩個子命令,並改了 `implement` 與 `maintain` 兩支技能的步驟,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。

How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。

Who:`jsc-sdlc` 外掛的套件描述檔。
2026-08-27 11:20:30 +08:00
jiantw83andClaude Opus 5 78fb70a099 fix(references): 修正 cpm-chart 的簡體字並同步 manifest 版本
What: 把 references/cpm-chart.md 第 14 行的「出现」改成正體「出現」,
並把三份 manifest 的版本由 0.1.7 bump 到 0.1.8。

Why: 存取庫文件一律用正體中文,簡體字會被 STE100 語言檢查擋下,也讓讀規則
的人分心。技能內容有異動就要 bump 版本,安裝端才拿得到新版。

How: 只換掉那一個字,句子其餘文意不動。接著跑 ste100-lint.sh 掃全庫的 .md、
.json 與程式碼檔,再用簡體字全表、U+FFFD、雙重編碼特徵與非 UTF-8 四項掃過每個
受版控的檔案,兩輪都零命中。最後用 sync-skill-manifest.sh 同步 plugin.json、
.claude-plugin/plugin.json、.codex-plugin/plugin.json。

Who: Jeffery

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 09:40:47 +08:00
jiantw83 868e4345e9 feat(manifest): 三份 manifest 版本升到 0.1.7
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 的 version 由 0.1.6 改為 0.1.7。
Why:本次為 implement、maintain 與 TDD 參考文件新增註解界線規則,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。
How:三份 manifest 只改 version 一個欄位,其餘內容不動,三份保持同一版號。
Who:jsc-sdlc 外掛的套件描述檔。
2026-08-26 19:00:56 +08:00
jiantw83andClaude Opus 5 4a4feaf6ef feat(sdlc): 四階段收尾一律回報
What:新增 tools/stage-report.sh 與 references/stage-report.md,四支階段技能各加一步收尾回報:模型能力標籤判定、工作日誌連結、所有寫入的 wiki 連結;實作階段再加工作目錄與來源、工作、目標三條分支。

Why:階段跑完該交代什麼是固定的,寫在內文靠模型自己記,少一項看不出來。沒寫工作日誌更是如此——內容只留在對話裡,換一個工作階段就沒了。

How:彙整搬到程式層。頁名換絕對網址、commit 數與推送狀態由 git 現查、來源分支在不在遠端也由腳本判定;模型閘門那一列只轉述 sdlc-gate.sh report,不自評。沒有工作日誌就警告使用者檢查,並把內容交給 jsc-log 的暫存區,下次寫日誌一併寫入。結束碼 1 是警告不是阻擋,提前停下來也要回報。

Who:跑 SDLC 四階段的人,以及接手看紀錄的人。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 09:19:43 +08:00
jiantw83 a52e47be80 chore(sdlc): 三份 manifest 同步升版到 0.1.5 2026-08-25 18:59:37 +08:00
jiantw83andClaude Opus 5 4dcf5a7401 chore(sdlc): 三份 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 7efdb6fe39 chore(plugin 版本): 三份 manifest 升版至 0.1.2
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 13:03:17 +08:00
jiantw83andClaude Opus 5 ad64568cdf chore(plugin 版本): 三份 manifest 升版至 0.1.1
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 12:08:11 +08:00
jiantw83andClaude Opus 5 d8656a4ca3 chore(plugin 版本): 三份 manifest 升版至 0.1.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 11:58:11 +08:00
jiantw83andClaude Opus 5 082104c550 chore(plugin 版本): 三份 manifest 升版至 0.0.9
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 11:04:33 +08:00
jiantw83andClaude Opus 5 c932ab2b36 chore(plugin 版本): 三份 manifest 升版至 0.0.8
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 18:54:19 +08:00
jiantw83andClaude Opus 5 1d186bf141 chore(plugin 版本): 三份 manifest 升版至 0.0.7
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 18:00:35 +08:00
jiantw83andClaude Opus 5 4b5385175b chore(plugin 版本): 三份 manifest 升版至 0.0.6
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 17:24:31 +08:00
jiantw83andClaude Opus 5 9a6ca0f9ee chore(plugin 版本): 三份 manifest 升版至 0.0.5
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 16:05:19 +08:00
jiantw83 8d2b715995 refactor(sdlc): 消除四個 SDLC skill 間重複邏輯,改為委派唯一權威來源
What(做了什麼):
1. 移除 plan、analyze、implement 三個 skill 及 README.md 中各自重述的 wiki hash 演算法說明(原本各處都各自寫一遍「取 SHA-1 前 8 碼大寫十六進位,開頭若為數字或 A/B/C 則替換為 H 加後 7 碼」),改為統一指向唯一權威工具 jsc-gitea/tools/hash-id(透過 jsc-gitea:wiki 使用)。
2. 移除 plan、analyze、implement、maintain 四個 skill 中重複的 model chain fallback 選擇邏輯說明(原本各自描述「執行 jsc-cli/tools/model-config.sh get {stage},若印出 chain 則取目前 CLI 可用的第一個,fallback 依 chain 順序套用」),改為統一呼叫新的共用子指令 jsc-cli/tools/model-config.sh resolve {stage},由該子指令自行封裝解析邏輯(此 resolve 子指令由另一位 agent 同時在 sibling repo jsc-cli 開的配套 PR 新增,本 PR 依賴該 PR)。
3. implement/SKILL.md 移除自身多餘的「先解析環境變數」步驟(原第 2 步,手動檢查 JSC_WIKI_REPO_ANALYZE、JSC_WIKI_REPO、JSC_WIKI_REPO_QUESTION、GITEA_HOST、GITEA_TOKEN 後才詢問使用者),因為此解析已由 implement 其他步驟委派的 jsc-gitea:wiki 正確處理,屬於死重複邏輯;後續步驟由 2-8 重新編號為 2-7。
4. maintain/SKILL.md 在 frontmatter description 欄位加入明確的負向觸發說明,釐清此 skill 僅用於已交付、仍在維護窗口內的專案,「不適用於仍在實作中或尚未登錄於 MAINTAIN_CONTENTS 的專案」。
5. plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份版本號檔案,由 0.0.3 升版至 0.0.4。

Why(為什麼改):
四個 SDLC skill 各自重述相同的 hash 演算法與 model chain fallback 邏輯,違反 jsc-meta:skill-check 稽核準則中「單一權威來源」的要求,日後維護容易改一處漏一處;implement 的環境變數解析步驟與其他步驟委派的 jsc-gitea:wiki 功能重疊,屬死碼;maintain 的觸發時機描述不夠明確,容易被誤用在尚未進入維護窗口的專案上。

How(怎麼改的):
將重複邏輯抽離,改為指向或呼叫唯一權威工具/skill(jsc-gitea/tools/hash-id、jsc-cli/tools/model-config.sh resolve、jsc-gitea:wiki),移除 implement 中的死步驟並重新編號,於 maintain frontmatter 補上負向觸發描述,並同步升版三份 plugin.json。全程不改變任何對外行為,純屬重構。

Who(誰/哪個需求):
jsc-meta:skill-check 對 plan、analyze、implement、maintain 四個 SDLC skill 的例行合規稽核修正。
2026-08-24 14:50:22 +08:00
jiantw83 da64e97e28 fix(marketplace): 同步 marketplace.json 中繼資料至 canonical 版本
What(做了什麼):
修正 .claude-plugin/marketplace.json 與 .agents/plugins/marketplace.json 兩份 marketplace 清單,使其欄位與格式與 plugins/jsc 的 canonical marketplace.json 一致。.agents/plugins/marketplace.json 補上缺漏的頂層 description、owner 欄位,並為全部 11 個 plugin 項目(jsc-ask、jsc-cli、jsc-git、jsc-gitea、jsc-hooks、jsc-log、jsc-meta、jsc-pkg、jsc-review、jsc-sdlc)補上各自的繁體中文用途描述;.claude-plugin/marketplace.json 則將 jsc-meta 描述中的斜線寫法(「新建/更新/刪除技能」)改為 canonical 的頓號寫法(「新建、更新、刪除技能與技能準則」)。

Why(為什麼改):
兩份清單長期與 canonical marketplace.json 不同步,缺欄位與描述格式不一致,會造成各 AI CLI 讀到不完整或不一致的 plugin 資訊,也不符合 jsc-meta:skill-check 的稽核基準。

How(怎麼改的):
以 plugins/jsc 的 canonical marketplace.json 為基準逐欄比對,補齊缺漏欄位、統一描述文字格式,純屬中繼資料調整,不涉及任何 skill 行為邏輯變更。

Who(誰/哪個需求):
jsc-meta:skill-check 例行合規稽核中的 marketplace 中繼資料同步項目。
2026-08-24 14:50:12 +08:00
jiantw83andClaude Fable 5 923fb8e83e chore(manifest): 三份 plugin.json 版本升至 0.0.3
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份 manifest 的 version 由 0.0.2 升為 0.0.3。

Why:本次加入指定模型閘門與 sdlc-gate 階段鎖定屬功能性變更,需要提升版本號讓各 AI CLI 的 plugin 更新機制偵測到新版並重新安裝。

How:同步修改三份 manifest 的 version 欄位,維持三處版本一致。

Who:jsc-sdlc plugin 的安裝與更新流程(jsc-cli:deploy 及各 CLI 原生 plugin 指令)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 11:37:01 +08:00
jiantw83 1153f7f064 fix(wiki): 統一 SDLC wiki 頁命名與 ERROR 範本 2026-08-21 16:53:17 +00:00
jiantw83andClaude Fable 5 a245ae8eea chore(sdlc): 加入統一 jsc marketplace 副本(與正本一致,任一 repo 可作註冊入口)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:37:51 +08:00
jiantw83andClaude Fable 5 8bc4ab4f83 chore(sdlc): 版本號改為 0.0.1 並移除個別 marketplace(統一為 jsc)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:03:40 +08:00
jiantw83andClaude Fable 5 bd81aa8152 chore(sdlc): 修正範本 manifest 與移除 hello 範例符合 sdlc 領域
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 13:08:18 +08:00
jiantw83 227878e65e Initial commit 2026-08-21 04:43:16 +00:00