/target *.clap *.vst3 dist/*.dmg dist/*.AppImage dist/*.deb # Detached signatures follow the artifacts they sign, and are never committed. dist/*.minisig # Release/build scripts are source — keep them version-controlled even if a # broader dist/ ignore is ever added. !dist/*.sh dist/Audiofiles.app/ dist/AppDir/ dist/tools/ dist/.dmg-staging/ dist/.deb-staging/ audiofiles_data/ # Sample data (test files, not source) drums/ samples/ # Downloaded fonts recursive fonts.085/ # Environment .env .env.* # OS .DS_Store # IDE .idea/ .vscode/ *.swp *.swo dist/*.exe dist/*.msi # Claude Code instructions (project-local; not for the public repo) CLAUDE.md # Private working files — live in _private/, synced via Syncthing todo.md # Python bytecode from scripts/ __pycache__/ # Secrets and credentials. The baseline every repo under ~/Code carries, kept # identical so no repo is the one that forgot. Suffix-matched rather than # `*.env`, which would also catch committed environment files that hold no # secrets (sweep systemd/sweep.env). `.env.example` is a tracked template and # is negated back in. !.env.example *.pem *.key *.p8 *.p12 *.pfx credentials.json