- TypeScript 83.4%
- JavaScript 8.2%
- PowerShell 4.1%
- Shell 1.8%
- PLpgSQL 1.4%
- Other 1%
|
All checks were successful
Build and Deploy / deploy (push) Successful in 10m31s
게임 정보를 찾기 어렵고 관리자 조작이 불편했던 흐름을 개선하고, RGSS 감지와 VX Ace 실행 준비의 연결·검증 문제를 정리한다. - 큰 표지·게임 화면·작품 내용, 별 북마크와 관리자 하단 페이지 구성 - 제작사·태그 모아보기, 한국어 태그 사전과 불필요한 수집 필드 제외 - DLsite VJ 페이지·작품 설명 파싱과 0049·0050 migration 추가 - RGSS 경로·인코딩 감지 및 Windows package coordinator·RTP 연결 - 미사용 UI·중복 타입 정리와 문서·검증 기준선 최신화 관련 Docker build·unit·schema와 로컬 UI 확인 결과를 문서에 반영했다. 실제 작품 설명 재수집과 NAS 검증은 남아 있으며 현재 VX Ace 표본의 upstream 그래픽 부팅 실패를 package/build 성공과 구분해 기록한다. |
||
|---|---|---|
| .agents | ||
| .forgejo/workflows | ||
| apps | ||
| docs | ||
| infra | ||
| ops | ||
| packages | ||
| tests | ||
| translation-imports | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| AGENTS.md | ||
| compose.develop.yaml | ||
| compose.gc-scheduled.yaml | ||
| compose.test.yaml | ||
| compose.yaml | ||
| eslint.config.mjs | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.base.json | ||
| vitest.backup.config.ts | ||
| vitest.config.ts | ||
| vitest.correlation.config.ts | ||
| vitest.save-backup.config.ts | ||
| vitest.scanner.config.ts | ||
| vitest.schema.config.ts | ||
LINKS
LINKS Is Not Kloud Streaming
마지막 수정: 2026-09-06
LINKS는 서버에 있는 게임 폴더를 읽기 전용으로 인덱싱하고, 설치본·작품·판본과 외부 메타데이터를 분리해 보여 주는 self-hosted 게임 라이브러리다. 지원 가능한 RPG Maker 게임은 원격 영상 스트리밍이 아니라 격리된 브라우저 자산 또는 WebAssembly 런타임으로 실행한다.
현재 상태
Installation 중심 카탈로그, 패스키 인증·별 북마크, 관리자 스캔·재판정과 상품별 메타데이터 보강을 제공한다. 제작사·태그를 선택하면 홈에서 해당 게임을 모아 볼 수 있으며, 상세에는 큰 표지·게임 화면·수집된 작품 내용을 배치한다. DLsite 태그는 한국어 사전을 적용하고 상품 언어·플랫폼은 수집·표시하지 않는다.
로그인 사용자의 첫 실행은 공유 준비 작업부터 build와 PlaySession까지 연결한다. 주소창은 catalog의 /play/:installationId를 유지하고 게임은 다른 origin의 sandbox iframe에서 실행한다. VX/VX Ace에는 NAS·Windows에서 고정 Builder OCI를 호출하는 실행기를 제공한다.
Synthetic MV/MZ는 Chromium·Firefox acceptance를 통과했다. DLsite 일부 표본의 표지·제작사·태그·게임 화면 수집도 확인했지만, 새 작품 내용의 실제 재수집은 미검증이다. 로컬 VX Ace의 RTP package/build는 성공했고 현재 표본의 부팅은 upstream 그래픽 오류로 실패한다. 실제 게임 전체 acceptance·NAS 배포·다른 공급자 live 검증은 남아 있다.
정확한 기능·검증 범위는 완료 기준선, 남은 입력과 종료 gate는 개발 계획을 따른다.
제품 원칙
- 원본 게임 라이브러리는 항상 읽기 전용이다. LINKS는 원본을 이동·이름 변경·삭제·수정하거나 native 실행 파일을 서버에서 실행하지 않는다.
Work,Edition,Installation을 분리한다. 같은 외부 ID나 제목만으로 설치본을 병합하거나 삭제하지 않는다.- 공급자 원문, 정규화 값, 한국어 표시값과 사용자 override를 provenance와 함께 보존한다.
- 게임 코드는 catalog와 다른 execution origin에서 실행한다. player에는 catalog session cookie, DB credential과 원본 library mount를 제공하지 않는다.
- 브라우저 지원은 실제 입력·오디오·save/reload acceptance를 통과한 정확한 fixture·build·browser 범위로만 표시한다.
- 계정은 discoverable WebAuthn 패스키만 사용하며, 게스트는 안전한 catalog projection만 읽을 수 있다.
- 개발·빌드·검증·운영은 Docker Compose만 사용한다.
현재 구성
주 언어는 strict TypeScript다. pnpm workspace 안에서 React/Vite catalog, Fastify API, PostgreSQL과 역할별 worker를 구성한다. 개발·운영 Compose는 단일 read-only /library root를 scanner와 준비 작업기에 연결하며 catalog/API는 원본을 mount하지 않는다. API와 DB는 root ID 경계를 유지하고 runtime artifact와 표지는 content-addressed store에 저장한다.
선택 이유는 기술 선택, 서비스와 신뢰 경계는 아키텍처를 따른다.
문서 안내
- 제품 범위 — 사용자 가치, 범위와 비목표
- 완료 기준선 — 현재 구현과 최신 검증 결과
- 개발 계획 — 아직 남은 작업과 완료 gate
- 운영 가이드 — 배포, scan, backup과 장애 대응
- 테스트 전략 — 반복 가능한 Docker 검증 진입점
문서별 단일 소유 범위는 문서 색인, 작업 규칙은 AGENTS.md와 .agents 색인을 따른다.