README.md

April 30, 2026 ยท View on GitHub

Chess API written in scala for lichess.org

It is entirely functional, immutable, and free of side effects.

INSTALL

Clone scalachess

git clone https://github.com/lichess-org/scalachess

Start sbt in scalachess directory

sbt

In the sbt shell, to compile scalachess, run

compile

To run the tests

testKit / test

To run full benchmarks (takes more than 1 hour to finish):

bench / Jmh / run

Or to output a json file

bench / Jmh / run -rf json

To run quick benchmarks (results may be inaccurate):

bench / Jmh / run -i 1 -wi 1 -f1

To run longer benchmarks:

bench / Jmh / run -i 3 -wi 2 -f2

To run benchmarks for a specific class:

bench / Jmh / run -rf json .*PlayBench.*

To run scalafmt and scalafix:

sbt prepare

Install (python)

For python code, install pipenv, and run $ pipenv install from project root.

Release

  1. Bump version in build.sbt.
  2. Commit the version bump and push to master.
  3. gh release create X.Y.Z