A free, open-source and modern Chess Variant Analysis GUI for the 21st century
# 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
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:
- Download Stockfish 2020-06-13 and rename it to
stockfish
- Download Multi-Variant-Stockfish 10 and rename it to
multi-variant-stockfish
- Download Fairy-Stockfish 13 Largeboard and rename it to
fairy-stockfish
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 lichess.org and pychess.org. | Used as the main UI board element. |
ornicar/lila | The forever free, adless and open source chess server | Many high quality assets from lichess.org (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 |
lichess.org/analysis | 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.