No description
Find a file
rosa a74ea352b1
All checks were successful
ci/woodpecker/push/test Pipeline was successful
Update renovate.json
2026-05-27 15:56:31 +00:00
.woodpecker Update docker.io/elixir Docker tag to v1.19 2025-10-22 11:42:06 +00:00
lib Make a sigil for moves in Alg notation 2022-04-16 21:37:46 -06:00
priv Parse Forsyth-Edwards notation to build a game 2021-06-01 19:59:13 -06:00
test Make a sigil for moves in Alg notation 2022-04-16 21:37:46 -06:00
.formatter.exs Add property-based testing 2021-02-01 12:31:38 -07:00
.gitattributes Initial commit 2021-01-29 16:13:28 -07:00
.gitignore new Mix project 2021-01-29 16:15:20 -07:00
mix.exs Update dependency stream_data to v1 2025-05-25 21:03:30 +00:00
mix.lock Update dependency stream_data to v1.3.0 2026-03-09 09:54:25 +00:00
README.md Rename "Match" to "Game" 2021-05-21 19:50:33 -06:00
renovate.json Update renovate.json 2026-05-27 15:56:31 +00:00

Chexx

Chexx is a chess library written in Elixir.

It simulates a board with pieces, and will validate moves.

Installation

If available in Hex, the package can be installed by adding chexx to your list of dependencies in mix.exs:

def deps do
  [
    {:chexx, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/chexx.

Usage

Start a new game with Chexx.start_game/0, and move with Chexx.ply/2.

iex> game = Chexx.start_game()
#Chexx.Game<current_player: :white, status: :in_progress, ...>
iex> {:ok, game} = Chexx.ply(game, "e3")
...> game
#Chexx.Game<current_player: :black, status: :in_progress, ...>