# Contributor Note To add or change a config option, update `src/config/definitions.ts` first. Defaults, runtime-option metadata, and generated `config.example.jsonc` are derived from this centralized source. ## Architecture The current runtime design, composition model, and extension guidelines are documented in [`architecture.md`](/architecture). Contributor guidance: - Overlay window/visibility state is owned by `src/core/services/overlay-manager-service.ts`. - Prefer direct inline deps objects in `main.ts` for simple pass-through wiring. - Add a `*-deps-runtime-service.ts` helper only when it performs meaningful adaptation (not identity mapping). ## Environment Variables | Variable | Description | | ------------------------ | ---------------------------------------------- | | `SUBMINER_APPIMAGE_PATH` | Override AppImage location for subminer script | | `SUBMINER_YT_SUBGEN_MODE` | Override `youtubeSubgen.mode` for launcher | | `SUBMINER_WHISPER_BIN` | Override `youtubeSubgen.whisperBin` for launcher | | `SUBMINER_WHISPER_MODEL` | Override `youtubeSubgen.whisperModel` for launcher | | `SUBMINER_YT_SUBGEN_OUT_DIR` | Override generated subtitle output directory | | `SUBMINER_YT_SUBGEN_AUDIO_FORMAT` | Override extraction format used for whisper fallback | | `SUBMINER_YT_SUBGEN_KEEP_TEMP` | Set to `1` to keep temporary subtitle-generation workspace |