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

PackageDescription
@echecs/positionChess position type and board utilitiesnpmdocs
@echecs/fenParse and stringify FEN chess positionsnpmdocs
@echecs/sanParse, resolve, and stringify SAN chess movesnpmdocs
@echecs/pgnPGN parser with comments, variations, NAGs, and annotationsnpmdocs
@echecs/gameChess game engine with legal move generation and undo/redonpmdocs
@echecs/zobristPolyglot standard Zobrist hash keys for chess positionsnpmdocs
@echecs/polyglotRead and query Polyglot opening book (.bin) filesnpmdocs

Engine

PackageDescription
@echecs/uciUCI engine wrapper for communicating with Stockfish and othersnpmdocs

Ratings

PackageDescription
@echecs/eloELO rating system following FIDE rulesnpmdocs

Tournaments

PackageDescription
@echecs/swissSwiss tournament pairing and standings following FIDE rulesnpmdocs
@echecs/round-robinRound-robin pairings following FIDE Berger tablesnpmdocs
@echecs/tournamentStateful tournament orchestrator for any FIDE pairing systemnpmdocs

Tiebreaks

PackageDescription
@echecs/buchholzBuchholz tiebreak family (Cut, Median, Average, Fore)npmdocs
@echecs/sonneborn-bergerSonneborn-Berger tiebreaknpmdocs
@echecs/progressiveProgressive score tiebreaknpmdocs
@echecs/koyaKoya tiebreak for round-robin tournamentsnpmdocs
@echecs/direct-encounterDirect encounter tiebreaknpmdocs
@echecs/number-of-winsWin-counting tiebreaks (Wins, Black Wins, Standard Points)npmdocs
@echecs/average-ratingAverage Rating of Opponents tiebreaknpmdocs
@echecs/performance-ratingPerformance rating tiebreaks (TPR, Perfect TPR)npmdocs

UI

PackageDescription
@echecs/react-boardReact chessboard with drag & drop, animation, and themingnpmdocs
@echecs/react-movesheetReact move notation panel with click navigation and variationsnpmdocs

File Formats

PackageDescription
@echecs/trfFIDE Tournament Report File (TRF) parsernpmdocs
@echecs/tunxSwissManager TUNX binary file parser/serializernpmdocs

Popular repositories Loading

  1. pgn pgnPublic

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

    TypeScript 4

  2. elo eloPublic

    ELO rating system following FIDE rules.

    TypeScript 3

  3. swiss swissPublic

    Swiss tournament pairing and standings algorithms following FIDE rules.

    TypeScript 3

  4. uci uciPublic

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

    TypeScript 2

  5. trf trfPublic

    FIDE Tournament Report File (TRF) parser.

    TypeScript 2 1

  6. fen fenPublic

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

    TypeScript 2

Repositories

Showing 10 of 26 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…