docs(cli): 把結束碼約定寫進腳本檔頭,README 跟著對齊
detect-clis.sh 與 list-models.sh 一律回零:找不到執行檔,或讀不到設定檔, 都只是少掉那一列,不算失敗。這個約定過去只存在讀過腳本的人腦袋裡。 呼叫端很容易拿結束碼去判斷「這台機器有沒有裝 CLI」,然後永遠判斷錯。 現在把它寫在檔頭,兩支腳本的行為都不動。 README 的腳本表與技能說明同步更新,讀 README 的人看到的流程,才跟技能 裡實際寫的一致。
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
# detect-clis.sh — 找出已安裝的 AI CLI 工具與執行檔路徑。
|
||||
# 輸出(TSV): name<TAB>path<TAB>version(未安裝的不輸出)
|
||||
# 支援: claude / codex / copilot / antigravity(agy) / kiro
|
||||
# 結束碼: 0=一律回 0。probe 找不到執行檔就跳過那一列,不算失敗,所以沒有其他碼。
|
||||
# 一台機器一個 CLI 都沒裝也是 0,只是不輸出任何一列。呼叫端要看輸出有幾列,
|
||||
# 不要拿結束碼判斷有沒有裝到 CLI。
|
||||
set -u
|
||||
probe() { # $1=顯示名 $2=執行檔名 $3=版本參數
|
||||
p=$(command -v "$2" 2>/dev/null) || return 0
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
# kiro ~/.kiro/settings/cli.json,退回 ~/.config/kiro/settings.json
|
||||
# 五個 CLI 都沒有「列出可用模型」的指令,所以清單只到設定檔寫出來的模型。
|
||||
# 沒有列的 CLI 由 skills/models 的 sub agent 補上預設模型並標註「預設推定」。
|
||||
# 結束碼: 0=一律回 0。設定檔不存在、讀不到或裡面沒寫模型,都只是少掉那個 CLI 的列,
|
||||
# 不算失敗,所以沒有其他碼。呼叫端要看輸出有沒有該 CLI 的列,
|
||||
# 不要拿結束碼判斷讀不讀得到設定檔。
|
||||
set -u
|
||||
|
||||
# 取第一個存在的檔案;都不存在就不印。
|
||||
|
||||
Reference in New Issue
Block a user