#!/bin/sh
# Copyright (c) 2026 skillsvault. All rights reserved.
# skillsvault CLI installer — curl -fsSL https://skillsvault.io/install.sh | sh
set -e

REPO="${SKILLSVAULT_REPO:-skillsvault/skillsvault-skill}"   # public repo hosting the CLI release binaries
BIN="skillsvault"

OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
case "$ARCH" in
  x86_64|amd64) ARCH="amd64" ;;
  aarch64|arm64) ARCH="arm64" ;;
esac

DEST="${SKILLSVAULT_BIN_DIR:-/usr/local/bin}"
if [ ! -w "$DEST" ] 2>/dev/null; then DEST="$HOME/.local/bin"; fi
mkdir -p "$DEST"

URL="https://github.com/$REPO/releases/latest/download/skillsvault-${OS}-${ARCH}"
echo "→ installing skillsvault (${OS}/${ARCH}) into $DEST"

if curl -fsSL "$URL" -o "$DEST/$BIN" 2>/dev/null && [ -s "$DEST/$BIN" ]; then
  chmod +x "$DEST/$BIN"
  echo "✓ installed: $DEST/$BIN"
elif command -v go >/dev/null 2>&1; then
  echo "  release binary unavailable — building from source with go…"
  GOBIN="$DEST" go install "github.com/$REPO/cli@latest" && echo "✓ installed via go: $DEST/$BIN"
else
  echo "✗ could not install automatically (no release binary, and Go is not installed)."
  echo "  See https://skillsvault.io/docs for manual install."
  exit 1
fi

case ":$PATH:" in
  *":$DEST:"*) ;;
  *) echo "  note: add $DEST to your PATH (e.g. export PATH=\"$DEST:\$PATH\")" ;;
esac

echo ""
echo "Next: run  skillsvault login   (or  skillsvault login --key <key> --org <slug>)"
