Tools for chess notation styles and languages
Generate images based on various forms of chess notation.
Generate images based on various forms of chess notation.
Generate images based on various forms of chess notation.
Chess notation language selector, in React
Generate PNG images of chessboard positions, based on specified chess notation.
Generate images based on various forms of chess notation.
Chess Move Validator verifies algebraic chess notation and identifies move types including castling, captures, checks, and promotions.
Generate images based on various forms of chess notation.
Generate images based on various forms of chess notation.
Use space and slash separated color notation in CSS
A PEG parser to read PGN (Portable Game Notation) games.
[](https://github.com/jhlywa/chess.js/actions) [](https://www.npmjs.com/package/chess.js) [
Chess and chess variant rules and operations
Big number implementation in pure javascript
An algebraic notation driven chess engine that can validate board position and produce a list of viable moves (notated).
Chess Engine
Format numbers for human consumption.
Utility for modifying / processing the contents of Javascript objects or arrays via object notation strings or globs.
Token-Oriented Object Notation (TOON) – Compact, human-readable, schema-aware encoding of JSON for LLM prompts
Chess notation language selector, in React
Transform objects to MongoDB update instructions
very fast object redaction
Create and animate hand-drawn annotations on a web page
Algebraic chess notation parser
Chess Game with graphical interface.
This library provides all the rules of the chess game. Also it provides a command line interface with serialization features
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.
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.
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.
Converts a single game chess PGN to an array of FEN strings. The FEN follows the specification as listed on [Forsyth–Edwards Notation](http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation).
A colourful terminal Chess, support Smith & Algebraic Notation input. Core feature: - FEN session import / export - PGN file export - User Profile Management - Multiple chess session per profile - Input hot-swapping - Session hot-swapping - Chessboard customization
A pure functional Ruby implementation of the General Gameplay Notation (GGN) specification v1.0.0. Provides a movement possibility oracle for evaluating pseudo-legal moves in abstract strategy board games. Features include hierarchical move navigation (piece → source → destination → transitions), pre-condition evaluation (must/deny). Works with Chess, Shogi, Xiangqi, and custom variants.
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.
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.
Parse and generate Portable Action Notation (PAN) strings for representing atomic actions in abstract strategy board games including chess, shogi, xiangqi, and others. PAN provides an intuitive operator-based syntax with six core operators: "-" (move to empty square), "+" (capture), "~" (special moves with side effects), "*" (drop to board), "." (drop with capture), and "=" (in-place transformation), plus "..." (pass turn). Supports coordinates via CELL specification and piece identifiers via EPIN specification. Handles transformations ("e7-e8=Q"), enhanced/diminished states ("+R", "-P"), and style derivation markers ("K'"). Provides comprehensive validation, immutable action objects, and functional API design. Examples: "e2-e4" (move), "d1+f3" (capture), "e1~g1" (castling), "P*e5" (drop), "e7-e8=Q" (promotion), "..." (pass), "+d4" (static capture), "e4=+P" (modify).
No description provided.
No description provided.