# --- Python ---------------------------------------------------------------
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
.pytest_cache/

# --- Node / Electron ------------------------------------------------------
node_modules/
# Vite's renderer output and the compiled main process. Both are rebuilt by
# `npm run build`, and shipping them would mean a stale UI in the repo.
dist/
dist-electron/

# --- Build outputs --------------------------------------------------------
# `build/` is NOT ignored wholesale, deliberately. It is electron-builder's
# `buildResources` directory and holds real source — build/icon.ico,
# build/icon.png and build/installer.nsh, which carries the service install and
# uninstall hooks. Ignoring the directory would have pushed a repo whose CI
# builds an installer with no icon and no service setup, and nothing would say
# so: electron-builder treats a missing `nsis.include` as a build failure and a
# missing icon as a default.
build/lib/
build/bdist*/
build/preview-*.png

# The frozen Python engine (npm run build:engine) and the packaged installers
# (npm run dist). Both are large, platform-specific and produced by CI.
engine-dist/
engine-work/
release/

# --- Local state ----------------------------------------------------------
# Node pool and settings belong to a machine, not to the project. The pool in
# particular is ~16 MB of servers that will be dead within days.
pool.json
settings.json
harvest.jsonl

# Your own server configs, which are credentials.
own/
*.ovpn
*.conf
