釋出 hook 接線的路徑修正與本機事件流至 master,版本 0.3.8 升到 0.4.2 #81
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsc-hooks",
|
"name": "jsc-hooks",
|
||||||
"version": "0.3.9",
|
"version": "0.4.0",
|
||||||
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
||||||
"skills": "./skills",
|
"skills": "./skills",
|
||||||
"author": {
|
"author": {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"hooks": "./hooks/codex-hooks.json",
|
"hooks": "./hooks/codex-hooks.json",
|
||||||
"name": "jsc-hooks",
|
"name": "jsc-hooks",
|
||||||
"version": "0.3.9",
|
"version": "0.4.0",
|
||||||
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
||||||
"skills": "./skills",
|
"skills": "./skills",
|
||||||
"jsc": {
|
"jsc": {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsc-hooks",
|
"name": "jsc-hooks",
|
||||||
"version": "0.3.9",
|
"version": "0.4.0",
|
||||||
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
"description": "跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍守門、繁中編碼守門、部署後強制重啟、寫入與提交閘門",
|
||||||
"skills": "./skills/",
|
"skills": "./skills/",
|
||||||
"jsc": {
|
"jsc": {
|
||||||
|
|||||||
+24
-16
@@ -2302,22 +2302,30 @@ if [ "$action" = status ]; then
|
|||||||
if [ -n "$claude_root" ] && [ -f "$claude_hooks" ]; then st_item hooks.json "$claude_hooks" present
|
if [ -n "$claude_root" ] && [ -f "$claude_hooks" ]; then st_item hooks.json "$claude_hooks" present
|
||||||
else st_item hooks.json "${claude_hooks:-$HOME/.claude/plugins/installed_plugins.json}" missing; fi
|
else st_item hooks.json "${claude_hooks:-$HOME/.claude/plugins/installed_plugins.json}" missing; fi
|
||||||
# 九支 hook 全靠這一個檔宣告,只看檔案在不在會漏掉「檔在、某支沒接進去」。
|
# 九支 hook 全靠這一個檔宣告,只看檔案在不在會漏掉「檔在、某支沒接進去」。
|
||||||
# 後來才加進來的 comment-scope.sh、lang-guard.sh、restart-gate.sh 與 write-guard.sh
|
# 每一支都列一項,一支都不省。reason 那行講的是「全部九支」,列舉卻只挑幾支的話,
|
||||||
# 是最可能漏的四支,所以各列一項。
|
# 拿這份輸出驗收接線的人會把沒列到的當成沒接——模型能力鎖就是這樣被誤判成沒接線的。
|
||||||
if [ -f "$claude_hooks" ] && grep -qF 'comment-scope.sh' "$claude_hooks" 2>/dev/null
|
for _h in comment-scope lang-guard restart-gate skill-usage version-guard; do
|
||||||
then st_item comment-scope "$claude_hooks" present
|
if [ -f "$claude_hooks" ] && grep -qF "$_h.sh" "$claude_hooks" 2>/dev/null
|
||||||
else st_item comment-scope "$claude_hooks" missing; fi
|
then st_item "$_h" "$claude_hooks" present
|
||||||
if [ -f "$claude_hooks" ] && grep -qF 'lang-guard.sh' "$claude_hooks" 2>/dev/null
|
else st_item "$_h" "$claude_hooks" missing; fi
|
||||||
then st_item lang-guard "$claude_hooks" present
|
done
|
||||||
else st_item lang-guard "$claude_hooks" missing; fi
|
# 一支腳本接在多個接線點時,每個點各自是一件事,只驗腳本名會漏掉少接的那一個。
|
||||||
if [ -f "$claude_hooks" ] && grep -qF 'restart-gate.sh' "$claude_hooks" 2>/dev/null
|
# 三支這種腳本的接線點對照(左邊是項目名,右邊是 hooks.json 裡的子命令):
|
||||||
then st_item restart-gate "$claude_hooks" present
|
# write-guard stage、review、commit
|
||||||
else st_item restart-gate "$claude_hooks" missing; fi
|
# sdlc-gate check(階段模型鎖)、wp-check prompt、wp-check skill(工作包歸屬)
|
||||||
# write-guard.sh 接在兩個 matcher 上,三種模式各自是一件事,只驗腳本名會漏掉少接的那一個
|
# session-timer start、mark
|
||||||
for _m in stage review commit; do
|
for _p in "write-guard-stage write-guard.sh\\\" stage" \
|
||||||
if [ -f "$claude_hooks" ] && grep -qF "write-guard.sh\\\" $_m" "$claude_hooks" 2>/dev/null
|
"write-guard-review write-guard.sh\\\" review" \
|
||||||
then st_item "write-guard-$_m" "$claude_hooks" present
|
"write-guard-commit write-guard.sh\\\" commit" \
|
||||||
else st_item "write-guard-$_m" "$claude_hooks" missing; fi
|
"sdlc-gate-check sdlc-gate.sh\\\" check" \
|
||||||
|
"sdlc-gate-wp-prompt sdlc-gate.sh\\\" wp-check prompt" \
|
||||||
|
"sdlc-gate-wp-skill sdlc-gate.sh\\\" wp-check skill" \
|
||||||
|
"session-timer-start session-timer.sh\\\" start" \
|
||||||
|
"session-timer-mark session-timer.sh\\\" mark"; do
|
||||||
|
_name=${_p%% *}; _pat=${_p#* }
|
||||||
|
if [ -f "$claude_hooks" ] && grep -qF "$_pat" "$claude_hooks" 2>/dev/null
|
||||||
|
then st_item "$_name" "$claude_hooks" present
|
||||||
|
else st_item "$_name" "$claude_hooks" missing; fi
|
||||||
done ;;
|
done ;;
|
||||||
|
|
||||||
codex)
|
codex)
|
||||||
|
|||||||
Reference in New Issue
Block a user