{"repo":"josefjadrny/js-chess-engine","free":true,"listed":false,"github":"https://github.com/josefjadrny/js-chess-engine","clone":"git clone https://github.com/josefjadrny/js-chess-engine.git","description":"Complete TypeScript chess engine with zero dependencies for Node.js >=24 and browsers. Features configurable AI (5 predefined difficulty levels), stateful/stateless APIs, and supports JSON and FEN formats.","language":"TypeScript","stars":164,"topics":["ai","alpha-beta-pruning","browser","chess","chess-ai","chess-engine","fen","game","game-engine","minimax"],"license":"MIT","category":"game-templates","readme_excerpt":"JS-CHESS-ENGINE Complete TypeScript chess engine without dependencies for Node.js =24 and browsers. Includes configurable AI with difficulty levels 1-5. ⚠️ Upgrading from v1? See Breaking Changes section at the end of this document Install Install with npm or install with yarn Node.js Requirement: Node.js =24 is required for v2. Import TypeScript / ESM CommonJS (Node.js) Examples Two full example applications are available: -- Server — js-chess-engine-app — React + Node.js REST API, engine runs on the server — LIVE DEMO - Browser — js-chess-engine-fe-app — Pure frontend React app, engine runs entirely in the browser, no server needed — LIVE DEMO Documentation You have two options for using this engine: - Option 1 - Game class (stateful) - Option 2 - Stateless functions Both options use the same transposition table cache for AI performance. The difference is that the Game class stores the board state internally and tracks move history, while stateless functions require a board configuration on each call. Option 1 - Game class (stateful) Use the Game class to manage chess game state. All methods use the internally stored board — no need to pass configuration each time. The class also tracks full move history. You can export your game to JSON or FEN at any time and use these formats to restore your game later. API Description constructor new Game(configuration) - Create a new game with optional initial configuration. Params: - configuration BoardConfig string ( optional ) - Ches","default_branch":null,"files":null,"tree":[],"storefront":"/r/josefjadrny","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/josefjadrny/js-chess-engine/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}