Initial commit: Clean DSS implementation

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
This commit is contained in:
Digital Production Factory
2025-12-09 18:45:48 -03:00
commit 276ed71f31
884 changed files with 373737 additions and 0 deletions

102
tools/discovery/discover-ports.sh Executable file
View File

@@ -0,0 +1,102 @@
#!/bin/bash
#
# DSS - Service & Port Discovery
# Lists running services, bound ports, and process relationships
#
set -e
# Get listening ports
get_listening_ports() {
local ports=()
# Use ss if available, fallback to netstat
if command -v ss &> /dev/null; then
while IFS= read -r line; do
local port=$(echo "$line" | awk '{print $5}' | grep -oE '[0-9]+$')
local process=$(echo "$line" | awk '{print $7}' | sed 's/users:(("//' | sed 's/",.*//')
if [[ -n "$port" && "$port" =~ ^[0-9]+$ ]]; then
ports+=("{\"port\":$port,\"process\":\"$process\",\"state\":\"LISTEN\"}")
fi
done < <(ss -tlnp 2>/dev/null | tail -n +2)
elif command -v netstat &> /dev/null; then
while IFS= read -r line; do
local port=$(echo "$line" | awk '{print $4}' | grep -oE '[0-9]+$')
local process=$(echo "$line" | awk '{print $7}')
if [[ -n "$port" && "$port" =~ ^[0-9]+$ ]]; then
ports+=("{\"port\":$port,\"process\":\"$process\",\"state\":\"LISTEN\"}")
fi
done < <(netstat -tlnp 2>/dev/null | grep LISTEN)
fi
echo "${ports[@]}"
}
# Check common development ports
check_dev_ports() {
local common_ports=(
"3000:Node.js/React Dev"
"3456:DSS Worker"
"5000:Flask/Python"
"5173:Vite"
"8000:Django/FastAPI"
"8080:Generic HTTP"
"8888:Jupyter"
"9000:PHP-FPM"
"27017:MongoDB"
"5432:PostgreSQL"
"3306:MySQL"
"6379:Redis"
)
local status=()
for entry in "${common_ports[@]}"; do
local port="${entry%%:*}"
local name="${entry#*:}"
if ss -tln 2>/dev/null | grep -q ":$port " || netstat -tln 2>/dev/null | grep -q ":$port "; then
status+=("{\"port\":$port,\"name\":\"$name\",\"active\":true}")
fi
done
echo "${status[@]}"
}
# Get service health for known ports
check_health() {
local results=()
# Check DSS Worker
if curl -s --connect-timeout 2 "http://localhost:3456/health" > /dev/null 2>&1; then
local health=$(curl -s "http://localhost:3456/health" 2>/dev/null)
results+=("{\"service\":\"dss-worker\",\"port\":3456,\"healthy\":true,\"response\":$health}")
fi
# Check if port 8000 responds
if curl -s --connect-timeout 2 "http://localhost:8000" > /dev/null 2>&1; then
results+=("{\"service\":\"orchestrator\",\"port\":8000,\"healthy\":true}")
fi
echo "${results[@]}"
}
# Build output
listening=$(get_listening_ports)
dev_ports=$(check_dev_ports)
health=$(check_health)
listening_json=$(IFS=,; echo "${listening[*]}")
dev_json=$(IFS=,; echo "${dev_ports[*]}")
health_json=$(IFS=,; echo "${health[*]}")
cat <<EOF
{
"scan_type": "ports",
"timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
"hostname": "$(hostname)",
"listening_ports": [${listening_json:-}],
"dev_services": [${dev_json:-}],
"health_checks": [${health_json:-}]
}
EOF