#!/bin/sh # ControlBoard CLI installer. Usage: curl -fsSL https://controlboard.ai/install.sh | sh set -e BASE="$CONTROLBOARD_URL" if [ -z "$BASE" ]; then BASE="https://controlboard.ai"; fi LIB="$HOME/.controlboard" BIN="$HOME/.local/bin" if ! command -v node >/dev/null 2>&1; then echo "" >&2 echo "ControlBoard's CLI runs on Node.js 18+, which was not found on your PATH." >&2 echo "Install Node, then re-run: curl -fsSL $BASE/install.sh | sh" >&2 echo "" >&2 echo " macOS (Homebrew): brew install node" >&2 echo " Linux (nvm): https://github.com/nvm-sh/nvm#installing-and-updating" >&2 echo " Windows / any OS: https://nodejs.org/en/download" >&2 echo "" >&2 exit 1 fi NODE_MAJOR=$(node -v 2>/dev/null | sed 's/^v\([0-9]*\).*/\1/') if [ -n "$NODE_MAJOR" ] && [ "$NODE_MAJOR" -lt 18 ] 2>/dev/null; then echo "ControlBoard's CLI needs Node.js 18+, but found $(node -v)." >&2 echo "Upgrade Node (https://nodejs.org/en/download), then re-run." >&2 exit 1 fi mkdir -p "$LIB" "$BIN" echo "Downloading the ControlBoard CLI..." curl -fsSL "$BASE/cli/cb.mjs" -o "$LIB/cb.mjs" curl -fsSL "$BASE/mcp/controlboard-mcp.mjs" -o "$LIB/controlboard-mcp.mjs" cat > "$BIN/cb" <