{"id":21064705,"url":"https://github.com/jovialen/xadrez","last_synced_at":"2025-03-14T01:33:53.985Z","repository":{"id":155027119,"uuid":"584206055","full_name":"jovialen/xadrez","owner":"jovialen","description":"A chess engine in Rust","archived":false,"fork":false,"pushed_at":"2023-04-20T07:54:21.000Z","size":13951,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T20:52:33.170Z","etag":null,"topics":["chess","chess-engine","crate","evaluation","fen","library","move-generator","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jovialen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-01-01T20:34:18.000Z","updated_at":"2024-04-19T22:29:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"54dd21e1-b9d0-4484-a7bc-40cb3dd13d59","html_url":"https://github.com/jovialen/xadrez","commit_stats":{"total_commits":145,"total_committers":2,"mean_commits":72.5,"dds":0.03448275862068961,"last_synced_commit":"6dd6da70be8c8c8d0688a33a3bd56cf682c9f47c"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovialen%2Fxadrez","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovialen%2Fxadrez/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovialen%2Fxadrez/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovialen%2Fxadrez/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jovialen","download_url":"https://codeload.github.com/jovialen/xadrez/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243507655,"owners_count":20301877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","chess-engine","crate","evaluation","fen","library","move-generator","rust"],"created_at":"2024-11-19T17:51:12.444Z","updated_at":"2025-03-14T01:33:53.946Z","avatar_url":"https://github.com/jovialen.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Xadrez\n\n[![Rust](https://github.com/jovialen/xadrez/actions/workflows/rust.yml/badge.svg)](https://github.com/jovialen/xadrez/actions/workflows/rust.yml)\n\nA chess engine written in Rust.\n\n## Usage\n\n**Xadrez** uses Rusts built-in package manager [Cargo](https://doc.rust-lang.org/cargo/).\n\nTo use **Xadrez** in your projects, first include it as a dependency in your `Cargo.toml`.\n\n```toml\n[dependencies]\nxadrez = { path = \"path/to/xadrez\" }\nxadrez = { git = \"https://github.com/jovialen/xadrez\" }\n```\n\n```rust\nuse xadrez::prelude::*;\nuse xadrez::search::MoveSearcher;\nuse std::time::Duration;\n\nfn main() {\n\tlet chessboard = Chessboard::default();\n\n\tlet moves: Vec\u003cMove\u003e = chessboard.moves();\n\tlet pieces: Vec\u003c(Piece, Square)\u003e = chessboard.pieces();\n\n\tchessboard.make_move(moves[1]);\n\n\tlet fen = chessboard.to_string();\n\n\tchessboard.set_position(\"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\");\n\n\tchessboard.make_move(Move::from_str(\"e2e4\"));\n\n\tprintln!(\"{}\", chessboard.evaluate());\n\t\n\tlet best_move = MoveSearcher::new(\u0026chessbboard)\n\t\t.max_depth(10)\n\t\t.max_time(Duration::from_secs(5))\n\t\t.search()\n\t\t.expect(\"Failed to find move\");\n\tchessboard.make_move(best_move);\n}\n```\n\nUse the `cargo doc` command to generate the full documentation.\n\n## Tests\n\nTo run the full test suite, run [Cargos](https://doc.rust-lang.org/cargo/) test command.\n\n```console\nfoo@bar:~$ cargo test\n```\n\nIt is also recommended to use the `--release` flag as some of the tests take a long time to run.\n\n## Benchmarks\n\n**Xadrez** also has benchmarks which you can use to test the performance of the engine on your system.\n\n```console\nfoo@bar:~$ cargo bench\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjovialen%2Fxadrez","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjovialen%2Fxadrez","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjovialen%2Fxadrez/lists"}