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
53 lines
1.1 KiB
Markdown
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
|