Skip to content

carpetscheme/scalachess-steg

Repository files navigation

ScalaChess Steg

A tool to encode/decode messages as chess games, based on James Stanley's chess-steg.

Reimplemented in Scala using lichess' scalachess library and compiled to JavaScript with Scala.js and Laminar.

♟️ Try it out online!

Build

Requires: Mill build tool.

Fetch git submodules:

$ git submodule update --init

Run tests:

$ mill ScalaChessStegJvm.test

Build JavaScript (to out/ChessStegJS/fullOpt.dest/out.js):

$ mill ChessStegJS.fullOpt

Bonus! Run as CLI:

$ mill ChessStegCli.run --help

Usage: scalachess-steg [--steg] [--unsteg] <Message or chess game.>

Hiding messages in chess games!

Options and flags:
    --help
        Display this help text.
    --steg
        [Default] Encode message as chess game.
    --unsteg
        Decode input from chess game.