# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Log/OS Files
*.log

# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.aab
*.apk
!src/android/app/src/main/assets/apk-offline/*.apk
output-metadata.json

# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

# Android Profiling
*.hprof

# Xcode
xcuserdata/
*.xcscmblueprint
*.xccheckout
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

# iOS
*.ipa
*.dSYM.zip
*.dSYM

# CocoaPods
Pods/
Podfile.lock

# Swift Package Manager
.build/
.swiftpm/
Package.resolved

# macOS
.DS_Store

# Environment and secrets
.env
.env.*

# App Store Connect API keys
fastlane/.env
fastlane/appstore-keys/

# Claude Code
.claude/

# Temporary patches
deps/*.patch

# Alpine downloadable assets (ISO, rootfs, qcow2, etc.)
deps/alpine/

# iSH build outputs
deps/libs/
deps/include/
deps/resources/
deps/ish/build-ios/
deps/ish/build-native/
deps/.cache/

# FFmpeg source (downloaded by build_ffmpeg.sh). Note the trailing -6.1.2:
# a bare `deps/ffmpeg-*/` also swallowed deps/ffmpeg-patch/, which is hand
# written source that the build needs and must stay tracked.
deps/ffmpeg-6.1.2/

# FFmpeg framework build products (regenerated by deps/build_ffmpeg.sh).
deps/frameworks/

src-bak/
src/android/app/src/main/assets/bashism/

# Xcode debugger state (breakpoints) — personal dev state, never track
xcshareddata/xcdebugger/

# Build-time generated Swift (from ProviderCustomization.xcconfig); regenerated each build
src/ios/Generated/

# Debug-only skill assets staged by scripts/gen_debug_skill_android.sh from
# .claude/skills/debug-server/; regenerated on every debug build.
src/android/app/src/debug/assets/debug-skill/

# Prebuilt Android sandbox binaries (extracted from official APK, already
# contain W^X bypass needed on Android 10+). CI skips NDK compilation.
# src/android/app/src/main/assets/proot-aarch64
# src/android/app/src/main/assets/alpine-minirootfs.tar.gz
# src/android/app/src/main/jniLibs/arm64-v8a/*.so
deps/lame-build/
deps/lame-3.100/**/.libs/

# LAME autotools output (./configure writes absolute build paths into these)
deps/lame-3.100/**/Makefile
deps/lame-3.100/config.status
deps/lame-3.100/config.h
deps/lame-3.100/libtool
deps/lame-3.100/**/stamp-h1
deps/lame-3.100/**/*.la
deps/lame-3.100/**/*.lai
deps/lame-3.100/**/.libs/
deps/lame-3.100/**/.deps/
