Chess Rules implementation as a standalone module.
JavaScript chess rules library
Javascript chess library for chess rules and chess ai.
Chess rules, notation, and Elo rating library with strict validation and legal move generation.
A powerful, type-safe chess engine library for TypeScript/JavaScript with complete chess rules, AI opponents, and REST API
Javascript library used for defining chess rules
implementation of chess rules
[](https://github.com/jhlywa/chess.js/actions) [](https://www.npmjs.com/package/chess.js) [
Nodejs implementation of chess rules and structures. Probably buggy and in alpha now!
Chess and chess variant rules and operations
This package contains the chess components which directly create chess board having the chess rules applied
A PEG parser to read PGN (Portable Game Notation) games.
A decentralized chess protocol built on the Stacks blockchain.
Simple functions shared among the sinon end user libraries
Flowtype linting rules for ESLint.
Simple and fast Node.js chess engine with configurable AI and no dependencies
Accessibility engine for automated Web UI testing
Chess for new plugin
Chess and chess variant rules and operations
SonarJS rules for ESLint
Merge CSS rules with PostCSS.
An Astro component that generates a simple 3D cube-based chessboard where each piece can move according to basic chess rules using smooth CSS and JavaScript animations
ESLint configuration used by Create React App
A collection of SCSS-specific rules for Stylelint
Provides a representation of a chess game complete with rules enforcement and serialisation.
This library provides all the rules of the chess game. Also it provides a command line interface with serialization features
Sapphire Chess is a command line-based chess game with an algebraic notation input system, complete chess rules, a beautiful interface, and a functional AI. It provides three game modes: Human vs. Human, Human vs. AI, and AI vs. AI.
CGSN (Chess Game Status Notation) implementation for Ruby. Provides a rule-agnostic vocabulary for identifying game statuses in abstract strategy board games with symbol-based identifiers and immutable sets.
Portable Move Notation (PMN) v1.0.0 is a rule-agnostic, JSON-based format using arrays to represent deterministic state-changing actions in abstract strategy board games. This gem provides a consistent Ruby interface for serializing, deserializing, and validating moves across Chess, Shogi, Xiangqi, and other traditional or non-traditional variants. The v1.0.0 format uses simple 4-element arrays: [source_square, destination_square, piece_name, captured_piece], making it compact and language-agnostic while focusing on deterministic state transformations independent of game-specific rules.
A clean, immutable Ruby interface for working with piece identifiers in PNN format. PNN provides a consistent and rule-agnostic notation for representing pieces in abstract strategy board games like chess, shogi, and xiangqi. Features include state modifiers for enhanced/diminished/intermediate pieces, ownership changes, and comprehensive validation. Perfect for game engines, analysis tools, and educational applications.
PCN (Portable Chess Notation) provides a comprehensive, JSON-based format for representing complete chess game records across variants. This gem implements the PCN Specification v1.0.0 with a modern Ruby interface featuring immutable game objects and functional programming principles. PCN integrates the Sashité ecosystem specifications (PMN for moves, FEEN for positions, and SNN for style identification) to create a unified, rule-agnostic game recording system. Supports traditional single-variant games and cross-variant scenarios where players use different game systems, with complete metadata tracking including player information, tournament context, and game status. Perfect for game engines, database storage, game analysis tools, and archival systems requiring comprehensive game record management across diverse abstract strategy board games.
PMN (Portable Move Notation) provides a rule-agnostic, JSON-based format for describing the mechanical decomposition of moves in abstract strategy board games. This gem implements the PMN Specification v1.0.0 with a functional Ruby interface, breaking down complex movements into sequences of atomic actions while remaining completely independent of specific game rules. PMN reveals the underlying mechanics of any board game move through sequential action decomposition, supporting both explicit and inferred piece specifications. Built on CELL (coordinate encoding), HAND (reserve notation), and QPI (piece identification) specifications, it enables universal move representation across chess variants, shōgi, xiangqi, and any abstract strategy game. Perfect for game engines, move validators, and board game analysis tools.