# Contributing to ScreenJob ## Development Setup 1. Use Python 3.11+. 2. Install dependencies: ```powershell pip install -r requirements.txt ``` 3. Create `.env` with required keys: - `OPENAI_API_KEY` - `SCREENJOB_TOKEN` ## Branch and PR Workflow 1. Create a feature branch from `main`. 2. Keep changes focused and modular. 3. Add or update tests for behavior changes. 4. Run checks locally before opening a PR: ```powershell pytest -q ``` 5. Open a PR with: - problem statement - approach summary - test evidence ## Code Guidelines - Favor small, single-purpose functions. - Keep runtime and API behavior deterministic where possible. - Preserve backward compatibility for external API contracts unless explicitly changing versioned behavior. - Use clear error messages and structured outputs. - Do not commit secrets, API keys, or runtime artifacts. ## Testing Expectations - Unit tests for new logic paths. - API tests for request/response contract changes. - Regression coverage for bug fixes. ## Security and Safety - Treat safety checks as part of core behavior. - Do not bypass auth/token requirements in server code. - Restrict file access to intended directories (for artifacts/endpoints). ## Reporting Issues Use issues for: - reproducible bugs - security concerns (with minimal sensitive detail) - feature requests with concrete use cases