Files
Portfolio/.auto-claude/specs/019-fix-readme-inaccuracies-and-add-missing-setup-docu/project_index.json
T
2026-01-25 19:39:17 +01:00

60 lines
1.6 KiB
JSON

{
"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-..."
}
}
}