Contributing

September 18, 2026 · View on GitHub

Setup

Apple Silicon Mac (M1+), macOS 13+, Python 3.12.

git clone https://github.com/bnsd55/jevmlx && cd jevmlx
uv venv .venv && uv pip install --python .venv/bin/python -e '.[dev]'
uv run pytest -m "not slow" -q      # fast suite: no model download
uv run ruff check --fix . && uv run ruff format .

Slow tests load a real 0.5B model (pytest -m slow); run them once before touching the engine. Code layout and module responsibilities: ARCHITECTURE.md.

Ground rules

  • Branch off main, small focused PRs, one logical change per PR.
  • Apple Silicon only; the engine fails fast on other platforms.
  • No new dependencies without an issue describing why.
  • No compatibility shims. When behavior changes, delete the old path, keys, flags, and names together with their callers and tests. No aliases, no fallbacks, no deprecation periods.
  • Run ruff check --fix . && ruff format . and the fast tests before pushing.

Pull requests

  • Fill the PR template; keep the description to what and why.
  • Update tests in the same change as the code they cover.
  • Never commit datasets, model weights, or files over 5 MB.

Benchmark results

To contribute accuracy or latency numbers from your own Mac, follow BENCHMARKING.md — one results directory per (model × scorer × dataset), raw predictions included.

Conduct

Be civil and assume good faith; this project follows the Contributor Covenant spirit — see CODE_OF_CONDUCT.md and SECURITY.md for how to report conduct or security issues.