diff --git a/README.md b/README.md index f96e1e8..76a0e2e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,49 @@ -# core2026 +# 삼국지 모의전투 HiDCHe (sammo-ts) +삼국지 모의전투 HiDCHe(삼모/삼모전/힏체섭)의 레거시 PHP 코드베이스를 TypeScript 기반 pnpm 모노레포로 재작성하는 저장소입니다. +현재 운영 중인 소스는 `legacy/` 아래에 있으며, 새 런타임은 단계적으로 전환 중입니다. + +## 목표 +- 레거시 PHP 기반 런타임을 TypeScript 기반 모노레포로 전환 +- 게임 로직을 순수 모듈로 분리하고 API/엔진/프론트를 서비스 단위로 구성 +- 프로파일(시나리오/서버 변형)별 빌드 및 배포 흐름 정립 + +## 구조 +- `legacy/`: 현재 운영 중인 PHP 런타임 +- `packages/common`: 공유 유틸 및 타입 정의 +- `packages/logic`: 순수 게임 로직 (DI/인터페이스 기반) +- `app/gateway-frontend`: 게이트웨이 UI +- `app/gateway-api`: 게이트웨이 API +- `app/game-frontend`: 게임 UI +- `app/game-api`: 게임 API +- `app/game-engine`: 턴 엔진/데몬 +- `tools/build-scripts`: 빌드 및 배포 스크립트 + +## 개발 도구 및 스크립트 +- 패키지 매니저: pnpm 워크스페이스 +- 공통 스크립트 + - `pnpm install` + - `pnpm -r lint` + - `pnpm -r test` + - `pnpm -r build` + - `pnpm -r dev` +- 서버 빌드 + - `pnpm build:server -- --profile ` + - 예: `pnpm build:server -- --profile che` + +## 빌드 프로파일(예정) +- `che`, `kwe`, `pwe`, `twe`, `nya`, `pya` +- 빌드 출력: `/dist/{serverName}` + +## 난수 정책 (Verifiable RNG) +게임 로직에 영향을 주는 모든 난수는 재현 가능해야 합니다. +가능하면 기존 구현을 재사용합니다: `legacy/hwe/ts/util/LiteHashDRBG.ts`, `legacy/hwe/ts/util/RNG.ts`. + +## 문서 +- `docs/architecture/overview.md` +- `docs/architecture/legacy-engine.md` +- `docs/architecture/rewrite-plan.md` +- `docs/architecture/runtime.md` + +## 참고 +레거시 데이터(`legacy/`)는 마이그레이션용으로만 유지되며, DB 이전 이후에는 런타임 의존성을 제거합니다.