Files
gh-alekspetrov-navigator/skills/product-design/setup.sh
2025-11-29 17:51:59 +08:00

96 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
#
# Navigator Product Design Skill - Setup Script
#
# Automatically installs Python dependencies and verifies Figma MCP connection.
#
# Usage:
# chmod +x setup.sh
# ./setup.sh
set -e
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
FUNCTIONS_DIR="$SKILL_DIR/functions"
echo "=========================================="
echo "Navigator Product Design Skill - Setup"
echo "=========================================="
echo ""
# Step 1: Check Python version
echo "[1/5] Checking Python version..."
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
PYTHON_MAJOR=$(echo "$PYTHON_VERSION" | cut -d. -f1)
PYTHON_MINOR=$(echo "$PYTHON_VERSION" | cut -d. -f2)
if [ "$PYTHON_MAJOR" -lt 3 ] || ([ "$PYTHON_MAJOR" -eq 3 ] && [ "$PYTHON_MINOR" -lt 10 ]); then
echo "❌ Python 3.10+ required (found $PYTHON_VERSION)"
exit 1
fi
echo "✅ Python $PYTHON_VERSION"
echo ""
# Step 2: Create virtual environment (optional but recommended)
echo "[2/5] Setting up Python environment..."
if [ ! -d "$SKILL_DIR/venv" ]; then
echo "Creating virtual environment..."
python3 -m venv "$SKILL_DIR/venv"
echo "✅ Virtual environment created at $SKILL_DIR/venv"
else
echo "✅ Virtual environment already exists"
fi
# Activate venv
source "$SKILL_DIR/venv/bin/activate"
echo ""
# Step 3: Install dependencies
echo "[3/5] Installing Python dependencies..."
pip install --quiet --upgrade pip
pip install --quiet -r "$SKILL_DIR/requirements.txt"
echo "✅ Dependencies installed (mcp>=1.2.1)"
echo ""
# Step 4: Verify Figma Desktop is running
echo "[4/5] Checking Figma Desktop status..."
if command -v lsof &> /dev/null; then
if lsof -i :3845 &> /dev/null; then
echo "✅ Figma MCP server detected (port 3845)"
else
echo "⚠️ Figma MCP server not detected"
echo " Please ensure:"
echo " 1. Figma Desktop app is running"
echo " 2. MCP server enabled: Figma → Preferences → Enable local MCP Server"
echo " 3. You are logged into Figma"
echo ""
echo " Setup will continue, but MCP features won't work until Figma is running."
fi
else
echo "⚠️ Cannot check port (lsof not available)"
echo " Please manually verify Figma Desktop is running"
fi
echo ""
# Step 5: Test MCP connection
echo "[5/5] Testing Figma MCP connection..."
python3 "$FUNCTIONS_DIR/test_mcp_connection.py" 2>&1
echo ""
echo "=========================================="
echo "✅ Setup Complete!"
echo "=========================================="
echo ""
echo "Next steps:"
echo " 1. Ensure Figma Desktop is running"
echo " 2. Enable MCP: Figma → Preferences → Enable local MCP Server"
echo " 3. Try the skill: \"Review this Figma design: [URL]\""
echo ""
echo "To activate the virtual environment manually:"
echo " source $SKILL_DIR/venv/bin/activate"
echo ""
echo "Documentation:"
echo " - SKILL.md: Skill usage guide"
echo " - functions/figma_mcp_client.py: MCP client API"
echo ""