# task-2120: InsuRo Cloudflare Pages 빌드에 환경변수 반영 — .env.production 생성

## ★ 프로젝트: `/home/jay/projects/InsuRo/`

## 근본 원인 (아누 디버깅 완료)
- Cloudflare Pages 환경변수가 `process.env`에 설정되지만, Vite는 `import.meta.env` 치환 시 `.env` 파일을 우선 참조
- `.env`가 git에서 제거돼서(task-2115) Vite가 `VITE_INSURO_API_URL`을 못 찾음
- 결과: fallback URL `aidevserver.tail2cdab6.ts.net:10000`이 빌드에 하드코딩

## 해결 방법

### 방법 A (권장): vite.config.ts에서 process.env 명시적 매핑
```typescript
// vite.config.ts
export default defineConfig({
  define: {
    'import.meta.env.VITE_INSURO_API_URL': JSON.stringify(process.env.VITE_INSURO_API_URL || ''),
  },
  // ... 기존 설정
});
```
이렇게 하면 Cloudflare Pages의 환경변수가 Vite 빌드에 반영됨.

### 방법 B: .env.production 파일 생성 (git 추적)
- `.env.production` 파일에 프로덕션 환경변수를 넣고 git에 커밋
- 민감정보(키)는 제외하고 URL만 포함
```
VITE_INSURO_API_URL=https://api.insuro.biz
```
- `.gitignore`에서 `.env.production`을 제외 (이미 `!.env.example` 패턴 존재)

### 방법 C: 빌드 명령어에 환경변수 전달
Cloudflare Pages 빌드 명령을 변경:
```
VITE_INSURO_API_URL=https://api.insuro.biz npm install && npm run build
```

## 권장: 방법 A + B 조합
- vite.config.ts에서 process.env 매핑 (모든 VITE_ 변수)
- .env.production에 공개 가능한 URL 설정 (fallback)

## ★ 먼저 읽을 파일
- `/home/jay/projects/InsuRo/vite.config.ts` — 현재 설정
- `/home/jay/projects/InsuRo/src/config/api.ts` — INSURO_API_BASE

## 완료 시그니처
- `npm run build` 후 dist의 api 청크에 `api.insuro.biz` 포함
- `aidevserver` 문자열 dist에 없음
- Cloudflare Pages 재배포 후 insuro.biz에서 키워드 검색 정상

## 레벨
- critical

## 프로젝트
- insuro
