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

53 lines
1.1 KiB
Markdown

# 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`:
```bash
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 `develop` → `master`
3. Master deploys to production automatically