Skip to content

Tools and Commands

This page lists the exact local commands and tool statuses that matter for development in this repo.

Repo Commands

test

  • Command: python -m pytest -q
  • Purpose: run the default offline test suite.
  • Status: ready

smoke

  • Command: python -m tox -e smoke
  • Purpose: run the canonical example and runtime smoke checks through tox.
  • Status: ready

preflight

  • Command: python -m tox -e preflight
  • Purpose: run the full local gate before a risky push or merge.
  • Status: ready

lint

  • Command: python -m ruff check .
  • Purpose: run repository lint checks.
  • Status: ready

format

  • Command: python -m ruff format .
  • Purpose: apply repository formatting rules.
  • Status: ready

type_bootstrap

  • Command: python -m pyrefly check src/linkedin_web_scraper/config/job_scraper_config.py src/linkedin_web_scraper/config/job_scraper_advanced_config.py src/linkedin_web_scraper/config/job_scraper_config_factory.py src/linkedin_web_scraper/config/openai.py src/linkedin_web_scraper/config/storage.py src/linkedin_web_scraper/config/options.py src/linkedin_web_scraper/config/runtime.py src/linkedin_web_scraper/application/daily_scrape_service.py src/linkedin_web_scraper/application/linkedin_job_scraper.py src/linkedin_web_scraper/application/storage.py src/linkedin_web_scraper/application/runtime_runner.py src/linkedin_web_scraper/application/release_manager.py src/linkedin_web_scraper/domain/job_data_cleaner.py src/linkedin_web_scraper/domain/job_title_classifier.py src/linkedin_web_scraper/infra/logging.py src/linkedin_web_scraper/infra/paths.py src/linkedin_web_scraper/infra/http/policy.py src/linkedin_web_scraper/infra/http/utils.py src/linkedin_web_scraper/infra/http/job_scraper.py src/linkedin_web_scraper/infra/openai/models.py src/linkedin_web_scraper/infra/openai/openai_handler.py src/linkedin_web_scraper/infra/openai/job_description_processor.py src/linkedin_web_scraper/infra/storage/models.py src/linkedin_web_scraper/infra/storage/sqlite.py
  • Purpose: run the current canonical-package Pyrefly seam across config, application orchestration, domain logic, and core infrastructure helpers.
  • Status: incremental

docs

  • Command: python -m mkdocs build --strict
  • Purpose: build user-facing and internal documentation and fail on nav or markdown issues.
  • Status: ready

build

  • Command: python -m build --no-isolation
  • Purpose: build the source distribution and wheel from the current working tree.
  • Status: ready

smoke_examples

  • Command: python -m pytest -q tests/test_example_smoke.py tests/test_example_advanced_config_smoke.py tests/test_example_openai_smoke.py tests/test_main_smoke.py tests/test_process_ds_jobs_smoke.py
  • Purpose: run the examples/ scripts and main orchestration smoke checks directly.
  • Status: ready

tox_all

  • Command: python -m tox
  • Purpose: run the tox matrix with missing interpreters skipped.
  • Status: ready

Local Tool Status

git

  • Check: git status --short
  • Review helper: git diff --stat
  • Status: available_now

python

  • Check: python --version
  • Status: available_now

gh

  • Check: gh auth status
  • Status: blocked_or_misconfigured
  • Current note: the CLI is installed, but the active auth token is invalid in this environment.

docker

  • Check: docker version
  • Status: blocked_or_misconfigured
  • Current note: the CLI is installed, but the daemon or config are not currently usable from this session.

codex

  • Check: codex --help
  • Status: available_now
  • Current note: the direct executable exists, but some shells may hit execution-policy issues with wrapper scripts. Prefer documented Codex workflows over local shell assumptions.

Why The Commands Use python -m

  • The repo toolchain is more reliable when invoked through the active Python interpreter.
  • It avoids dependence on whether script shims are on PATH.