This project has a Python client and a PureScript client. To start a game, connect two of either client to a server.
Caution
Neither client currently sends an initial message containing initial board dimensions and piece positions. Thus, clients that have different board states upon connecting to a room will not be able to sync with each other.
The Python client's dependencies are managed using poetry.
# Installs dependencies (Poetry)
poetry installBefore pushing a commit, you may want to run the ruff linter and formatter.
# Runs linter (Ruff)
poetry run ruff check
# Runs formatter (Ruff)
poetry run ruff formatThe pytest framework is used to write and run tests. These tests may be executed by running:
# Executes tests (Pytest)
poetry run pytestPackage management and building for the PureScript client are handled by spago.
# Installs dependencies (Spago)
spago installA MakeFile is included to make building the PureScript easier.
# same as `spago bundle --outfile web/index.js`
make buildNote
The above commands must be run in their respective client's directory.