diff --git a/claude-dev/required-tools.txt b/claude-dev/required-tools.txt index 6aac3e2..3c83bbb 100644 --- a/claude-dev/required-tools.txt +++ b/claude-dev/required-tools.txt @@ -1,6 +1,6 @@ bash ca-certificates -openssh-client +ssh gh git jq @@ -19,5 +19,3 @@ make tmux tea claude -socat - diff --git a/claude-dev/scripts/smoke-tools.sh b/claude-dev/scripts/smoke-tools.sh index 919360b..b76b289 100644 --- a/claude-dev/scripts/smoke-tools.sh +++ b/claude-dev/scripts/smoke-tools.sh @@ -8,11 +8,21 @@ if [[ ! -f "$TOOLS_FILE" ]]; then exit 1 fi +# Special packages that aren't standalone binaries +declare -A SPECIAL_CHECKS=( + ["ca-certificates"]="test -f /etc/ssl/certs/ca-certificates.crt" +) + missing=() while IFS= read -r tool; do [[ -z "$tool" ]] && continue [[ "$tool" =~ ^# ]] && continue - if ! command -v "$tool" >/dev/null 2>&1; then + + if [[ -n "${SPECIAL_CHECKS[$tool]:-}" ]]; then + if ! eval "${SPECIAL_CHECKS[$tool]}" >/dev/null 2>&1; then + missing+=("$tool") + fi + elif ! command -v "$tool" >/dev/null 2>&1; then missing+=("$tool") fi done < "$TOOLS_FILE"