__pycache__/
build/
dist/
dropin/
*.egg-info/
.pytest_cache/
.venv/
.rustuya-ha-backups/
*.json
!custom_converters/*.json
# Personal/local converter overrides (e.g. device-specific inversion) stay out of
# the repo. The 99_ prefix sorts last so it deep-merges on top of the curated
# base (00_default.json). Re-ignored here so it's never accidentally committed.
custom_converters/99_*.json
# Runtime ledger of the default-converter pack (core.pack) — local state, not source.
custom_converters/.rustuya_pack.json
# Test fixtures are synthetic (no private device data) — always tracked, so new
# ones aren't silently dropped by the *.json rule above.
!tests/fixtures/*.json
# Golden is matched per-file (the golden/ dir may also hold large, real-device
# snapshots generated ad hoc — those must stay ignored / never committed).
!tests/golden/synthetic_snapshots.json
# Plugin UI translation catalogs — first-party assets that must ship in the
# wheel/drop-in, so exempt them from the *.json rule above.
!src/rustuya_ha/manager_plugin/static/locales/*.json
