Skip to content
@echecsjs

ECHECS

TypeScript chess libraries following FIDE rules

echecs — Build chess apps with confidence

TypeScript chess libraries following FIDE rules. Strict types, zero dependencies, ESM-only.

npm · echecs.dev · Contributing


Core

Package Description
@echecs/position Chess position type and board utilities npm docs
@echecs/fen Parse and stringify FEN chess positions npm
@echecs/san Parse, resolve, and stringify SAN chess moves npm
@echecs/pgn PGN parser with comments, variations, NAGs, and annotations npm
@echecs/game Chess game engine with legal move generation and undo/redo npm docs
@echecs/zobrist Polyglot standard Zobrist hash keys for chess positions npm

Engine

Package Description
@echecs/uci UCI engine wrapper for communicating with Stockfish and others npm docs

Ratings

Package Description
@echecs/elo ELO rating system following FIDE rules npm docs

Tournaments

Package Description
@echecs/swiss Swiss tournament pairing and standings following FIDE rules npm docs
@echecs/round-robin Round-robin pairings following FIDE Berger tables npm
@echecs/tournament Stateful tournament orchestrator for any FIDE pairing system npm docs

Tiebreaks

Package Description
@echecs/buchholz Buchholz tiebreak family (Cut, Median, Average, Fore) npm
@echecs/sonneborn-berger Sonneborn-Berger tiebreak npm
@echecs/progressive Progressive score tiebreak npm
@echecs/koya Koya tiebreak for round-robin tournaments npm
@echecs/direct-encounter Direct encounter tiebreak npm
@echecs/number-of-wins Win-counting tiebreaks (Wins, Black Wins, Standard Points) npm
@echecs/average-rating Average Rating of Opponents tiebreak npm
@echecs/performance-rating Performance rating tiebreaks (TPR, Perfect TPR) npm

UI

Package Description
@echecs/react-board React chessboard with drag & drop, animation, and theming npm docs
@echecs/react-movesheet React move notation panel with click navigation and variations npm

File Formats

Package Description
@echecs/trf FIDE Tournament Report File (TRF) parser npm docs
@echecs/tunx SwissManager TUNX binary file parser/serializer npm

Popular repositories Loading

  1. pgn pgn Public

    PGN (Portable Game Notation) parser. Supports comments, variations, NAGs, and annotations.

    TypeScript 3

  2. elo elo Public

    ELO rating system following FIDE rules.

    TypeScript 3

  3. uci uci Public

    UCI engine wrapper. Typed event-emitter API for communicating with chess engines like Stockfish.

    TypeScript 2

  4. swiss swiss Public

    Swiss tournament pairing and standings algorithms following FIDE rules.

    TypeScript 2

  5. fen fen Public

    Parse and stringify FEN (Forsyth–Edwards Notation) chess positions. Strict TypeScript, no-throw API.

    TypeScript 2 1

  6. game game Public

    Chess game engine. Legal move generation, undo/redo, and game-state detection.

    TypeScript 1

Repositories

Showing 10 of 25 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…