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:
52
CONTRIBUTING.md
Normal file
52
CONTRIBUTING.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user