cxpak 1.1.0

Spends CPU cycles so you don't spend tokens. The LLM gets a briefing packet instead of a flashlight in a dark room.
Documentation
#!/usr/bin/env bash
set -euo pipefail

REQUIRED_VERSION="1.1.0"

version_matches() {
    local installed
    installed="$("$1" --version 2>/dev/null | awk '{print $2}')" || return 1
    [ "$installed" = "$REQUIRED_VERSION" ]
}

# 1. Check PATH
if command -v cxpak >/dev/null 2>&1 && version_matches "$(command -v cxpak)"; then
    echo "$(command -v cxpak)"
    exit 0
fi

# 2. Check brew prefix directly (cargo may shadow brew on PATH)
if command -v brew >/dev/null 2>&1; then
    BREW_BIN="$(brew --prefix)/bin/cxpak"
    if [ -x "$BREW_BIN" ] && version_matches "$BREW_BIN"; then
        echo "$BREW_BIN"
        exit 0
    fi

    # 3. Auto-install via Homebrew
    echo "cxpak: installing v${REQUIRED_VERSION} via Homebrew..." >&2
    brew tap Barnett-Studios/tap >/dev/null 2>&1 || true
    brew update >/dev/null 2>&1 || true
    brew upgrade cxpak >/dev/null 2>&1 || brew install cxpak >/dev/null 2>&1 || true
    if [ -x "$BREW_BIN" ] && version_matches "$BREW_BIN"; then
        echo "$BREW_BIN"
        exit 0
    fi
fi

echo "cxpak v${REQUIRED_VERSION} not found." >&2
echo "" >&2
echo "Install:" >&2
echo "  brew tap Barnett-Studios/tap && brew install cxpak" >&2
echo "  cargo install cxpak" >&2
exit 1