# Rust
/target
**/*.rs.bk

# Node
node_modules/
dist/
.vite/

# Tauri
src-tauri/target/
# All of gen/ is generated and none of it is tracked. `tauri android init`
# rebuilds gen/android from scratch, so the hand-maintained Android files — the
# manifest with the BLE permissions, MainActivity, the app gradle script,
# ProGuard rules, the theme — live in src-tauri/android/ and are copied in by
# scripts/sync-android-sources.sh after every init.
src-tauri/gen/

# src-tauri/android/ is source, but it holds a build.gradle.kts with no
# settings.gradle beside it, so any Gradle daemon that scans the tree — an IDE's,
# not the wrapper's — mistakes that directory for a project root and drops a
# cache in it. Nothing it writes is ours.
src-tauri/android/**/.gradle/

# Android signing material. A keystore in the repo is a signing key given away;
# CI writes both of these from secrets.
*.jks
*.keystore
src-tauri/android/keystore.properties
# The whole directory, so the password kept beside the key is covered too.
android-keystore/

# Editors / OS
.DS_Store
*.swp

# Ride data
*.fit
/rides/

# Arch packaging (makepkg work dirs + built packages)
/packaging/arch/pkg/
/packaging/arch/src/
/packaging/arch/*.pkg.tar.zst
/.cargo-arch/
bikecontrol.log
