{"id":27439215,"url":"https://github.com/Hardcode3/BitBishop","last_synced_at":"2026-01-21T09:01:51.924Z","repository":{"id":287778786,"uuid":"965748441","full_name":"Hardcode3/ChessEngine","owner":"Hardcode3","description":"A chess engine written in C++","archived":false,"fork":false,"pushed_at":"2025-04-14T20:52:59.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T21:48:19.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hardcode3.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}},"created_at":"2025-04-13T20:24:42.000Z","updated_at":"2025-04-14T20:53:02.000Z","dependencies_parsed_at":"2025-04-14T21:48:51.904Z","dependency_job_id":null,"html_url":"https://github.com/Hardcode3/ChessEngine","commit_stats":null,"previous_names":["hardcode3/cppchessengine","hardcode3/chessengine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hardcode3%2FChessEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hardcode3%2FChessEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hardcode3%2FChessEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hardcode3%2FChessEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hardcode3","download_url":"https://codeload.github.com/Hardcode3/ChessEngine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968741,"owners_count":21191158,"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":[],"created_at":"2025-04-14T21:51:40.086Z","updated_at":"2026-01-21T09:01:51.904Z","avatar_url":"https://github.com/Hardcode3.png","language":"CMake","readme":"# BitBishop\n\nA modern chess engine written in C++23, designed for learning low-level programming techniques and chess engine development.\n\n## About\n\nBitBishop is a personal project created to explore low-level manipulations in modern C++.\nWhile primarily a learning endeavor, the codebase is structured and documented to benefit anyone interested in chess engine development or modern C++ practices.\n\nThis project is currently 🚧 **under active development** 🚧 and aims to implement the [Universal Chess Interface (UCI) protocol](https://www.chessprogramming.org/UCI), making it compatible with popular chess GUIs and analysis tools.\n\n## Project Goals\n\n- 🎯 **Educational**: Learn and demonstrate low-level C++ techniques\n- 📚 **Well-documented**: Extensive inline documentation and guides for educational purposes\n- 🏗️ **Clean architecture**: Clear, structured codebase following modern C++ best practices\n- 🧪 **Well-tested**: Extensive testing using Google Tests\n- ♟️ **UCI compliance**: Full implementation of the UCI protocol for chess engines\n- 🔧 **Modern tooling**: Built with C++23, CMake, and vcpkg\n\n## Features\n\n### Current\n\n- Modern C++23 implementation\n- CMake build system with vcpkg dependency management\n- FEN notation support for position representation\n- Structured documentation and guides\n\n### Planned\n\n- Complete UCI protocol implementation\n- Move generation and validation\n- Position evaluation\n- Search algorithms (minimax, alpha-beta pruning)\n- Opening book support\n- Endgame tablebases\n\n## Getting Started\n\n### Prerequisites\n\n- C++23 compatible compiler (GCC 12+, Clang 16+, or MSVC 2022+)\n- CMake 3.20 or higher\n- vcpkg package manager\n- [clang format]\n- [clang tidy]\n\n### Building\n\n- [CMake Guide](./docs/cmake.md) - Build system configuration and usage\n\n## Documentation\n\nThe project includes comprehensive documentation to support learning.\nThese docs are a summary of what i learned while going through the chess world during engine's implementation.\n\nInternal refs:\n\n- [UCI Protocol](./docs/uci_protocol.md) - Universal Chess Interface specification\n- [FEN Notation](./docs/fen_notation.md) - Forsyth–Edwards Notation for position representation\n\nExternal refs:\n\n- [Andrew Healey - Building My Own Chess Engine](https://healeycodes.com/building-my-own-chess-engine)\n- [Chess Programming Wiki](https://www.chessprogramming.org/Getting_Started)\n\n## Project Structure\n\n```\nChessEngine/\n├── build/                       # Build artifacts\n├── cmake/                       # Cmake scripts\n├── docs/                        # Documentation and guides\n├── src/bitbishop/            # Sources (cpp)\n├── include/bitbishop/        # Headers (hpp)\n├── tests/bitbishop           # Unit tests\n├── CMakeLists.txt               # Build configuration\n└── ...\n```\n\n## Contributing\n\nWhile this is primarily a personal learning project, suggestions and constructive feedback are welcome! Feel free to:\n\n- Open issues for bugs or suggestions\n- Submit pull requests with improvements\n- Share your own learning experiences\n\n## License\n\n- [MIT License](./LICENSE)\n\n## Acknowledgments\n\nThis project draws inspiration from the chess programming community and various resources on chess engine development.\n\n## Status\n\n🚧 **In Development** - This engine is not yet functional for actual play. Stay tuned for updates!\n\n---\n\n**Repository**: [github.com/Hardcode3/ChessEngine](https://github.com/Hardcode3/ChessEngine)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHardcode3%2FBitBishop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHardcode3%2FBitBishop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHardcode3%2FBitBishop/lists"}