*.env
.env*
!.env.template
!.env.example
!.env.local-dev.template
!.env.dev.template
!.env.prod.template
!.env.offline.template
!.envrc.example
.personal_configs/
*__pycache__/
*venv/
libraries/
myenv/
venv/
.DS_Store
.memory_pipeline_runs/
.local/
dump/
*.zip
*.wav
!backend/testing/release_fixtures/transcription-release-probe.wav
!desktop/macos/Desktop/Sources/Resources/VoicePhrases/*.wav
node_modules
yarn.lock

# Coordination (AI agent collab manifests)
.coordination/

# General
/.pr-body.md
.idea/
.next/
.worktrees/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
build/
dist/
.build/
.swiftpm/

# VS Code
.vscode/*

# Android specific
**/android/**/build/
**/android/.gradle
**/android/gradlew
**/android/gradlew.bat
**/android/key.properties
**/android/**/gradle-wrapper.jar
**/android/**/local.properties
**/android/**/GeneratedPluginRegistrant.java
**/android/app/google-services.json
**/android/app/src/dev/google-services.json
**/android/app/src/prod/google-services.json
**/android/app/.cxx/

# iOS specific
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/Flutter/Flutter.framework
**/ios/**/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/flutter_export_environment.sh
**/ios/Flutter/RayBanMetaCredentials.xcconfig
**/ios/.generated/
**/ios/Runner.xcworkspace
**/ios/**/GeneratedPluginRegistrant.*
**/ios/**/xcuserdata
**/ios/Runner/GoogleService-Info.plist
**/ios/Config/*
**/ios/Config/**/*
**/ios/Flutter/Custom.xcconfig

# macOS specific
**/macos/**/Pods/
**/macos/**/.symlinks/
**/macos/**/Flutter/Flutter.framework
**/macos/**/Flutter/Flutter.podspec
**/macos/Flutter/Generated.xcconfig
**/macos/Flutter/flutter_export_environment.sh
**/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
**/macos/Flutter/ephemeral/flutter_export_environment.sh
**/macos/.generated/
**/macos/Runner.xcworkspace
**/macos/**/GeneratedPluginRegistrant.*
**/macos/GoogleService-Info.plist
**/macos/Runner/GoogleService-Info.plist
**/macos/GoogleService-Info.plist
**/macos/Config/*
**/macos/Config/**/*
**/macos/Runner/Configs/Custom.xcconfig

# Linux specific
**/linux/.dart_tool/
**/linux/flutter/
**/linux/**/GeneratedPluginRegistrant.*

# Windows specific
**/windows/.dart_tool/
**/windows/flutter/
**/windows/**/GeneratedPluginRegistrant.*

# Web specific
**/web/**/build/
**/web/.dart_tool/
web/app/public/firebase-messaging-sw.js

# Miscellaneous
!app/pubspec.lock
!app/ios/Podfile.lock
!mcp/uv.lock
*.lock
# After *.lock: the last matching pattern wins, so a re-include must follow it.
!web/app/bun.lock
*.log
*.swo
*.swp
*.tmp
hs_err_pid*

# Servers
src/recordings

# Apps
/app/lib/firebase_options.dart
/app/lib/firebase_options_*.dart
!/app/lib/firebase_options_local.dart
/app/firebase.json

# Solidworks models
*.SLDPRT
*.SLDASM
**/classic_triangle/old outdated history (but gold)/
**/classic_triangle/assembly/
**/classic_triangle/misc/
**/step-versions/

# test output
test/recordings

# Flutter
env.g.dart
*/upload-keystore.jks
*/key.properties
*.jks

# Jekyll
docs/_site/
.jekyll-metadata

/app/lib/env/dev_env.g.dart
/app/lib/env/prod_env.g.dart
/app/lib/objectbox.g.dart
*.jks
plugins/example/tmp/

backend/pretrained_models/
backend/scripts/rag/*.json
backend/scripts/rag/visualizations/
/backend/scripts/data/
/backend/pretrained_models/
*/pretrained_models/
/backend/_temp/
/backend/_speech_profiles

backend/google-credentials.json
backend/google-credentials-dev.json

startup-script.sh
/app/lib/firebase_options_dev.dart
/app/lib/firebase_options_prod.dart
app/lib/env/dev_env.g.dart
app/lib/env/prod_env.g.dart
/app/lib/libobjectbox.dylib
/app/lib/objectbox-model.json

/backend/scripts/research
/backend/scripts/research/*.txt
/backend/scripts/research/*.md
/backend/scripts/research/*.json
/backend/scripts/research/*.csv
/backend/scripts/research/users
/backend/scripts/stt/_temp
/backend/scripts/stt/_temp2
/backend/scripts/stt/pretrained_models
/backend/scripts/stt/results
/backend/scripts/stt/diarization.json
/backend/syncing/*
/docs/.docusaurus


/omi/firmware/firmware/v2.7.0/

# nRF Connect SDK west workspaces (downloaded on demand, ~1.5GB) + build outputs
/omi/firmware/v2.7.0/
/omi/firmware/v2.9.0/
/omi/firmware/build/


# Additional Expo/React Native specific ignores
.expo/*
sdks/react-native/example/.expo/*
sdks/react-native/lib/
web-build/
*.orig.*
.metro-health-check*
.eas/
.rn-cli.config.js
.watchmanconfig
web-report/
.metro-cache/
.aider*

lefthook.yml
omiGlass/.expo

# Logs
/backend/logs/
app/.fvm/
app/android/.kotlin/
.playwright-mcp/

CLAUDE.md
web/app/next-env.d.ts
web/app/tsconfig.tsbuildinfo
.claude/settings.local.json
.claude/worktrees/
.mcp.json
LOCAL_DEV_SETUP.md
app/macos/Config/Prod/GoogleService-Info.plist
app/.metadata
app/macos/DerivedData/
app/macos/Runner/LocalDev.entitlements
.env.local
.backups/

# Generated browser snapshots (contain PII)
builds-snapshot.md
*-snapshot.md

# Per-worktree dev isolation (pidfiles, scratch) — scripts/dev-instance.sh
.dev/

# Agent planning artifacts (ephemeral; do not commit)
.cursor/plans/*
!.cursor/plans/.gitkeep

.hermes/
backend/.venv
backend/.harness/

# Rust / Cargo
target/

# Python bytecode
*.pyc

# Python test / lint caches
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Coverage output
coverage/
htmlcov/
.coverage

# Python packaging
*.egg-info/

# macOS finder (recursive)
**/.DS_Store

# pnpm store
.pnpm-store/

# `bunx shadcn` shells out to pnpm and drops these at the repo root. This repo
# is Bun-only, so they are byproducts, never inputs — ignored so a shadcn run
# cannot quietly commit a second lockfile.
pnpm-lock.yaml
pnpm-workspace.yaml