#!/bin/sh
# Claude Code wrapper that adds common directories

# Constants
readonly KEYCHAIN_PATH="${HOME}/Library/Keychains/login.keychain-db"
readonly SCRIPT_NAME="$(basename "${0}")"

# Check if keychain is already unlocked
if security show-keychain-info "${KEYCHAIN_PATH}" >/dev/null 2>&1; then
  echo "[${SCRIPT_NAME}] Keychain is already unlocked."
else
  echo "[${SCRIPT_NAME}] Keychain is locked. Unlocking..."

  # Retry loop until successful unlock
  while ! security unlock-keychain "${KEYCHAIN_PATH}"; do
    echo "[${SCRIPT_NAME}] Failed to unlock keychain. Please try again..." >&2
  done

  echo "[${SCRIPT_NAME}] Keychain unlocked successfully."
fi

exec claude -c --permission-mode=dontAsk \
    --add-dir /Volumes/Common/QJoon/llm/wdmaker/tools \
    --add-dir /Volumes/Scratch/Sites/CMass0/ \
    --add-dir /Volumes/Temp/WDMaker/ \
    "$@"
