{"id":25070805,"url":"https://github.com/strvdr/zduel","last_synced_at":"2025-03-31T16:28:59.319Z","repository":{"id":273968750,"uuid":"921482657","full_name":"strvdr/zduel","owner":"strvdr","description":"A CLI Chess Tool","archived":false,"fork":false,"pushed_at":"2025-01-31T15:18:59.000Z","size":32454,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T16:32:28.423Z","etag":null,"topics":["chess","chess-cli","chess-manager","cli","tui"],"latest_commit_sha":null,"homepage":"https://zduel.strydr.net","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strvdr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-01-24T03:02:46.000Z","updated_at":"2025-01-31T15:19:03.000Z","dependencies_parsed_at":"2025-01-24T04:18:12.469Z","dependency_job_id":"68dec1e2-e6fd-4c30-a9f0-4b2504001425","html_url":"https://github.com/strvdr/zduel","commit_stats":null,"previous_names":["strvdr/zduel"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvdr%2Fzduel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvdr%2Fzduel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvdr%2Fzduel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvdr%2Fzduel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strvdr","download_url":"https://codeload.github.com/strvdr/zduel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246498203,"owners_count":20787274,"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-cli","chess-manager","cli","tui"],"created_at":"2025-02-06T21:36:19.349Z","updated_at":"2025-03-31T16:28:59.283Z","avatar_url":"https://github.com/strvdr.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zduel\n\n[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)\n\nA command-line chess tool for managing engine matches and tournaments, with a focus on engine vs engine gameplay.\n\n## Features\n\n- Interactive CLI interface with color-coded output\n- Engine vs engine matches with multiple time controls\n- Real-time chess board visualization\n- Match logging and analysis\n- Cross-platform support (Windows, macOS, Linux)\n\n## Installation\n\n### Prerequisites\n- Zig 0.14.0 or later\n- Chess engines (UCI compatible)\n\n### Building from Source\n```bash\ngit clone https://github.com/strvdr/zduel.git\ncd zduel\nzig build\n```\n\nThe executable will be available at `zig-out/bin/zduel`.\n\n## Usage\n\n### Interactive Mode\n\nExecute the following command from the project root. If you fail to run zduel from the root of the project, it won't be able to find engines in the \"engines\" folder. \n```bash\n./zig-out/bin/zduel\n```\n### Engine Setup\n1. Create an `engines` directory in your zduel folder\n2. Place UCI-compatible chess engines in the directory\n3. Use `engines` command to manage them\n\nIf you don't have any chess engines installed, I recommend my engines [Kirin(C)](https://github.com/strvdr/kirin-v0) and [Kirin(Zig)](https://github.com/strvdr/kirin-chess) as a place to start. They are both UCI compatible chess engines in the ~2000 elo range. \n\n### Available Commands\n- `help` - Display commands and usage\n- `docs` - Open documentation in browser\n- `engines` - Manage chess engines\n- `match` - Start an engine vs engine match\n\n### Match Types\n- Blitz (1 second per move)\n- Rapid (5 seconds per move)  \n- Classical (15 seconds per move)\n- Tournament (Best of 3 rapid games)\n\n## Configuration\nzduel has a basic configuration system powered by [TOML](https://toml.io/en/) and my (not great) toml parser written in Zig, [ztoml](https://github.com/strvdr/ztoml).\n\nCurrently, only piece color preference is available within the config system, but I will add more features as I want them. If you want a feature, ask me or make it yourself and send a PR :)\n\nTo configure, navigate to the `.config` directory and open `zduel.toml`. From there, you can edit the colors as you wish. \n```fish\ncd .config\nnvim zduel.toml\n...\n```\n\n## Project Structure\n```\nzduel/\n├── src/\n│   ├── main.zig       # Entry point\n│   ├── cli.zig        # CLI interface\n│   ├── enginePlay.wig # Engine management\n│   ├── engineMatch.zig # Match handling\n│   ├── displayManager.zig # Board visualization\n│   └── logger.zig     # Match logging\n├── docs/\n├── logs/\n\n```\n\n## Images\n![image](https://github.com/user-attachments/assets/826def9e-38d2-4086-af99-655d060bc9c1)\n\n\n![image](https://github.com/user-attachments/assets/81b80a3d-0aa3-4403-8cf5-1d8496fa5eb7)\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the GPLv3 License - see the LICENSE file for details.\n\n## Documentation\n\nFull documentation available at [https://zduel.strydr.net](https://zduel.strydr.net)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrvdr%2Fzduel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrvdr%2Fzduel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrvdr%2Fzduel/lists"}