mirror of
https://github.com/ghndrx/shellmate.git
synced 2026-02-10 06:45:02 +00:00
feat: ShellMate - SSH Chess TUI
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
This commit is contained in:
53
pyproject.toml
Normal file
53
pyproject.toml
Normal file
@@ -0,0 +1,53 @@
|
||||
[project]
|
||||
name = "shellmate"
|
||||
version = "0.1.0"
|
||||
description = "SSH into chess mastery - Terminal chess over SSH"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
authors = [{ name = "Greg Hendrickson", email = "greg@gregh.dev" }]
|
||||
requires-python = ">=3.12"
|
||||
dependencies = [
|
||||
"textual>=7.4.0",
|
||||
"python-chess>=1.999",
|
||||
"asyncssh>=2.22.0",
|
||||
"redis>=7.1.0",
|
||||
"asyncpg>=0.30.0",
|
||||
"stockfish>=4.0.6",
|
||||
"rich>=14.3.0",
|
||||
"pydantic>=2.12.0",
|
||||
"pydantic-settings>=2.7.0",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=8.3.0",
|
||||
"pytest-asyncio>=0.25.0",
|
||||
"ruff>=0.9.0",
|
||||
"mypy>=1.14.0",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
shellmate = "shellmate.cli:main"
|
||||
shellmate-server = "shellmate.ssh.server:main"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 100
|
||||
target-version = "py312"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["E", "F", "I", "N", "W", "UP"]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.12"
|
||||
strict = true
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
testpaths = ["tests"]
|
||||
filterwarnings = [
|
||||
"ignore::DeprecationWarning",
|
||||
]
|
||||
Reference in New Issue
Block a user