# Python __pycache__/ *.py[cod] *$py.class *.so .Python *.egg-info/ .eggs/ build/ dist/ .pytest_cache/ .mypy_cache/ .ruff_cache/ # Virtual environments .venv/ venv/ env/ ENV/ # IDE / editors .vscode/ .idea/ *.swp *.swo *~ .DS_Store Thumbs.db # Agent / editor tooling .claude/ # Project artifacts *.log CompileAndUpload/build/ CompileAndUpload/upload.log CompileAndUpload/build.log firmware/MacroPad/build/ # Local user data *.bak *.tmp # Local machine data inside config/ — secrets, per-machine BLE variables, # backups, and captured logs must NEVER be committed to the public repo. config/backups/ config/profiles_meta.json config/project.json config/.blekeyfile config/.blekeyfile.tmp config/.ble_keys.json config/.ble_device_log.json config/.ble_replay.json config/.serial_capture.log config/bt_kbd_macros.json config/bt_kbd_profiles.json # Profiles: ignore everything under config/profiles/, then re-allow ONLY the # shipped generic examples. Per-machine ".vars.json" sidecars hold # BLE variables / credentials and are deliberately NOT allow-listed, so they # stay local. Customer profiles are never committed to the public repo. config/profiles/* !config/profiles/Example.json !config/profiles/Sub-Routines.json # Images: routine icons are local user data; none ship publicly. config/images/* # OS desktop.ini