feat: finalize production cleanup with structured agent responses and project governance
This commit is contained in:
58
CONTRIBUTING.md
Normal file
58
CONTRIBUTING.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user