mirror of
https://github.com/ghndrx/shellmate.git
synced 2026-02-10 06:45:02 +00:00
Play chess in your terminal over SSH. No installs, no accounts. Features: - Beautiful terminal-filling chess board with ANSI colors - Play against Stockfish AI (multiple difficulty levels) - Two-step move interaction with visual feedback - Leaderboard with PostgreSQL persistence - SSH key persistence across restarts Infrastructure: - Docker containerized deployment - CI/CD pipeline for dev/staging/production - Health checks with auto-rollback - Landing page at shellmate.sh Tech: Python 3.12+, asyncssh, python-chess, Stockfish
90 lines
1.9 KiB
Markdown
90 lines
1.9 KiB
Markdown
# ♟️ ShellMate
|
|
|
|
**SSH into chess mastery.**
|
|
|
|
```bash
|
|
ssh play@shellmate.sh
|
|
```
|
|
|
|
> *Experience chess in your terminal. Play against AI, challenge friends, or master the game with interactive tutorials.*
|
|
|
|
## ✨ Features
|
|
|
|
### 🎮 Game Modes
|
|
- **vs AI** — Challenge Stockfish at adjustable difficulty (beginner → grandmaster)
|
|
- **vs Player** — Real-time PvP matchmaking with ELO ratings
|
|
- **vs Friend** — Private rooms with shareable codes
|
|
|
|
### 📚 Learn Mode
|
|
- **Interactive Tutorials** — From absolute basics to advanced tactics
|
|
- **Move Analysis** — AI explains *why* each move matters
|
|
- **Puzzle Rush** — Tactical training exercises
|
|
- **Opening Explorer** — Learn popular openings with explanations
|
|
- **Endgame Drills** — Master critical endgame patterns
|
|
|
|
### 🏆 Compete
|
|
- Global ELO leaderboard
|
|
- Game history & replay
|
|
- Achievements & stats
|
|
|
|
## 🚀 Quick Start
|
|
|
|
```bash
|
|
# Play a game
|
|
ssh play@shellmate.sh
|
|
|
|
# Learn chess
|
|
ssh learn@shellmate.sh
|
|
|
|
# Spectate live games
|
|
ssh watch@shellmate.sh
|
|
```
|
|
|
|
## 🖥️ Controls
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| Arrow keys | Navigate board |
|
|
| Enter | Select/Move piece |
|
|
| `h` | Get hint |
|
|
| `u` | Undo move |
|
|
| `n` | New game |
|
|
| `r` | Resign |
|
|
| `q` | Quit |
|
|
|
|
## 🏗️ Tech Stack
|
|
|
|
- **Python 3.11+** with type hints
|
|
- **Textual** — Modern TUI framework
|
|
- **python-chess** — Chess logic & notation
|
|
- **Stockfish** — AI engine
|
|
- **asyncssh** — SSH server
|
|
- **Redis** — Matchmaking & sessions
|
|
- **PostgreSQL** — User data & game history
|
|
|
|
## 🐳 Self-Hosting
|
|
|
|
```bash
|
|
git clone https://github.com/ghndrx/shellmate.git
|
|
cd shellmate
|
|
docker compose up -d
|
|
```
|
|
|
|
Then connect:
|
|
```bash
|
|
ssh -p 2222 play@localhost
|
|
```
|
|
|
|
See [docs/self-hosting.md](docs/self-hosting.md) for configuration options.
|
|
|
|
## 📝 License
|
|
|
|
MIT
|
|
|
|
---
|
|
|
|
**Website:** [shellmate.sh](https://shellmate.sh)
|
|
**Game:** `ssh play@shellmate.sh`
|
|
|
|
*Built with ♟️ by [Greg Hendrickson](https://gregh.dev)*
|