{"id":37633625,"url":"https://github.com/gautam8404/kelp","last_synced_at":"2026-01-16T11:00:43.507Z","repository":{"id":186402448,"uuid":"675117390","full_name":"gautam8404/kelp","owner":"gautam8404","description":"A Chess Engine written in Rust.","archived":false,"fork":false,"pushed_at":"2025-10-08T13:31:16.000Z","size":347,"stargazers_count":22,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-08T14:43:27.483Z","etag":null,"topics":["chess","chess-engine","game","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gautam8404.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-05T20:51:47.000Z","updated_at":"2025-03-23T21:13:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"f04f7bf3-ff33-4ab2-887c-75970e0f9487","html_url":"https://github.com/gautam8404/kelp","commit_stats":null,"previous_names":["gautam8404/kelp"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/gautam8404/kelp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gautam8404%2Fkelp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gautam8404%2Fkelp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gautam8404%2Fkelp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gautam8404%2Fkelp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gautam8404","download_url":"https://codeload.github.com/gautam8404/kelp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gautam8404%2Fkelp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","game","rust"],"created_at":"2026-01-16T11:00:28.379Z","updated_at":"2026-01-16T11:00:43.474Z","avatar_url":"https://github.com/gautam8404.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kelp\n\n![Rust-CI](https://github.com/gautam8404/kelp/actions/workflows/rust-ci.yml/badge.svg)\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"img/kelp.png\" alt=\"Kelp\" width=\"200\"\u003e\n\u003c/p\u003e\n\nKelp is a UCI compatible chess engine written in Rust Using standard chess algorithms.\n\nKelp is work in progress. Currently, it can be used as a UCI engine But evaluation needs a lot of work to be done especially the endgame evaluation.\n\n## Play Against It\n\n\nLichess:- https://lichess.org/@/KelpBot\n\nKelp is UCI compatible it should work with any UCI compatible gui, so far kelp has been tested on [Pychess](https://github.com/pychess/pychess), [BanskaiGUI](https://banksiagui.com/), [Arena](http://www.playwitharena.de/) and [cutechess](https://cutechess.com/).\n\n\n## Example\n\n![Example](img/example.png)  \n\n## Installation\n\nKelp Binary can be downloaded from [Releases](https://github.com/gautam8404/kelp/releases) page for Windows and Linux.\n\n## Build\n\n```bash\ncargo build --release\n```\n\n## About\n\n### Board\n- A bitboard[12] array is used to represent the board. Each piece is mapped to a bitboard.\n- standard make/unmake move functions are used, unmake move use move history to unmake instead of copy/take approach.\n\n### Search\n- Iterative deepening with aspiration windows.\n- Negamax with alpha-beta pruning.\n- Principal Variation Search.\n- Late Move Reduction.\n- Null Move Pruning.\n- Quiescence Search.\n- Transposition Table.\n- Move Ordering\n  - MVV-LVA\n  - Killer Moves\n  - History Heuristic\n  - PV Table\n\n### Evaluation\n- Piece Square Tables\n- Tapered Eval\n- Basic King Safety\n- Mobility \u0026 Basic Mop Up Evaluation\n- Passed Pawns, Isolated Pawns, Doubled Pawns\n\n### TODO\n- [ ] Better King Safety and Pawn Shield\n- [ ] Better Mobility\n- [ ] Better Mop Up Evaluation\n- [ ] Opening Book\n- [ ] Integrate Syzygy Endgame Tablebases\n- [ ] Integrate Stockfish's NNUE\n\n## Tests\n\nKelp Implements some basic tests suchs as perft test, fen parsing and incremental update of zobrist hash.\nPerft results are compared with [Perft Results](https://www.chessprogramming.org/Perft_Results) and incremental update of zobrist hash is compared with scratch generation of zobrist hash.\n\n```bash\ncargo test\n```\n\n## References \u0026 Resources\n\nResources that helped me a lot in making this engine.\n\n- [Chess Programming Wiki](https://www.chessprogramming.org/Main_Page)\n- [Vice by Bluefever Software](https://github.com/bluefeversoft/vice) and corresponfing [playlist](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg)\n- [BBC by Code Monkey King](https://github.com/maksimKorzh/bbc) and the correspponding [playlist](https://www.youtube.com/playlist?list=PLmN0neTso3Jxh8ZIylk74JpwfiWNI76Cs)\n- [Pleco Chess Engine](https://github.com/pleco-rs/Pleco)\n- [Chess-rs Chess Engine](https://github.com/ParthPant/chess-rs)\n- [Fruit Chess Engine](https://github.com/Warpten/Fruit-2.1)\n- [codefish Chess Engine](https://github.com/jsilll/codfish)\n- [TSCP Chess Engine](http://www.tckerrigan.com/Chess/TSCP/)\n\n## License\nKelp is licensed under the GNU General Public License v3.0. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgautam8404%2Fkelp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgautam8404%2Fkelp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgautam8404%2Fkelp/lists"}