Files
screenjob/CONTRIBUTING.md

59 lines
1.3 KiB
Markdown

# 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