Most development happens in the Python package. Use a virtual environment, pip install -r requirements.txt, pip install -e ., and pytest from the repository root. See CONTRIBUTING and AGENTS for commands, layout, and linting.
CI for Python is defined in .github/workflows/tests.yml (job python, Python 3.10).
Current state: farm/editor/package.json defines a Jest suite only (npm test). There is no dev, build, or Electron tooling in that package today.
From farm/editor/:
npm ci # or npm install
npm test -- --runInBandCI runs the same under the js-ui job in .github/workflows/tests.yml (Node 20).
Design notes for a future Vite + React (+ optional Electron) Config Explorer live in Electron Config Explorer architecture. The IPC API reference describes the target preload/main channel contract. Use those documents when implementing or reviewing UI work; they are not guaranteed to match any checked-in src/ tree until that application is added.
- Python: follow CONTRIBUTING; run
pytestand Ruff/Pylint as appropriate. - Editor JS: add or update Jest tests under
farm/editor/and keep them passing under Node 20.