replica-deploy은(는) 무엇을 하나요?
replica/의 모든 내용을 읽습니다. replica/deploy.md(이 폴더의 preflight.md에 있는 체크리스트를 채운 것)를 작성합니다.
규칙
- 사용자의 승인 없이 라이브로 전환하지 않습니다. 사전 점검 결과를 보여주고 물어보세요.
- 사용자가 구매하고 로그인합니다. 에이전트는 도메인을 구매하거나, 카드를 입력하거나, 비밀번호를 입력하거나, 라이브 키를 붙여넣지 않습니다. 에이전트는 정확한 DNS 레코드, 환경 변수 이름 및 명령어를 작성하고, 사용자가 계정 단계를 수행합니다.
- 리브랜딩이 완료될 때까지 기다립니다. 정리 작업이 완전히 깨끗해야 합니다. 예외는 없습니다.
1단계: 사전 점검
모든 점검을 실행하고 결과를 deploy.md에 붙여넣습니다:
npx playwright test # replica-test
python3 .cursor/skills/replica-diff/parity.py replica/features.csv # must-haves done
python3 .cursor/skills/replica-brand/sweep.py . --config replica/brand.json # exit 0: clean
python3 .cursor/skills/replica-launch/listing.py replica/launch/listing.json # if shipping to stores
npm run build # production build passes
(경로는 패키지가 프로젝트 루트의 .cursor/skills/에 있다고 가정합니다. 폴더를 다른 곳에 복사했다면 python3 명령어의 경로를 해당 경로로 지정하세요.)
추가로 수동 확인 사항: S1 또는 S2 버그가 열려 있지 않음, 개인정보 처리방침 및 이용약관 페이지가 라이브 상태(모든 처리업체 나열), EU 또는 영국에서 비필수 쿠키를 사용하는 경우 쿠키 배너, 계정 삭제 기능 작동, 파비콘, 제목 및 OG 이미지가 사용자 소유여야 합니다.
실패 시 배포가 중단됩니다. 어떤 사항이 실패했는지와 그 이유를 알려주세요.
2단계: 프로덕션 서비스
- 데이터베이스용 별도의 프로덕션 프로젝트(개발 프로젝트는 절대 사용 금지), 백업 활성화, 수동이 아닌 배포 시 마이그레이션 실행.
- 프로덕션 호스트에 환경 변수 설정,
.env.example과 일치. 라이브 키는 여기에만 있어야 합니다. - Stripe: 라이브 모드로 전환, 제품 및 가격 재생성, 프로덕션 웹훅 엔드포인트 및 서명 비밀 추가, 실제 구매 한 번 테스트 후 환불.
- OAuth: 모든 제공업체의 리디렉션 URI 및 승인된 출처에 프로덕션 도메인 추가. 인증이 필요한 Google 범위는 승인되어야 하며, 그렇지 않으면 테스트 사용자만 로그인할 수 있습니다.
- 이메일: 제공업체에서 발신 도메인 확인.
3단계: 호스트 및 도메인
기본값: Next.js는 Vercel(Netlify, Cloudflare Pages, Fly 또는 Render도 가능). main 브랜치가 배포되고 풀 리퀘스트가 미리보기 URL을 받도록 리포지토리를 연결하세요.
사용자가 레지스트라에서 도메인을 구매한 후:
| 레코드 | 이름 | 값 |
|---|---|---|
| A | @ | 호스트의 에이펙스 IP (Vercel: 도메인 설정에 표시됨) |
| CNAME | www | 호스트의 대상 (Vercel: cname.vercel-dns.com) |
| TXT | @ 또는 서브도메인 | 요청 시 호스트의 확인 값 |
이메일 제공업체의 이메일 DNS: SPF(TXT), DKIM(CNAME 또는 TXT), 그리고 v=DMARC1; p=none; rua=mailto:you@yourdomain로 시작하여 보고서가 깨끗해지면 quarantine으로 강화하는 DMARC 레코드. 이것들이 없으면 확인 이메일이 스팸으로 갑니다.
표준 호스트(apex 또는 www) 하나를 선택하고 다른 쪽으로 리디렉션하세요. 위 호스트에서는 HTTPS가 자동입니다. 확인하세요.
4단계: 모니터링
오류 추적(Sentry 또는 호스트 자체), 홈페이지 및 핵심 흐름 API의 가동 시간 확인, 로그 유지, 분석(개인정보 친화적인 도구는 쿠키 배너를 피함), 사용자 이메일 또는 전화로 알림. 그런 다음 라이브 사이트에서 직접 핵심 흐름을 수행하고 사용자에게 휴대폰에서도 수행하도록 요청하세요.
5단계: 모바일(앱이 있는 경우)
Expo: eas build 후 eas submit하여 TestFlight 및 Play 내부 테스트에 제출. 네이티브: Xcode에서 아카이브하여 App Store Connect에 업로드; Gradle 번들로 Play Console에 업로드. 사용자는 개발자 계정을 소유합니다(Apple은 연간 $99, Google은 일회성 $25). 먼저 베타, 그 다음 replica-launch의 리스팅과 함께 검토.
출력
replica/deploy.md에 모든 점검과 결과, 라이브 URL, 설정된 DNS 레코드, 첫 주에 주의할 사항이 포함됩니다. 이제 클론은 사용자의 이름이 붙은 앱이 되었습니다.