A modern TypeScript implementation of Commander Chess (Xiangqi variant). This monorepo provides reusable npm packages and a professional-grade web application.
| Package | Description |
|---|---|
@cotulenh/core |
Game logic engine: move generation, rules, and state management. |
@cotulenh/board |
Interactive Svelte board UI with piece animations and customizable themes. |
@cotulenh/app |
Reference SvelteKit application showcasing the engine and board. |
Play the live version at cotulenh-app-demo.netlify.app
pnpm install
pnpm devVisit http://localhost:5173 to play.
import { CoTuLenh } from '@cotulenh/core';
const game = new CoTuLenh();
const moves = game.generateMoves();
game.move(moves[0]);- Language: TypeScript
- Framework: Svelte 5 / SvelteKit
- Monorepo: Turborepo / pnpm
- Tools: Vite, Vitest, ESLint, Prettier
pnpm build # Build all packages
pnpm test # Run tests
pnpm lint # Lint codebase
pnpm check-types # Type checking- Core: BSD-2-Clause
- Board: GPL-3.0-or-later
- App: Private