tcg-engines

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

TCG Engines

This repository contains the open-source engine and simulator workspaces used by TCG Online. It includes game rules, card definitions, adapters, shared simulator contracts, and test tooling for the public parts of the project.

The production web app, API, gateway, reverse proxy, workers, auth, matchmaking services, infrastructure, and deployment configuration are private and are not included here.

Workspaces

  • submodules/agnostic-simulator - shared protocol, simulator contracts, runtime adapters, simulator UI primitives, and agent tooling.
  • submodules/lorcana - Lorcana engine, cards, simulator, replay tooling, and tests.
  • submodules/cyberpunk - Cyberpunk cards, engine, parser/scraper tooling, and server adapter.
  • submodules/gundam - Gundam engine, cards, simulator, tooling, and server adapter.
  • submodules/one-piece - One Piece simulator, engine, cards, types, and utilities.

Requirements

  • Node.js 24.x
  • pnpm 10.33.x
  • Bun, for packages that use Bun-powered scripts
  • Vite+ (vp), installed by the package manager in each workspace

Setup

Each exported subdirectory is its own pnpm workspace. Install dependencies from the workspace you are changing:

pnpm --dir submodules/cyberpunk install --frozen-lockfile
pnpm --dir submodules/agnostic-simulator install --frozen-lockfile

For cross-game simulator work, install and build game workspaces before running the agnostic simulator checks.

Validation

The root package provides convenience wrappers:

pnpm run ci:cyberpunk:check
pnpm run ci:gundam:check
pnpm run ci:lorcana:check
pnpm run ci:one-piece:check
pnpm run ci:agnostic:check
pnpm run ci:public

Run the focused workspace check first. Broader checks are useful before opening or merging a public PR.

Contributions

Public contributions should target engines, cards, rules, adapters, shared simulator contracts, tests, and developer tooling in the exported workspaces. Production service, account, deployment, and infrastructure changes are out of scope for this repository.