# Codex Handoff Guide ## 목적 - 이 문서는 다른 작업 환경이나 다른 Codex 세션에서 프로젝트를 이어받더라도 같은 품질 기준으로 작업하기 위한 운영 기준서다. - 특히 이 저장소는 정적 HTML/JS 프로젝트이면서 카드 데이터와 이미지 자산 비중이 크기 때문에, "코드 수정"보다 "데이터-번역-이미지 일치"가 더 중요하다. ## 현재 기준 릴리즈 - 현재 작업 기준 버전: `v3.1.0` - 이번 릴리즈 핵심 반영: - `ua51` 시리즈 추가 - `ua49` 누락 병렬 이미지 보강 - 다국어 시리즈명 추가 - 버전 표기 및 문서 체계 정리 ## 다음 작업자에게 반드시 전달할 것 - 이 프로젝트는 빌드 시스템 중심 앱이 아니라 `index.html`, `cardList.html`, `result.html` 3개 페이지가 직접 동작하는 정적 사이트다. - 신규 시리즈를 추가할 때는 항상 아래 3가지를 한 세트로 본다. - `datas/.js` - `images//` - `i18n/translations.ko.json`, `i18n/translations.ja.json`, `i18n/translations.en.json` - 이미지 자산은 `images/**` 전체가 `Git LFS` 대상이다. 대용량 이미지가 일반 Git 객체로 들어가지 않게 주의한다. - `cardList.html`은 `?series=` 값을 기준으로 `./datas/${seriesKey}.js`를 동적 import 한다. 즉, 시리즈 키 불일치가 있으면 화면에서 바로 깨진다. - 카드 이미지 렌더링은 최종적으로 `images/${seriesKey}/${fileName}` 규칙을 사용하므로, `imgSrc`에는 파일명 기준 일관성이 중요하다. - 릴리즈 버전이 바뀌면 최소한 아래 두 곳은 함께 맞춘다. - `index.html`의 `` 및 상단 배지 - `docs/spec.md`, `docs/update.md`, 필요 시 `docs/history.md` ## 품질 기준 - 신규 시리즈 반영 시 데이터 파일만 추가하고 번역 키를 빼먹지 않는다. - 카드 번호(`Number`) 그룹과 실제 파일명 규칙이 시리즈 키와 일치해야 한다. - 병렬 카드(`parallel: true`)는 일반 카드와 같은 카드 번호를 공유하되 이미지 파일만 다르게 유지한다. - `trigger`는 `null`, `COLOR`, `FINAL`, `SPECIAL`만 사용한다. - AP 카드의 `color`는 `AP`를 사용한다. - 릴리즈 전에 `git diff --stat`으로 변경 범위를 보고, 데이터/번역/이미지 중 빠진 축이 없는지 확인한다. ## 작업 절차 1. 변경 요청이 신규 시리즈 추가인지, 기존 시리즈 수정인지 먼저 구분한다. 2. 관련 `datas/*.js`와 `images/<series>/` 상태를 확인한다. 3. `i18n/translations.*.json`에 시리즈명 또는 UI 문구 변경이 필요한지 확인한다. 4. 화면에서 버전 표기를 바꿔야 하는 성격의 변경인지 판단한다. 5. `docs/update.md`에 이번 반영 내용을 남긴다. 6. 릴리즈성 변경이면 `docs/history.md` 또는 이 문서에도 기준 변화를 남긴다. 7. 커밋 전 `git status`, `git diff --stat`, 필요한 경우 간단한 구문 체크를 수행한다. ## 릴리즈 전 체크리스트 - `datas/<series>.js`가 실제로 import 가능한 형식인지 확인 - `images/<series>/` 파일이 데이터의 `imgSrc`와 대응되는지 확인 - `translations.ko/ja/en`에 시리즈 키가 모두 존재하는지 확인 - 버전 표기가 문서와 UI에서 일치하는지 확인 - `images/**`가 계속 LFS로 잡히는지 확인 - 커밋 메시지에 릴리즈 의도가 드러나는지 확인 ## 커밋 메시지 가이드 - 릴리즈 커밋 예시: `v3.1.0: add ua51 series and handoff docs` - 수정 커밋 예시: `fix: add missing ua49 parallel images` - 되돌림 커밋 예시: `revert: restore original card list interactions` ## 주의할 점 - 이 저장소는 이미지 비중이 매우 크다. 원격 업로드 전에 대용량 변경이 의도된 것인지 다시 확인한다. - 현재 문서 체계는 `docs/update.md`가 작업 로그, `docs/history.md`가 의사결정, `docs/spec.md`가 구조 명세 역할을 맡는다. - 후속 작업자가 빠르게 맥락을 잡게 하려면, "무엇을 바꿨는지"보다 "왜 같이 바꿔야 하는지"를 문서에 남기는 편이 더 중요하다.