#!/usr/bin/env sh # detect-clis.sh — 找出已安裝的 AI CLI 工具與執行檔路徑。 # 輸出(TSV): namepathversion(未安裝的不輸出) # 支援: 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 v=$("$p" "$3" 2>/dev/null | head -n1 | tr -d '\r') || v="" printf '%s\t%s\t%s\n' "$1" "$p" "$v" } probe claude claude --version probe codex codex --version probe copilot copilot --version probe antigravity agy --version probe kiro kiro-cli --version exit 0