{
  "project_type": "single",
  "services": {
    "frontend": {
      "path": ".",
      "tech_stack": ["next.js", "react", "typescript", "tailwindcss"],
      "port": 3000,
      "dev_command": "pnpm dev",
      "build_command": "pnpm build",
      "test_command": "pnpm test",
      "package_manager": "pnpm"
    }
  },
  "infrastructure": {
    "docker": true,
    "docker_compose": true,
    "docker_port": 3003,
    "database": "supabase",
    "hosting": "vercel",
    "ci_cd": false
  },
  "conventions": {
    "linter": "eslint",
    "formatter": "prettier",
    "testing": "vitest"
  },
  "environment_variables": {
    "NEXT_PUBLIC_SUPABASE_URL": {
      "required": true,
      "description": "Supabase project URL",
      "example": "https://xxxxx.supabase.co"
    },
    "NEXT_PUBLIC_SUPABASE_ANON_KEY": {
      "required": true,
      "description": "Supabase anonymous/public key",
      "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    },
    "NEXT_PUBLIC_GA_TRACKING_ID": {
      "required": false,
      "description": "Google Analytics 4 tracking ID",
      "example": "G-XXXXXXXXXX"
    },
    "NEXT_PUBLIC_SITE_URL": {
      "required": true,
      "description": "Production site URL",
      "example": "https://damjan-savic.com"
    },
    "NODE_ENV": {
      "required": false,
      "description": "Node environment (development/production)",
      "example": "production"
    },
    "OPENAI_API_KEY": {
      "required": false,
      "description": "OpenAI API key (optional, for future blog image generation features)",
      "example": "sk-..."
    }
  }
}
