diff --git a/install.sh b/install.sh index 6872c55..c11d63c 100755 --- a/install.sh +++ b/install.sh @@ -127,36 +127,40 @@ detect_agents() { fi } - _detect_gemini() { - command -v gemini &>/dev/null && return 0 - local prefix - prefix=$(npm config get prefix 2>/dev/null) || return 1 - [[ -n "$prefix" && -f "${prefix}/bin/gemini" ]] + # Cherche un binaire dans les répertoires courants : PATH, npm-global, nvm, local + _find_bin() { + local bin="$1" + command -v "$bin" &>/dev/null && return 0 + [[ -f "$HOME/.npm-global/bin/$bin" ]] && return 0 + [[ -f "$HOME/.local/bin/$bin" ]] && return 0 + # nvm : toutes les versions node installées + find "$HOME/.nvm/versions/node" -name "$bin" -path "*/bin/$bin" 2>/dev/null | grep -q . && return 0 + return 1 } # claude-code - if [[ -d "$HOME/.claude" ]] || command -v claude &>/dev/null; then + if [[ -d "$HOME/.claude" ]] || _find_bin "claude"; then _add_agent "claude-code" else _skip_agent "claude-code" fi # gemini-cli - if _detect_gemini; then + if _find_bin "gemini"; then _add_agent "gemini-cli" else _skip_agent "gemini-cli" fi # codex - if command -v codex &>/dev/null || [[ -f "$HOME/.npm-global/bin/codex" ]]; then + if _find_bin "codex"; then _add_agent "codex" else _skip_agent "codex" fi # hermes - if command -v hermes &>/dev/null || [[ -f "$HOME/.local/bin/hermes" ]]; then + if _find_bin "hermes"; then _add_agent "hermes" else _skip_agent "hermes"