# ───────────────────────────────────────────────────────────────────────── # Python # ───────────────────────────────────────────────────────────────────────── __pycache__/ *.pyc *.pyo *.so *.egg *.egg-info/ .venv/ .pytest_cache/ .mypy_cache/ .ruff_cache/ dist/ build/ # ───────────────────────────────────────────────────────────────────────── # Node / Turborepo / Tauri # ───────────────────────────────────────────────────────────────────────── node_modules/ .turbo/ bun.lockb frontend/src-tauri/target/ # ───────────────────────────────────────────────────────────────────────── # Secrets & env # ───────────────────────────────────────────────────────────────────────── .env .env.local .env.*.local # ───────────────────────────────────────────────────────────────────────── # OS junk # ───────────────────────────────────────────────────────────────────────── .DS_Store Thumbs.db # ───────────────────────────────────────────────────────────────────────── # Editor / tool caches # ───────────────────────────────────────────────────────────────────────── .claude/ /.cache* /.tmp/ # ───────────────────────────────────────────────────────────────────────── # Research clones — upstream repos used as reference, not shipped # ───────────────────────────────────────────────────────────────────────── research/ # ───────────────────────────────────────────────────────────────────────── # Runtime data & artifacts # (app-local state — safe to regenerate) # ───────────────────────────────────────────────────────────────────────── omnivoice_data/ /data/ /local/ /results/ /download /run* *.db *.db-shm *.db-wal *.log *.wav # ───────────────────────────────────────────────────────────────────────── # Frozen regression fixture (GATE-01) — explicit allow-list. # The patterns above (omnivoice_data/, *.db, *.wav) would otherwise hide # tests/fixtures/omnivoice_data/ from git. Phase 0 requires this fixture # to be checked in (no LFS) so every PR's smoke matrix loads it. # # We only un-ignore the EXACT files the seed script produces. The backend # creates runtime subdirs (dub_jobs/, outputs/, preview/, etc.) when the # smoke test boots — those stay ignored. # ───────────────────────────────────────────────────────────────────────── !tests/fixtures/omnivoice_data/ !tests/fixtures/omnivoice_data/README.md !tests/fixtures/omnivoice_data/omnivoice.db !tests/fixtures/omnivoice_data/voices/ !tests/fixtures/omnivoice_data/voices/test-voice/ !tests/fixtures/omnivoice_data/voices/test-voice/profile.json !tests/fixtures/omnivoice_data/voices/test-voice/sample.wav *.jsonl demo_recording.webp cloudflared cloudflared.tgz # ───────────────────────────────────────────────────────────────────────── # Reference / experiment scratch # ───────────────────────────────────────────────────────────────────────── /exp*/ example.py examples/data* examples/download* examples/exp*/ omnivoice.zip frontend/src-tauri/binaries/ffmpeg # cuDNN 8 compat libs (auto-installed by scripts/setup_cudnn.py) cudnn8_compat/ test-results/ # Research repos (local only) research/ !.planning/research/ !.planning/research/** marketing.md .coverage /engines/