Communitygithub.com

Ship Cloudflare Sites (Cloudflare 사이트 배포)

Cloudflare Workers 사이트(Next.js/OpenNext, Wrangler, D1, R2, 비밀, 도메인, 캐싱, 버전 관리 배포 포함)를 개발, 감사, 프로비저닝, 릴리스, 검증, 복구합니다. Cloudflare 사이트 설정, 배포 준비, 프로덕션 릴리스, 인프라 변경, 롤백, 반복 릴리스에 사용합니다. Pages 전용 호스팅이나 관련 없는 Cloudflare 제품에는 사용하지 마세요.

Ship Cloudflare Sites (Cloudflare 사이트 배포)란 무엇인가요?

이 스킬은 Cloudflare Workers를 기반으로 하는 웹사이트의 전체 라이프사이클(개발, 감사, 프로비저닝, 릴리스, 검증, 복구)을 자동화합니다. Next.js/OpenNext, Wrangler CLI, D1 데이터베이스, R2 객체 스토리지, 비밀(secrets), 커스텀 도메인, 캐싱 전략, 버전 관리 배포 등 Cloudflare 생태계의 핵심 구성 요소를 통합적으로 관리합니다. AI 에이전트(Claude Code, Cursor 등)가 사용자의 요청 범위와 저장소 증거를 바탕으로 적절한 운영 모드(감사/계획, 개발/구성, 프로비저닝, 릴리스, 복구)를 선택하여 실행합니다. 프로비저닝 시 계정, 존, 환경, 이름, 소유권을 확인하고 누락된 리소스만 생성합니다. 릴리스 시에는 단일 빌드 후 검증된 아티팩트를 배포하거나, 위험이 따르는 경우 버전 업로드 후 제어된 프로모션을 통해 점진적으로 릴리스합니다. 복구 시에는 알려진 정상 Worker 버전을 선택하고 D1 및 R2 상태는 별도로 처리합니다. 변경 불가능하거나 버전 관리되는 R2 키를 사용하여 장기 캐시 자산을 관리하고, Worker 커스텀 도메인과 R2 커스텀 도메인을 별도 리소스로 취급합니다. 모든 릴리스는 릴리스 ID, Git 커밋, 환경, Worker 및 스토리지 리소스 이름, 변경 사항, 게이트 결과, D1 마이그레이션, R2/도메인/캐시/비밀 변경, 스모크 테스트 결과, 롤백 대상을 포함한 완전한 레코드를 생성합니다. 게이트가 실패하면 안전하지 않은 작업을 중단하고 증거를 보존하며 남은 작업을 명시합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/amagnatema/ship-cloudflare-sites/tree/HEAD/skills/ship-cloudflare-sites

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Ship Cloudflare Sites v1.1 (Cloudflare 사이트 배포 v1.1)

저장소 증거와 사용자가 요청한 범위를 바탕으로 운영합니다. 배포 요청은 지정된 환경에 대한 일반적인 배포 워크플로를 승인합니다. 추가적인 파괴적이거나, 되돌릴 수 없거나, 실질적으로 더 광범위한 변경이 필요할 때만 질문합니다. 지정되지 않은 환경에서 프로덕션 대상을 추론하지 마십시오.

프로젝트 발견 (Discover the project)

  1. 리포지토리 지침을 읽고 편집 전에 현재 작업 트리를 검사합니다.
  2. scripts/audit-cloudflare-project.sh <project-root>를 실행하고 보고된 모든 차단 항목을 검사합니다.
  3. 프레임워크, 패키지 관리자, 어댑터, Worker 진입점, Wrangler 구성, 환경, 바인딩, 마이그레이션, 도메인, CI 경로, 비밀 이름을 파일(메모리 아님)에서 확인합니다.
  4. 리포지토리에 고정된 CLI를 사용합니다. 원격 변경 전에 가변적인 Cloudflare/OpenNext 동작을 로컬 --help 및 최신 공식 문서에서 확인합니다.
  5. 관련 참조만 읽습니다:

운영 모드 선택 (Choose the operating mode)

  • 감사/계획 (Audit/plan): 읽기 전용으로 유지합니다. 증거, 차단 항목, 위험, 정확한 다음 조치를 반환합니다.
  • 개발/구성 (Develop/configure): 로컬에서 편집하고 확인합니다. 사용자가 프로비저닝을 요청했거나 배포에 필요한 경우에만 원격 리소스를 생성합니다.
  • 프로비저닝 (Provision): 계정, 존, 환경, 이름, 의도된 소유권을 확인합니다. 누락된 리소스만 생성하고 반환된 ID를 선택한 구성에 저장합니다.
  • 릴리스 (Release): 한 번 빌드한 후 검증된 아티팩트를 배포합니다. 요청 시 위험이 낮은 릴리스에는 직접 배포를 사용하고, 위험이 따르거나 명시적으로 점진적인 릴리스에는 버전 업로드와 제어된 프로모션을 사용합니다.
  • 복구 (Recover): 알려진 정상 Worker 버전을 선택한 다음 D1 및 R2 상태를 별도로 처리합니다. Worker 버전에는 스토리지 상태가 포함되지 않습니다.

불변 안전장치 적용 (Apply invariant safeguards)

  • 로컬, 프리뷰/스테이징, 프로덕션 리소스를 구분합니다. 모든 원격 명령의 대상을 명시적으로 지정합니다.
  • 비밀 값을 소스, 출력, 스크린샷, 셸 인수에 포함하지 마십시오. 이름과 존재 여부만 보고합니다.
  • 릴리스 전에 더티 작업 트리를 검토합니다. 관련 없는 사용자 변경 사항을 폐기, 커밋, 배송하지 마십시오.
  • D1 변경 사항을 순서 있는 마이그레이션으로 모델링하고 릴리스 전반에 걸쳐 확장/백필/축소를 선호합니다.
  • 장기 캐시 자산에는 변경 불가능하거나 버전 관리되는 R2 키를 사용합니다. 덮어쓰기, 삭제, CORS 변경, 캐시 제거를 하나의 조정된 변경으로 처리합니다.
  • Worker 커스텀 도메인과 R2 커스텀 도메인을 별도의 리소스로 취급합니다. apex, www, 정식 리디렉션, 인증서, 애셋 호스트 이름을 독립적으로 확인합니다.
  • 업로드를 성공적인 릴리스라고 부르지 마십시오. 공개 호스트 이름, 중요 경로, D1 기반 동작, 대표 R2 객체 하나, 배포 후 로그를 확인합니다.

릴리스 레코드 생성 (Produce a release record)

반환:

  • 릴리스 ID, Git 커밋, 환경, Worker 및 스토리지 리소스 이름;
  • 배송된 소스/구성 변경 사항 및 제외된 작업 트리 변경 사항;
  • 로컬 게이트 및 그 결과;
  • D1 마이그레이션 및 복구 북마크/내보내기 및 호환성 순서;
  • 비밀 값을 제외한 R2/도메인/캐시/비밀 변경;
  • 가능한 경우 Worker 버전/배포 ID 및 트래픽 비율;
  • 스모크 테스트 URL 및 결과;
  • 롤백 대상, 스토리지 주의 사항 및 남은 수동 작업.

게이트가 실패하면 안전하지 않은 경계 이전에 중지하고 증거를 보존하며 남은 작업을 명시합니다. 게이트를 묵묵히 약화시키지 마십시오.

관련 스킬