#!/usr/bin/env bash # Install all project dependencies — run after check-toolchain.sh for a plan. # Usage: ./scripts/install-deps.sh set -euo pipefail RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' cmd() { echo -e " ${YELLOW}→${NC} $*"; "$@"; } skip() { echo -e " ${GREEN}✓${NC} $1 (already installed)"; } fail() { echo -e " ${RED}✗${NC} $1"; exit 1; } echo "=== Installing Dependencies ===" echo "" # ─── mise tools ───────────────────────────────────────────────────────── echo "mise tools (go, node, golangci-lint):" if command -v mise &>/dev/null; then cmd mise install else fail "mise not found — run: curl https://mise.run | sh" fi echo "" # ─── web/ui JS deps ───────────────────────────────────────────────────── echo "web/ui npm deps (eslint):" if [ -f web/ui/package.json ]; then cmd cd web/ui && npm install else skip "web/ui npm deps" fi echo "" # ─── electron deps ────────────────────────────────────────────────────── echo "electron npm deps:" if [ -f electron/package.json ]; then cmd cd electron && npm install else skip "electron npm deps" fi echo "" echo "=== Install complete ==="