Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thomas-mauran/chess-tui
Play chess from your terminal đĻ
https://github.com/thomas-mauran/chess-tui
chess cli game linux-game linux-games ratatui rust rust-game tui
Last synced: 3 days ago
JSON representation
Play chess from your terminal đĻ
- Host: GitHub
- URL: https://github.com/thomas-mauran/chess-tui
- Owner: thomas-mauran
- License: mit
- Created: 2023-11-14T20:01:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-16T14:41:07.000Z (about 2 months ago)
- Last Synced: 2025-02-01T15:06:04.805Z (10 days ago)
- Topics: chess, cli, game, linux-game, linux-games, ratatui, rust, rust-game, tui
- Language: Rust
- Homepage: https://thomas-mauran.github.io/chess-tui/
- Size: 10.7 MB
- Stars: 584
- Watchers: 4
- Forks: 34
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - chess-tui
- awesome-rust - chess-tui
- fucking-awesome-rust - chess-tui - A Chess TUI implementation âī¸ (Applications / Games)
- awesome-ratatui - Chess-tui - Terminal-based Chess game. (đģ Apps / đšī¸ Games and Entertainment)
- fucking-awesome-rust - chess-tui - A Chess TUI implementation âī¸ (Applications / Games)
- awesome-rust - chess-tui - A Chess TUI implementation âī¸ (Applications / Games)
README
chess-tui
A rusty chess game in your terminal đĻ![board](./examples/play_against_white_bot.gif)
![GitHub CI](https://github.com/thomas-mauran/chess-tui/actions/workflows/flow_test_build_push.yml/badge.svg)[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)[![GitHub release](https://img.shields.io/github/v/release/thomas-mauran/chess-tui?color=success)](https://github.com/thomas-mauran/chess-tui/releases/latest)
### Description
Chess-tui is a simple chess game you can play from your terminal. It supports local 2 players mode, online multiplayer and playing against any UCI compatible chess engine.
### Quick install
```bash
cargo install chess-tui
chess-tui
```If you want to install the game with your favorite package manager, you can find the installation guide [here](https://thomas-mauran.github.io/chess-tui/docs/Installation/Packaging%20status).
### Available on
[![Packaging status](https://repology.org/badge/vertical-allrepos/chess-tui.svg)](https://repology.org/project/chess-tui/versions)### Features
Helper menu
Local 2 player mode
Online multiplayer
Draws
- Stalemate
- 50 moves rules
- 3 time repetition of the same position
Piece Promotion
no demo available yet
Play against any UCI chess engine as black or white
Play the white pieces
![Play against a chess engine as white](./examples/play_against_white_bot.gif)
Play the black pieces
![Play against a chess engine as black](./examples/play_against_black_bot.gif)
### Connect a chess engine
You can play chess-tui with any UCI compatible chess engines. To do so you will need to use the -e command to give the chess engine binary path.
Example:
```bash
chess-tui -e /your/bin/path
```
Here I installed stockfish using homebrew and gave chess-tui the path the the engine binary.
This command will store in your home directory the chess engine path so you don't have to relink it everytime !
### Configuration
Chess-tui uses a TOML configuration file located at `~/.config/chess-tui/config.toml`. Here are the available configuration options:
```toml
# Path to the chess engine binary
engine_path = "/path/to/engine"
# Display mode: "DEFAULT" or "ASCII"
display_mode = "DEFAULT"
# Logging level: "Off", "Error", "Warn", "Info", "Debug", "Trace"
log_level = "Off"
```
#### Configuration Options:
- **engine_path**: Path to your UCI-compatible chess engine binary
- **display_mode**:
- `DEFAULT`: Uses unicode chess pieces
- `ASCII`: Uses ASCII characters for pieces
- **log_level**: Controls the verbosity of logging
- `Off`: No logging (default)
- `Error`: Only errors
- `Warn`: Warnings and errors
- `Info`: General information, warnings and errors
- `Debug`: Debugging information
- `Trace`: Very verbose debugging information
The config file is automatically created when you first run chess-tui. You can manually edit it to customize your experience.
All logs are stored in `~/.config/chess-tui/logs`.
Base config:
```toml
# no engine path
display_mode = "DEFAULT"
log_level = "Off"
```
### Documentation
You can find the documentation of the project [here](https://thomas-mauran.github.io/chess-tui/docs/intro)
### Roadmap
You can find the roadmap of the project [here](https://github.com/users/thomas-mauran/projects/4) if you want to contribute.
### Crates.io
The project is also available on crates.io [here](https://crates.io/crates/chess-tui)