aegisai / init_aegisai.sh
init_aegisai.sh
Raw
#!/usr/bin/env bash
set -e

ROOT="aegisai"

safe_touch() {
  for file in "$@"; do
    mkdir -p "$(dirname "$file")"
    if [ -f "$file" ]; then
      echo "⏭ Skipped: $file"
    else
      touch "$file"
      echo "✅ Created: $file"
    fi
  done
}

# Root
mkdir -p "$ROOT"

# ---------------- Backend ----------------
mkdir -p \
"$ROOT/backend/agents" \
"$ROOT/backend/services" \
"$ROOT/backend/config" \
"$ROOT/backend/api" \
"$ROOT/backend/utils"

safe_touch \
"$ROOT/backend/agents/__init__.py" \
"$ROOT/backend/agents/base_agent.py" \
"$ROOT/backend/agents/vision_agent.py" \
"$ROOT/backend/agents/planner_agent.py" \
"$ROOT/backend/services/__init__.py" \
"$ROOT/backend/services/database_service.py" \
"$ROOT/backend/services/action_executor.py" \
"$ROOT/backend/config/__init__.py" \
"$ROOT/backend/config/settings.py" \
"$ROOT/backend/api/__init__.py" \
"$ROOT/backend/api/routes.py" \
"$ROOT/backend/utils/__init__.py" \
"$ROOT/backend/utils/logger.py" \
"$ROOT/backend/main.py" \
"$ROOT/backend/requirements.txt" \
"$ROOT/backend/Dockerfile"

# ---------------- Frontend ----------------
mkdir -p \
"$ROOT/frontend/src/components/Dashboard" \
"$ROOT/frontend/src/hooks" \
"$ROOT/frontend/src/services" \
"$ROOT/frontend/src/types"

safe_touch \
"$ROOT/frontend/src/components/VideoFeed.tsx" \
"$ROOT/frontend/src/components/Dashboard.tsx" \
"$ROOT/frontend/src/components/Dashboard/StatsCards.tsx" \
"$ROOT/frontend/src/hooks/useMonitoring.ts" \
"$ROOT/frontend/src/hooks/useCamera.ts" \
"$ROOT/frontend/src/services/geminiService.ts" \
"$ROOT/frontend/src/types/index.ts" \
"$ROOT/frontend/src/App.tsx" \
"$ROOT/frontend/src/index.tsx" \
"$ROOT/frontend/package.json" \
"$ROOT/frontend/vite.config.ts" \
"$ROOT/frontend/tsconfig.json" \
"$ROOT/frontend/Dockerfile"

# ---------------- Root Files ----------------
safe_touch \
"$ROOT/docker-compose.yml" \
"$ROOT/.env.example" \
"$ROOT/.gitignore" \
"$ROOT/README-REFACTORED.md" \
"$ROOT/QUICKSTART.md" \
"$ROOT/DEPLOYMENT.md"

echo "🎉 Refactored structure initialized safely."