# 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