TypeScript chess libraries following FIDE rules. Strict types, zero dependencies, ESM-only.
npm · echecs.dev · Contributing
| Package | Description | ||
|---|---|---|---|
@echecs/position | Chess position type and board utilities | docs | |
@echecs/fen | Parse and stringify FEN chess positions | docs | |
@echecs/san | Parse, resolve, and stringify SAN chess moves | docs | |
@echecs/pgn | PGN parser with comments, variations, NAGs, and annotations | docs | |
@echecs/game | Chess game engine with legal move generation and undo/redo | docs | |
@echecs/zobrist | Polyglot standard Zobrist hash keys for chess positions | docs | |
@echecs/polyglot | Read and query Polyglot opening book (.bin) files | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/uci | UCI engine wrapper for communicating with Stockfish and others | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/elo | ELO rating system following FIDE rules | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/swiss | Swiss tournament pairing and standings following FIDE rules | docs | |
@echecs/round-robin | Round-robin pairings following FIDE Berger tables | docs | |
@echecs/tournament | Stateful tournament orchestrator for any FIDE pairing system | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/buchholz | Buchholz tiebreak family (Cut, Median, Average, Fore) | docs | |
@echecs/sonneborn-berger | Sonneborn-Berger tiebreak | docs | |
@echecs/progressive | Progressive score tiebreak | docs | |
@echecs/koya | Koya tiebreak for round-robin tournaments | docs | |
@echecs/direct-encounter | Direct encounter tiebreak | docs | |
@echecs/number-of-wins | Win-counting tiebreaks (Wins, Black Wins, Standard Points) | docs | |
@echecs/average-rating | Average Rating of Opponents tiebreak | docs | |
@echecs/performance-rating | Performance rating tiebreaks (TPR, Perfect TPR) | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/react-board | React chessboard with drag & drop, animation, and theming | docs | |
@echecs/react-movesheet | React move notation panel with click navigation and variations | docs |
| Package | Description | ||
|---|---|---|---|
@echecs/trf | FIDE Tournament Report File (TRF) parser | docs | |
@echecs/tunx | SwissManager TUNX binary file parser/serializer | docs |