Files
hooks/AGENTS.md
T
jiantw83 c1f2a5d728 docs(hooks): README 與 AGENTS 補上部署後重啟閘門與狀態檔格式
What:`README.md` 五處增修:hook 表新增 `hooks/restart-gate.sh` 一列,`session-timer.sh` 那一列補上會清除閘門、`wire-cli.sh` 那一列補上冒煙新增的判定路徑;覆蓋範圍那段的「七支」改「八支」並補上四個 CLI 接不上重啟閘門的後果;新增「部署後重啟狀態檔」一節,用表列出四個欄位與範例,寫明誰寫誰讀;環境變數表新增 `JSC_RESTART_GATE` 一列;`hooks-install` 段落同步。`AGENTS.md` 的 domain 一句話說明補上「部署後強制重啟閘門」。

Why:狀態檔的格式是 `jsc-hooks` 與 `jsc-cli` 兩邊的介面。介面只寫在腳本註解裡,另一邊改的時候看不到,格式一走鐘閘門就掛不上——這次就真的發生過:`jsc-cli` 寫四欄 TSV、這邊讀 `key=value`,狀態檔存在卻解不出欄位。覆蓋範圍也要據實寫,八支 hook 只有 claude 全接得上。

How:格式壓到最簡的純文字 `key=value`,一行一欄位,順序不拘,不認得的鍵一律忽略,與工作包狀態檔同一套寫法,兩邊各自實作也對得上。表只寫欄位與範例,判定規則寫在表底下:判定看檔案在不在、欄位只用在擋人訊息上、寫的一律是 `jsc-cli:deploy`、清的一律是 `session-timer.sh`,而且判準留在 `session-timer.sh`、狀態檔留在 `restart-gate.sh`,兩邊都不抄對方那一半。

Who:讀 `jsc-hooks` 說明的人,以及 `jsc-cli` 那一側寫 `deploy.sh` 的人。
2026-08-27 16:34:17 +08:00

2.5 KiB
Raw Blame History

jsc-hooks — 給 AI 助理的指引

本 repo 是 jsc 技能組的 hooks domain(跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、部署後強制重啟閘門、註解範圍檢查、繁中與編碼檢查),可同時被 Claude Code / Codex / Copilot / Antigravity / Kiro 使用。

規則

  1. 所有交談與輸出內容使用 STE100 繁體中文,帶擬人台灣感:短句、一句一指令、台灣用語、全形標點、去 AI 味、直接講重點。完整規則的唯一來源:plugins/meta 的 references/ste100.md。
  2. 技能位於 skills/{name}/SKILL.md;處理任務前先比對需求與各技能的 description,相符就載入並依其步驟執行。
  3. 技能準則的唯一來源:plugins/meta 存取庫的 references/guidelines.md。
  4. 所有 hook 只放在 jsc-hooks;gitea 操作一律經由 jsc-gitea 的 tools/gitea.sh;問使用者一律依 jsc-ask:ask 的決策樹規則。
  5. 註解範圍規則正文的唯一來源:jsc-review 的 references/comment-scope.md。本存取庫只放 hooks/comment-scope.sh 的判定實作,不留規則清單副本,接線腳本要用規則文字時一律取腳本的實際輸出。comment-scope.sh 有 prompt、無參數逐檔掃描、sweep 掃整個 git 工作區三種模式;掃描時機每個 CLI 都不同(claude 逐檔即時、codex 每輪結束、kiro 每輪提示送出時、copilot 與 antigravity 只有工作階段結束時),談覆蓋範圍時一律據實分開講,不得寫成五支一樣。
  6. 所有非程式碼輸出一律繁體中文、UTF-8、無亂碼、無簡體字:程式碼註解、commit 訊息、PR 描述、wiki 頁、對使用者的回報、README 與各種文件都算。規則正文的唯一來源同樣是 plugins/meta 的 references/ste100.md,本存取庫只放 hooks/lang-guard.sh 的判定實作與 hooks/simplified.txt 的機檢字表。那份字表是本存取庫的單一真實來源,刻意排除繁體也在用的字(后、台、干、只、里、面、制、志),增刪前先確認不會製造誤報。lang-guard.sh 的三種模式與掃描時機跟 comment-scope.sh 一致,但它掃整個檔案而不只掃註解行,.md 與純文字檔也照掃。
  7. 主 agent 不需要處理細節的流程,一律建立 sub agent 處理。

呼叫慣例

Claude Code / Antigravity:/jsc-hooks:{name};Codex:$name;Copilot / Kiro / OpenCode:描述需求自動觸發。