共用函式庫與各支腳本的檔頭各補一段結束碼宣告,逐個子命令寫明哪些情況放行、 哪些情況擋下。說明文件改寫成九支 hook 的現況,補上寫入與提交閘門、唯讀模式、 建議子命令與新的環境變數。異常目錄範本補上「一律附加、不整頁覆蓋」的寫入語意。 呼叫端要靠結束碼決定下一步,但多數腳本只寫用法、沒寫結束碼, 讀的人得自己翻程式碼推,推錯就把安靜降級當成失敗處理。 共用函式庫載不到時,殼層會就地結束並回非零,接在工具呼叫前的閘門遇到這一下 等於無聲擋人,腳本自己的放行路徑一條都跑不到,這件事非寫進每一支檔頭不可。 文件停在八支 hook 的舊敘述,看的人會誤判覆蓋範圍,以為每支 CLI 都擋得住。 目錄頁的寫入語意只寫在腳本裡,換一支工具來寫就會整頁覆蓋。 一支腳本一段檔頭,逐子命令列出結束碼,並各自註明共用函式庫載入失敗會回哪一個碼。 文件的行數一律引用腳本自己印出來的那一行,不另抄一份數字, 判定路徑增減時就不會漂移。覆蓋範圍逐支 CLI 分開寫,接不上的就寫接不上。
13 lines
1.7 KiB
Bash
Executable File
13 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# ste100-guard.sh — 於每次使用者提示時注入語言規則(hook > prompt 的強制層)。
|
|
# Claude: UserPromptSubmit 的 stdout 會成為額外 context。
|
|
# 其他 CLI: 由 hooks-install 以各自的規則檔(AGENTS.md 等)落地,本腳本仍可被 wrapper 呼叫。
|
|
# 完整規則的唯一來源:jsc-meta 的 references/ste100.md。
|
|
#
|
|
# 結束碼:0=一律放行,而且只有這一種。本檔只把規則文字印到 stdout,不讀輸入、不碰檔案、
|
|
# 不載入 lib.sh,所以沒有任何擋人路徑,也沒有會冒出非零碼的降級路徑。
|
|
# UserPromptSubmit 的 stdout 會成為額外 context,這支的產出走的是 stdout,不是結束碼。
|
|
echo "[jsc] 輸出規則:STE100 繁體中文,擬人台灣感。適用範圍是所有非程式碼輸出——程式碼註解、commit 訊息、PR 描述、wiki 頁、對使用者的回報、README 與各種文件都算。短句、一句一指令、主動語態、術語一致;台灣用語(預設、支援、相容、資訊);全形標點;去 AI 味(不用「總的來說」「首先/其次/最後」開場收尾套路、不諂媚);直接講重點。一律 UTF-8 無亂碼、無簡體字,檔案不加 BOM。完整規則見 jsc-meta 的 references/ste100.md。"
|
|
echo "[jsc] 送出前自我檢查,命中任一項就先改再送出:1)簡體字(例:应、为、这、说、后、发);2)句尾用半形標點(. , ! ?),應為全形(。,!?);3)套路句(「總的來說」「綜上所述」「首先…其次…最後」);4)中文並列用半形「/」,應改頓號「、」;5)諂媚開場(「好問題」「當然可以」)。"
|
|
exit 0
|