A free, open-source and modern Chess Variant Analysis GUI for the 21st century

LiGround screenshot

Build Setup

# install dependencies
npm install

# run dev server with hot reload at localhost:9080
npm run dev

# build electron application for production
npm run build

# lint all JS/Vue component files
npm run lint

Post-Installation Actions

LiGround ships with preincluded engine binaries. By default all engines are downloaded automatically into the ./engines/ folder as postinstall action. However, if no prebuilt binaries are available for you system or something goes wrong, please go ahead and build/download them manually:


The following libraries or assets are used in LiGround:

Library Description Usage
ffish.js A high performance WebAssembly chess variant library based on Fairy-Stockfish. Used in the GUI for legal move generation, FEN parsing & validation, pocket pieces, etc.
ChessgroundX A free/libre open source chess UI developed for and Used as the main UI board element.
ornicar/lila The forever free, adless and open source chess server Many high quality assets from (e.g. piece styles, board styles, chess fonts, …) are used within this GUI.
Vue.js The Progressive JavaScript Framework Used as the main JavaScript Framework.
Electron Build cross-platform desktop apps with JavaScript, HTML, and CSS Used for exporting the GUI to the desktop.
electron-vue An Electron & Vue.js quick start boilerplate Used for the boilerplate code.


Projects that influenced the creation of LiGround:

Project Description
tinyChessServer An xboard server for playing bughouse games via websockets The forever free, adless and open source chess server
vue-chessboard Chessboard vue component to load positions, create positions and see threats
cutechess A graphical user interface, command-line interface and a library for playing chess.
XBoard / WinBoard A graphical user interface for chess in all its major forms.
Nibbler Leela Chess Zero (Lc0) interface.
chess.js A Javascript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection

This project was generated with electron-vue@45a3e22 using vue-cli. Documentation about the original structure can be found here.


View Github