47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
# jsc-hooks — 跨 CLI Hooks
|
||
|
||
jsc 技能組的 hooks domain:所有 hook **只放在這個 repo**(技能準則)。腳本為 POSIX shell,同時支援 stdin JSON(Claude 格式)與環境變數輸入,適用 claude / codex / copilot / antigravity / kiro。
|
||
|
||
## 安裝
|
||
|
||
```bash
|
||
claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/hooks.git
|
||
claude plugin install jsc-hooks@hooks
|
||
```
|
||
|
||
其他 CLI(codex / copilot / antigravity / kiro)與批次安裝、更新、解除安裝:使用 `/jsc-cli:deploy`。
|
||
|
||
## Hooks
|
||
|
||
| 腳本 | 事件 | 作用 |
|
||
| --- | --- | --- |
|
||
| `hooks/ste100-guard.sh` | UserPromptSubmit | 注入 STE100 繁體中文輸出規則(hook > prompt 強制層) |
|
||
| `hooks/session-timer.sh` | SessionStart / Stop / SessionEnd | 記錄工作階段起訖;`report` 子指令供 `jsc-log:worklog` 取花費時間 |
|
||
| `hooks/skill-usage.sh` | PostToolUse(Skill) | 記錄技能使用與呼叫鏈到 `$JSC_HOME/usage/*.jsonl`,供 `jsc-log:stats` 統計 |
|
||
|
||
Claude 由 `hooks/hooks.json` 自動接線;其他 CLI 用 `hooks-install` 技能接線或降級為規則檔。
|
||
|
||
## Skills 目錄
|
||
|
||
呼叫方式:Claude / Antigravity `/jsc-hooks:{name}`;Codex `${name}`;Copilot / Kiro 描述需求自動觸發。
|
||
|
||
<!-- JSC-SKILLS:START -->
|
||
|
||
### `hooks-install`
|
||
|
||
把三支 hook 接線到所有已安裝的 CLI:偵測 CLI 後逐一套用原生 hook 設定,無 hook 系統的 CLI 降級為規則檔(以 `<!-- jsc-hooks -->` 標記整段取代,不重複追加)。
|
||
|
||
<!-- JSC-SKILLS:END -->
|
||
|
||
## 環境變數
|
||
|
||
| 變數 | 用途 | 未設定時 |
|
||
| --- | --- | --- |
|
||
| `JSC_HOME` | Hook 資料目錄 | 預設 `~/.jsc` |
|
||
| `JSC_CLI` / `JSC_SESSION_ID` / `JSC_SKILL` | 非 Claude CLI 接線時由 wrapper 設定 | 安靜降級 |
|
||
|
||
## 相關 domain
|
||
|
||
- `jsc-cli`:CLI 偵測(`tools/detect-clis.sh`)
|
||
- `jsc-log`:讀取本 domain 產出的工時與用量資料
|