#!/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."