Files
shellmate/CONTRIBUTING.md
Greg Hendrickson 590fbe045c 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
2026-02-01 20:05:58 +00:00

1.1 KiB

Contributing to ShellMate

Thanks for your interest in contributing! 🎉

Branch Strategy

feature/* ──→ develop ──→ master
                │            │
             staging      production
  • develop — Default branch, all PRs target here
  • master — Production releases only
  • feature/* — Feature branches off develop

Development Flow

  1. Fork the repo
  2. Create a feature branch from develop:
    git checkout develop
    git pull origin develop
    git checkout -b feature/my-feature
    
  3. Make your changes
  4. Run tests: pytest tests/ -v
  5. Run linting: ruff check src/
  6. Push and create a PR to develop

Code Style

  • Python 3.11+
  • Type hints required
  • Ruff for linting
  • 100 char line limit

Commit Messages

Use conventional commits:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • refactor: Code refactor
  • test: Tests
  • chore: Maintenance

Release Process

  1. PRs merged to develop deploy to staging
  2. When ready, merge developmaster
  3. Master deploys to production automatically