# The library's MEDIA is never committed; the catalogue is.
library/covers/
library/audio/
library/mixes/*.m4a
library/mixes/*.wav
library/peaks.json

# Per-machine, absolute paths inside — a committed one points a fresh clone at someone else's disk
library/sources.json
library/view-state.json
library/backups/

# Per-machine sync bookkeeping. device.json is this install's identity — committing it would make
# two clones claim the same device, and their play counts would overwrite rather than add.
library/device.json
library/sync-state.json

# The reference sync server's storage, and the account store — both hold live
# credentials and customer email addresses. Neither belongs in a repo.
sync-data/
accounts.json
*.accounts.json

__pycache__/
*.pyc
.venv/

# Studio add-on: the isolated engine environment (see audiolab.py)
.nodian/
library/entitlement.json
library/vst-plugins.json
library/audio/stems/

library/vst-config.json
library/vst-chains.json

library/catalog.json
library/audio/pulled/

# Secrets. ai.py reads a .env next to the repo root (see load_env), and .env.example exists
# precisely so people copy it to .env and fill in ANTHROPIC_API_KEY / DASHSCOPE_API_KEY /
# the Freemius ids. Nothing was stopping git from tracking that file. The sibling repos
# (youtube-builder, comfyui) have always ignored it; this one did not.
.env
.env.*
!.env.example
