golfgame/.env.example
adlee-was-taken 9fc6b83bba v3.0.0: V3 features, server refactoring, and documentation overhaul
- Extract WebSocket handlers from main.py into handlers.py
- Add V3 feature docs (dealer rotation, dealing animation, round end reveal,
  column pair celebration, final turn urgency, opponent thinking, score tallying,
  card hover/selection, knock early drama, column pair indicator, swap animation
  improvements, draw source distinction, card value tooltips, active rules context,
  discard pile history, realistic card sounds)
- Add V3 refactoring docs (ai.py, main.py/game.py, misc improvements)
- Add installation guide with Docker, systemd, and nginx setup
- Add helper scripts (install.sh, dev-server.sh, docker-build.sh)
- Add animation flow diagrams documentation
- Add test files for handlers, rooms, and V3 features
- Add e2e test specs for V3 features
- Update README with complete project structure and current tech stack
- Update CLAUDE.md with full architecture tree and server layer descriptions
- Update .env.example to reflect PostgreSQL (remove SQLite references)
- Update .gitignore to exclude virtualenv files, .claude/, and .db files
- Remove tracked virtualenv files (bin/, lib64, pyvenv.cfg)
- Remove obsolete game_log.py (SQLite) and games.db

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:03:45 -05:00

109 lines
3.5 KiB
Plaintext

# =============================================================================
# Golf Game Server Configuration
# =============================================================================
# Copy this file to .env and customize as needed.
# All values shown are defaults.
# -----------------------------------------------------------------------------
# Server Settings
# -----------------------------------------------------------------------------
# Host to bind to (0.0.0.0 for all interfaces)
HOST=0.0.0.0
# Port to listen on
PORT=8000
# Enable debug mode (more verbose logging, auto-reload)
DEBUG=false
# Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# Environment name (development, staging, production)
ENVIRONMENT=development
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
# PostgreSQL connection URL (event sourcing, game logs, stats)
# For development with Docker: postgresql://golf:devpassword@localhost:5432/golf
DATABASE_URL=postgresql://golf:devpassword@localhost:5432/golf
# PostgreSQL URL for auth/stats features (can be same as DATABASE_URL)
POSTGRES_URL=postgresql://golf:devpassword@localhost:5432/golf
# -----------------------------------------------------------------------------
# Room Settings
# -----------------------------------------------------------------------------
# Maximum players per game room
MAX_PLAYERS_PER_ROOM=6
# Room timeout in minutes (inactive rooms are cleaned up)
ROOM_TIMEOUT_MINUTES=60
# Length of room codes (e.g., 4 = "ABCD")
ROOM_CODE_LENGTH=4
# -----------------------------------------------------------------------------
# Security & Authentication
# -----------------------------------------------------------------------------
# Secret key for JWT tokens (generate with: python -c "import secrets; print(secrets.token_hex(32))")
SECRET_KEY=
# Enable invite-only mode (requires invitation to register)
INVITE_ONLY=false
# Comma-separated list of admin email addresses
ADMIN_EMAILS=
# -----------------------------------------------------------------------------
# Game Defaults
# -----------------------------------------------------------------------------
# Default number of rounds (holes) per game
DEFAULT_ROUNDS=9
# Cards to flip at start of each round (0, 1, or 2)
DEFAULT_INITIAL_FLIPS=2
# Enable jokers in deck by default
DEFAULT_USE_JOKERS=false
# Require flipping a card after discarding from deck
DEFAULT_FLIP_ON_DISCARD=false
# -----------------------------------------------------------------------------
# Card Values (Standard 6-Card Golf)
# -----------------------------------------------------------------------------
# Customize point values for cards. Normally you shouldn't change these.
CARD_ACE=1
CARD_TWO=-2
CARD_KING=0
CARD_JOKER=-2
# House rule values
CARD_SUPER_KINGS=-2 # King value when super_kings enabled
CARD_TEN_PENNY=1 # 10 value when ten_penny enabled
CARD_LUCKY_SWING_JOKER=-5 # Joker value when lucky_swing enabled
# -----------------------------------------------------------------------------
# Production Features (Optional)
# -----------------------------------------------------------------------------
# Sentry error tracking
# SENTRY_DSN=https://your-sentry-dsn
# Resend API for emails (required for user registration/password reset)
# RESEND_API_KEY=your-api-key
# Enable rate limiting (recommended for production)
# RATE_LIMIT_ENABLED=true
# Base URL for email links
# BASE_URL=https://your-domain.com