개발 문서
CLI 배포
번들러를 사용한다면 에셋 경로가 실행 디렉터리에 상대적이어야 합니다. Vite는 base: './'로 빌드하고, HTML의 /assets/... 같은 루트 절대 경로는 피합니다. 소스 폴더 전체 대신 dist 같은 완성된 정적 출력 폴더를 지정합니다.
빌드 루트의 index.html에서 게임을 시작합니다. 활성 세션 안의 HTML 재요청, 정적 페이지 이동, 게임 내부 재시작은 같은 Play로 처리합니다. 독립된 새로운 실행 세션의 시작이 승인될 때만 Play가 추가됩니다. 다른 HTML과 에셋으로 이동할 때도 현재 빌드 기준의 상대 경로를 사용합니다.
현재 로컬 checkout에서는 저장소 루트에서 npm ci를 완료한 뒤, 게임 프로젝트 폴더에서 CLI 파일을 직접 실행할 수 있습니다. 아래 C:/Projects/Immercy는 예시이므로 실제 저장소 경로로 바꿉니다.
node C:/Projects/Immercy/packages/cli/src/index.js validate
node C:/Projects/Immercy/packages/cli/src/index.js deploy
validate는 경로, 크기, 파일 해시, 컨트롤러를 로컬에서 읽어 확인합니다. deploy는 실제 원격 업로드와 최신 빌드 교체를 수행합니다. 이 문서 작성 과정에서는 두 명령을 실행하지 않았습니다.
npm 게시 후에는 npm install --save-dev @immercy/cli@1.0.0으로 설치하고 다음 명령을 사용할 수 있습니다.
npx immercy validate
npx immercy deploy
npx immercy deploy --config immercy.config.json
npx immercy help
CLI는 manifest를 등록하고 각 파일을 Private Blob에 업로드한 다음 commit API를 호출합니다. 일부 파일만 올라간 상태로 최신 빌드를 교체하지 않습니다. 검사 후 파일 내용이 바뀌면 다시 빌드·검사해야 합니다. API 키 자체가 출력 파일에 포함된 경우에도 배포를 중단합니다. 제한은 파일 500개, 합계 100 MiB, 파일당 25 MiB이며 각 HTML 파일(.html, .htm)은 2 MiB까지입니다. 빌드 루트의 index.html은 필수입니다. 빈 파일, .env, 소스맵, 서버 파일, 심볼릭 링크 등은 허용하지 않습니다.
CLI 배포 결과의 게임 주소를 열어 실제 연결을 확인합니다. 비공개 프로젝트는 권한 있는 개발자만 접근하며, 공개 요청은 검토 상태에 따라 게재됩니다. 개발자 Preview도 주간 Play 사용량을 소모합니다.