Thanks for contributing to jobmatch-bot.
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e .Open-source contributions should target job_intel/.
Primary run command:
cp job_intel_sources.example.yaml job_intel_sources.yaml
python -m job_intel.cli --sources job_intel_sources.yaml --out-dir ./out --min-score 0.50- Add a company entry and a source entry in
job_intel_sources.example.yaml. - Use a stable structured source if possible.
- Prefer ATS-backed endpoints over general HTML scraping.
- Add a new adapter in
job_intel/adapters/. - Implement the
BaseAdaptercontract. - Return
RawJobobjects fromfetch_raw. - Normalize through
normalize_job. - Wire the adapter in
job_intel/pipeline.py.
- Keep functions small and readable.
- Prefer structured APIs and embedded data over DOM scraping.
- Never swallow source failures silently.
- Keep diagnostics accurate.
- Don’t add a web app or auth layer.
Run focused tests when available:
python -m pytestIf pytest is not installed in the target environment, document that in your PR notes.
- Keep changes focused.
- Update docs when you add a source or adapter.
- Include a sample diagnostics row when possible.
- Avoid committing local output files, resumes, caches, or virtualenv content.