Enfilade extends Shakmaty, a Rust Chess library, with methods to analyse pins on a chess board. It exposes these through a command line interface which accepts a FEN and a move in long algebraic notation, and returns a text description of any pins involving the moved piece, either as the attacker, the target, or the pinned piece.
Rust; any version that conforms to the Rust 2018 standard with the concomitant tooling, notably cargo
.
cargo build
The package can be run and built with the command.
cargo run
cargo test
Loosely, the integration tests are in the tests
folder at the top level, the main.rs
file is the entry point for the command line tool, and the pin
directory contains the library code to make it all work.