Files
screenjob/CONTRIBUTING.md

1.3 KiB

Contributing to ScreenJob

Development Setup

  1. Use Python 3.11+.
  2. Install dependencies:
pip install -r requirements.txt
  1. 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:
pytest -q
  1. 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