Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm
Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)
Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability
Migration completed: $(date)
🤖 Clean migration with full functionality preserved
89 lines
2.5 KiB
Bash
Executable File
89 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# DSS MCP Plugin Dependency Installer
|
|
#
|
|
# Automatically discovers and installs dependencies for all plugins
|
|
# in the dss_mcp/plugins/ directory.
|
|
#
|
|
# Usage:
|
|
# ./tools/install_plugin_deps.sh # Install all plugin dependencies
|
|
# ./tools/install_plugin_deps.sh --check # Check for dependency files only
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PLUGINS_DIR="$SCRIPT_DIR/dss_mcp/plugins"
|
|
CHECK_ONLY=false
|
|
|
|
# Parse arguments
|
|
if [[ "$1" == "--check" ]]; then
|
|
CHECK_ONLY=true
|
|
fi
|
|
|
|
echo "======================================"
|
|
echo "DSS MCP Plugin Dependency Installer"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Find all plugin requirements files
|
|
REQUIREMENTS_FILES=()
|
|
while IFS= read -r -d '' file; do
|
|
REQUIREMENTS_FILES+=("$file")
|
|
done < <(find "$PLUGINS_DIR" -name "requirements.txt" -print0 2>/dev/null)
|
|
|
|
if [ ${#REQUIREMENTS_FILES[@]} -eq 0 ]; then
|
|
echo "✓ No plugin dependencies found (no requirements.txt files)"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Found ${#REQUIREMENTS_FILES[@]} plugin(s) with dependencies:"
|
|
echo ""
|
|
|
|
for req_file in "${REQUIREMENTS_FILES[@]}"; do
|
|
plugin_name=$(basename "$(dirname "$req_file")")
|
|
echo " • $plugin_name"
|
|
echo " └─ $req_file"
|
|
done
|
|
|
|
echo ""
|
|
|
|
if [ "$CHECK_ONLY" = true ]; then
|
|
echo "✓ Check complete (use without --check to install)"
|
|
exit 0
|
|
fi
|
|
|
|
# Install dependencies
|
|
echo "Installing dependencies..."
|
|
echo ""
|
|
|
|
for req_file in "${REQUIREMENTS_FILES[@]}"; do
|
|
plugin_name=$(basename "$(dirname "$req_file")")
|
|
|
|
echo "──────────────────────────────────────"
|
|
echo "Installing: $plugin_name"
|
|
echo "──────────────────────────────────────"
|
|
|
|
# Show what will be installed
|
|
echo "Dependencies:"
|
|
cat "$req_file" | sed 's/^/ • /'
|
|
echo ""
|
|
|
|
# Install with pip
|
|
if pip3 install -r "$req_file"; then
|
|
echo "✓ Successfully installed dependencies for $plugin_name"
|
|
else
|
|
echo "✗ Failed to install dependencies for $plugin_name"
|
|
echo " Please check $req_file for conflicts"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
done
|
|
|
|
echo "======================================"
|
|
echo "✓ All plugin dependencies installed"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Restart DSS MCP server: supervisorctl restart dss-mcp"
|
|
echo " 2. Verify plugins loaded: Check server logs"
|