jiantw83
|
e2232d26f1
|
feat(wire-cli): 接線腳本納入註解範圍 hook,五支改六支
What:`tools/wire-cli.sh` 新增 `comment_scope_text()`、`rules_text()` 與 `has_comment_scope()` 三個函式,把 `comment-scope.sh` 的 `prompt` 模式接進 codex、copilot、antigravity 的規則檔與 kiro 的 hook JSON,`smoke` 與 `status` 兩個子命令也補上這支 hook,全腳本由五支 hook 改口徑為六支。
Why:`hooks/hooks.json` 只服務 claude;其他四個 CLI 要靠這支腳本接線,不改就完全接不到新規則。`smoke` 與 `status` 不同步補上,接線成功與否也驗不出來。
How:`comment_scope_text()` 直接取 `comment-scope.sh prompt` 的實際輸出當規則文字,不在本存取庫留規則清單副本;`rules_text()` 把 STE100 與註解範圍併進同一個 `<!-- jsc-hooks -->` 標記段落,重跑等同先移除再重裝;`has_comment_scope()` 供 `status` 判斷標記段落在不在。`smoke` 把 `comment-scope.sh` 無參數模式的 exit 2 視為設計行為,與 `sdlc-gate.sh check` 同列例外。
Who:`jsc-hooks` 的接線工具層,供 `jsc-hooks:hooks-install` 與 `jsc-hooks:repair` 呼叫。
|
2026-08-26 19:01:36 +08:00 |
|
jiantw83
|
f81ceaf145
|
feat(comment-scope): 新增註解範圍檢查 hook 並接進 claude 的 hooks.json
What:新增第六支 hook `hooks/comment-scope.sh`,並在 `hooks/hooks.json` 補上兩個接線點:UserPromptSubmit 走 `prompt` 模式、PostToolUse 的 `Write|Edit|MultiEdit` 走掃描模式。
Why:程式碼註解常被寫進工單編號、專案代號、負責人這類文件相關資訊,讓註解變成過期文件。過去只能靠 `/jsc-review:code-review` 事後抓,回饋太慢;把規則搬到寫檔當下,模型可以立刻修正。
How:`prompt` 模式印出規則摘要注入提示。無參數模式從 stdin JSON 取 `file_path`(或環境變數 `JSC_CHANGED_FILE`),只掃 `git diff HEAD` 的新增行,不翻舊帳;markdown、純文字、資料檔與二進位檔一律跳過。命中就把警告與最多三行證據送到 stderr 並以 exit 2 交回模型就地修正,不擋寫入。逃生門為 `JSC_COMMENT_SCOPE=off`。規則正文的唯一來源在 `jsc-review` 的 `references/comment-scope.md`,本存取庫不留副本。
Who:`jsc-hooks` 的 hook 層,服務 `jsc-hooks:hooks-install` 的接線流程與 `jsc-review:code-review` 的註解契約檢查。
|
2026-08-26 19:01:36 +08:00 |
|
jiantw83
|
961af918bf
|
chore(gitignore): 忽略本機接線檔目錄 .kiro/
What:在 .gitignore 的暫存分類底下新增 .kiro/ 一行,讓該目錄維持不追蹤。
Why:.kiro/ 是 jsc-hooks:hooks-install 在本機產生的接線檔,內容含本機絕對路徑。這種檔案因人而異,提交進存取庫會讓別人拉到錯的路徑,也會每次接線就冒出雜訊變更。
How:於 .gitignore 加上獨立註解區塊與 .kiro/ 樣式,只忽略不刪檔;本機既有目錄原地保留,git status 不再列出。
Who:hooks 存取庫的版本控管設定,配合 jsc-hooks:hooks-install 的接線產出。
|
2026-08-26 18:40:11 +08:00 |
|
jiantw83
|
0c83495ba8
|
fix(version-guard): 把 jsc-ask:ask 與 jsc-gitea:wiki 加進豁免清單
What:版本守門 hook 的豁免清單新增 jsc-ask:ask 與 jsc-gitea:wiki 兩支技能,並在檔頭註解補上理由。
Why:jsc-cli:deploy 要問使用者 install/update/uninstall,一定會呼叫 jsc-ask:ask;ask 問完又一定寫回 wiki 才算完成。這兩支只要版本落後就被擋下,訊息還指回 /jsc-cli:deploy,deploy 卡在問不出模式那一步,形成死鎖,跟直接擋 deploy 是同一種問題。
How:在 case "$skill" 的豁免比對加上 jsc-ask:ask 與 jsc-gitea:wiki 兩個樣式,維持原本 exit 0 的略過行為;檔頭豁免清單註解同步補上兩條說明,講清楚死鎖成因。
Who:hooks/version-guard.sh 的外掛版本守門功能,影響 jsc-cli:deploy 的部署流程。
|
2026-08-26 18:40:11 +08:00 |
|
admin
|
fcd77013ea
|
Merge pull request 'fix/per-package-work-package-lock-file' (#23) from fix/per-package-work-package-lock-file into develop
Reviewed-on: #23
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-26 10:07:27 +00:00 |
|
jiantw83
|
221742486b
|
fix(sdlc-gate): 工作包鎖檔改依索引區分,避免平行工作包互相覆蓋並修正提示文字
|
2026-08-26 17:59:21 +08:00 |
|
admin
|
388d967aab
|
Merge pull request 'feat/hooks-wire-cli-status' (#21) from feat/hooks-wire-cli-status into develop
Reviewed-on: #21
|
2026-08-26 02:51:19 +00:00 |
|
jiantw83
|
f1bcdc3d72
|
feat(wire-cli): 新增唯讀的接線盤點子命令
What: wire-cli.sh 新增 status 子命令,只讀設定檔判斷 jsc 標記段落在不在,不寫檔也不執行 hook。每個接線點印一行 item,以 status=wired、degraded、unwired、skipped 回報。
Why: 體檢類技能要問「hook 接線在不在」,但既有三個子命令都會動到環境:不帶子命令會重新接線、purge 會刪掉、smoke 會真的執行 hook。體檢不該有副作用。
How: 沿用底下接線區塊的同一組檔案位置與標記字串,共用 has_block、toml_root_key、json_top_key 三個判讀函式。codex 的 notify 另外單獨檢查是否落在根層,標記在、鍵被歸進表裡時 codex 讀不到,等同沒接。
Who: 供 jsc-cli:doctor 呼叫的接線檢查。
|
2026-08-26 10:44:47 +08:00 |
|
admin
|
88c7d37c2d
|
Merge pull request 'feat/work-package-pr-gate-hook-enforcement' (#20) from feat/work-package-pr-gate-hook-enforcement into develop
Reviewed-on: #20
|
2026-08-25 11:03:24 +00:00 |
|
jiantw83
|
65d3c13d22
|
chore(hooks): 三份 manifest 同步升版到 0.1.7
|
2026-08-25 18:59:29 +08:00 |
|
jiantw83
|
26a5a4690d
|
docs(hooks): 補上工作包 PR 閘門的 hook 說明與逃生門
|
2026-08-25 18:59:29 +08:00 |
|
jiantw83
|
b9ad321930
|
feat(sdlc-gate): 新增工作包 PR 閘門,未結清就擋下別的階段技能
|
2026-08-25 18:59:29 +08:00 |
|
admin
|
291909cfed
|
Merge pull request 'feat/hooks-install-purge-first-and-repair-on-any-hook-error' (#18) from feat/hooks-install-purge-first-and-repair-on-any-hook-error into develop
Reviewed-on: #18
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-25 10:20:02 +00:00 |
|
jiantw83
|
e62511b57f
|
chore(hooks): 三份 manifest 同步升版到 0.1.6
|
2026-08-25 18:18:10 +08:00 |
|
jiantw83
|
6ecb7d0387
|
docs(hooks): 同步 purge、smoke 與錯誤掃描的工具與技能說明
|
2026-08-25 18:18:10 +08:00 |
|
jiantw83
|
b45a98af87
|
feat(hooks-install): 安裝改為先清空所有 hook 再接線並驗執行期
|
2026-08-25 18:18:10 +08:00 |
|
admin
|
881aabee83
|
Merge pull request 'feat/auto-repair-failed-hook-wiring' (#16) from feat/auto-repair-failed-hook-wiring into develop
Reviewed-on: #16
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-25 08:58:41 +00:00 |
|
jiantw83
|
ad2f944a66
|
fix(hooks): 修正版本號為單位數格式
|
2026-08-25 16:39:49 +08:00 |
|
jiantw83
|
c68292acbc
|
feat(hooks): 自動接手失敗接線與修復流程
|
2026-08-25 16:33:38 +08:00 |
|
admin
|
8fc1f18c31
|
Merge pull request 'fix/skillset-audit-compliance-and-guard-fixes' (#15) from fix/skillset-audit-compliance-and-guard-fixes into develop
Reviewed-on: #15
|
2026-08-25 07:15:00 +00:00 |
|
 jiantw83andClaude Opus 5
|
2982ca4e9f
|
chore(hooks): 三份 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
|
83170e1b43
|
docs(hooks): 同步文件與參考資料
What:更新 README、AGENTS.md、templates 與 references,讓文件敘述與實際行為一致。
Why:稽核發現多處文件與程式行為分歧,違反「每個意義只有單一真實來源」。
How:以實際程式行為為準改寫敘述,重複的規則收成單一來源並以一行指引指過去。
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
|
fedcfc8b05
|
fix(hooks): 補齊稽核缺失並修掉護欄失效
What:依 jsc-meta:skill-check 的稽核結果修正技能與工具——補上每個步驟的可檢核完成條件、
把留在內文的標準輸入輸出流程下放 tools/、修正查表與退碼路由造成的誤判。
Why:稽核發現這些缺失會讓技能在實際執行時走錯分支或靜默通過。
完成條件缺漏是最常被違反的一項;退碼誤判與查表錯誤則會讓良性狀況被當成失敗。
How:逐項對照 references/guidelines.md 的審核檢查清單修正,新增的工具都有
documented exit codes,並以真實執行驗證每條路徑。
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 |
|
admin
|
cc9c80d760
|
Merge pull request '發佈 jsc-hooks 0.0.9:version-guard 新增 report' (#14) from develop into master
Reviewed-on: #14
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-25 05:05:50 +00:00 |
|
 jiantw83andClaude Opus 5
|
99f5747b9e
|
chore(plugin 版本): 三份 manifest 升版至 0.0.9
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 13:03:17 +08:00 |
|
 jiantw83andClaude Opus 5
|
8a8e455c87
|
docs(README): 補上 version-guard report 的用途說明
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 13:03:17 +08:00 |
|
 jiantw83andClaude Opus 5
|
2736555a75
|
feat(version-guard): 新增 report 子指令,一次比對所有 plugin 的本機與已發佈版本
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 13:03:17 +08:00 |
|
admin
|
8309e24a00
|
Merge pull request '發佈 jsc-hooks 0.0.8:技能版本前置檢查' (#13) from develop into master
Reviewed-on: #13
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-25 04:56:23 +00:00 |
|
 jiantw83andClaude Opus 5
|
3b0c8f0e33
|
chore(plugin 版本): 三份 manifest 升版至 0.0.8
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:52:38 +08:00 |
|
 jiantw83andClaude Opus 5
|
922a95f147
|
docs(README): 補上 version-guard 與其環境變數說明
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:52:38 +08:00 |
|
 jiantw83andClaude Opus 5
|
60b6b8fe00
|
feat(version-guard): 技能使用前檢查版本,落後遠端就擋下並提示更新
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:52:38 +08:00 |
|
admin
|
12167dbd9d
|
Merge pull request '發佈 jsc-hooks 0.0.7:wiki 連結方向修正' (#12) from develop into master
Reviewed-on: #12
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-25 00:31:48 +00:00 |
|
admin
|
45e752a116
|
Merge pull request 'fix(wiki 連結): 方向修正與跨存取庫改用絕對網址(升版 0.0.7)' (#11) from fix/wiki-link-direction-and-scope into develop
Reviewed-on: #11
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 11:00:19 +00:00 |
|
 jiantw83andClaude Opus 5
|
9b6cfb9d2e
|
chore(plugin 版本): 三份 manifest 升版至 0.0.7
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 18:54:19 +08:00 |
|
 jiantw83andClaude Opus 5
|
8c455954d9
|
fix(wiki 連結): 目錄頁連結方向修正、工作證不再假裝連結
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 18:54:19 +08:00 |
|
admin
|
cbf46917b6
|
Merge pull request '發佈 jsc-hooks 0.0.6:marketplace 正本移至 plugins/meta' (#10) from develop into master
Reviewed-on: #10
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 10:18:43 +00:00 |
|
admin
|
bcad34138f
|
Merge pull request 'chore(marketplace 正本): 正本移至 plugins/meta(升版 0.0.6)' (#9) from chore/marketplace-canon-to-meta into develop
Reviewed-on: #9
|
2026-08-24 10:13:03 +00:00 |
|
 jiantw83andClaude Opus 5
|
fdde05e825
|
chore(plugin 版本): 三份 manifest 升版至 0.0.6
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 18:00:35 +08:00 |
|
 jiantw83andClaude Opus 5
|
4b64bf526e
|
docs(README): 安裝入口改為 plugins/meta 並補上遷移說明
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 18:00:35 +08:00 |
|
admin
|
d79a84ef26
|
Merge pull request '發佈 jsc-hooks 0.0.5:SDLC 階段閘門程式化與包裝啟動器' (#8) from develop into master
Reviewed-on: #8
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 08:17:17 +00:00 |
|
admin
|
5f5d51de8f
|
Merge pull request 'feat(sdlc-gate): 階段閘門改為能力標籤程式判定,模型不符即擋下該輪提示' (#7) from fix/sync-marketplace-and-hooks-install-script into develop
Reviewed-on: #7
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 08:17:01 +00:00 |
|
 jiantw83andClaude Opus 5
|
cacd234869
|
chore(plugin 版本): 三份 manifest 升版至 0.0.5
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 16:05:18 +08:00 |
|
 jiantw83andClaude Opus 5
|
0d1671cae1
|
docs(README): 更新 sdlc-gate 閘門行為與 JSC_MODEL 優先序說明
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 16:05:18 +08:00 |
|
 jiantw83andClaude Opus 5
|
830ec26f97
|
feat(sdlc-gate): 階段閘門改為能力標籤程式判定,模型不符即擋下該輪提示
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 16:05:18 +08:00 |
|
admin
|
b8d0be9c10
|
Merge pull request 'fix/sync-marketplace-and-hooks-install-script' (#6) from fix/sync-marketplace-and-hooks-install-script into develop
Reviewed-on: #6
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 07:58:40 +00:00 |
|
jiantw83
|
69eee91f27
|
feat(hooks-install): 將 hooks-install 的 CLI 佈線邏輯抽離為腳本
為什麼:
`skills/hooks-install/SKILL.md` 原本直接內嵌各 CLI(codex/copilot/antigravity/kiro)的詳細佈線步驟,包含逐步設定檔修改、wrapper alias 安裝、以及 `<!-- jsc-hooks -->` 標記區塊的冪等替換邏輯,違反 jsc-meta:skill-check 稽核準則中「確定性程序邏輯應由腳本執行,不應留給子代理每次自行解讀 prose」的要求。
做了什麼:
新增腳本 `tools/wire-cli.sh {cli}`,將原本內嵌於 SKILL.md 的佈線邏輯全數抽出,並支援冪等執行(標記區塊替換、可安全重跑),輸出機器可讀的 `status=wired|degraded|skipped reason=...` 首行訊息與對應結束碼(0=wired、1=degraded、2=bad usage、3=skipped)。改寫 `skills/hooks-install/SKILL.md`,改為依偵測到的 CLI 呼叫此腳本,並讀取其 status/結束碼判斷結果,不再自行內含佈線步驟。同步更新 `README.md`:在工具表新增 `tools/wire-cli.sh` 說明列,並改寫 hooks-install skill 的描述段落,反映新的腳本驅動流程與 `status=` 回報慣例。三份外掛清單 `plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 版本號自 0.0.3 升級為 0.0.4,對應此行為變更。
怎麼做:
建立獨立腳本承載原本的 CLI 佈線程序邏輯,改造 SKILL.md 為呼叫腳本並解讀其標準化輸出,同步更新文件與版本號。
影響範圍:
`skills/hooks-install/SKILL.md`、`README.md`、`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json`、新增檔案 `tools/wire-cli.sh`;影響 hooks-install skill 的執行流程與所有安裝 jsc-hooks 外掛的 CLI 佈線行為。
|
2026-08-24 14:47:46 +08:00 |
|
jiantw83
|
c4909e1a1f
|
fix(marketplace): 修正 marketplace.json 與正典註冊表不同步的欄位缺漏
為什麼:
`.claude-plugin/marketplace.json` 與 `.agents/plugins/marketplace.json` 兩份檔案內容與 `plugins/jsc` 正典 marketplace 註冊表不一致,導致各 domain repo 的 marketplace 副本無法保持逐位元組同步。
做了什麼:
補上 `.agents/plugins/marketplace.json` 缺漏的頂層 `description`、`owner` 物件的 `description`,以及全部 11 個外掛(含 jsc-hooks 本身)缺漏的 per-plugin `description` 欄位;同時修正 `.claude-plugin/marketplace.json` 中 jsc-meta 描述的標點不一致問題,將斜線改為中文頓號,與正典風格一致。
怎麼做:
逐欄位比對正典 `plugins/jsc/marketplace.json` 內容,補齊並修正兩份檔案至與正典完全一致。
影響範圍:
`.claude-plugin/marketplace.json`、`.agents/plugins/marketplace.json`,屬全 repo 範圍的基礎設施修正,不影響任何 skill 邏輯或執行行為。
|
2026-08-24 14:47:36 +08:00 |
|
admin
|
125005d59d
|
Merge pull request 'feat/sdlc-model-lock-and-wrapper' (#5) from feat/sdlc-model-lock-and-wrapper into develop
Reviewed-on: #5
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-24 03:47:22 +00:00 |
|
 jiantw83andClaude Fable 5
|
aae0516cb5
|
chore(manifest): 三份 manifest 升版至 0.0.3
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 版本由 0.0.2 升至 0.0.3,描述補上「SDLC 模型鎖」。
Why:本次新增 SDLC 模型鎖 hook 與 wrapper 工具屬功能擴充,需升版讓各 CLI 的 plugin 更新機制抓到新版本,描述也要反映新能力。
How:三份 manifest 同步改 version 與 description,維持欄位結構不變。
Who:透過 jsc marketplace 安裝 jsc-hooks 的所有 AI CLI 與 jsc-cli:deploy 佈署流程。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-24 11:37:08 +08:00 |
|
 jiantw83andClaude Fable 5
|
bdfb4619af
|
docs(hooks-install): 更新四支 hook 的接線說明與文件
What:hooks-install SKILL.md 改寫接線表並加上逐 CLI 驗證欄;README 補上 sdlc-gate、tools 兩支腳本與 JSC_MODEL 變數說明;AGENTS.md 同步 domain 描述。
Why:新增 SDLC 模型鎖與 wrapper 方案後,安裝流程與環境變數契約已改變,文件必須與實作一致,否則接線技能會漏裝。
How:接線表改為三欄(CLI、接線、驗證),copilot 與 antigravity 改兩段式(jsc-wrap.sh 包裝+規則檔追加),codex 與 kiro 註明模型鎖降級為技能步驟檢查;每步補上完成判準。
Who:執行 hooks-install 技能的 AI 助理與維護 jsc-hooks domain 的開發者。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-24 11:36:54 +08:00 |
|