# ============================================================ # .gitignore — Monorepo Recolecta (Flutter + FastAPI) # Va en la RAÍZ del repo. Funciona igual en Gitea/GitHub/GitLab. # Regla mental: se ignora lo que se REGENERA o lo que es SECRETO. # ============================================================ # ------------------------------------------------------------ # 1) SECRETOS (lo más importante: nunca subir credenciales) # ------------------------------------------------------------ # Variables de entorno: llaves de Supabase, JWT secret, etc. .env .env.* # ...pero SÍ versionamos la plantilla sin valores reales: !.env.example # Credencial del Admin SDK de Firebase (envía las push FCM) = SECRETO REAL *serviceAccount*.json *firebase-adminsdk*.json # Llaves de firma de Android (publicación) y sus contraseñas *.jks *.keystore **/key.properties # Imágenes de recibos de luz/agua si llegaran a guardarse en disco. # Por "Privacidad por Diseño" NUNCA deben terminar en el repo. **/uploads/ **/recibos/ # ------------------------------------------------------------ # 2) FLUTTER / DART (carpeta recolecta_app/) # ------------------------------------------------------------ # Compilados y cachés que Flutter regenera con `flutter pub get` / build **/build/ **/.dart_tool/ **/.flutter-plugins **/.flutter-plugins-dependencies **/.packages **/.pub-cache/ **/.pub/ *.dart.js *.info.json # NOTA: pubspec.lock SÍ se versiona en apps (fija versiones de deps). # No lo agregues aquí. Solo se ignora en paquetes/librerías. # --- Android --- **/android/.gradle/ **/android/captures/ **/android/local.properties # rutas del SDK propias de cada máquina **/android/**/GeneratedPluginRegistrant.java **/android/.cxx/ # --- iOS / macOS --- **/ios/Pods/ # se reinstala con `pod install` **/ios/.symlinks/ **/ios/Flutter/.last_build_id **/ios/Flutter/Flutter.framework **/ios/Flutter/Flutter.podspec **/ios/Flutter/flutter_export_environment.sh **/ios/Flutter/ephemeral/ **/*.mode1v3 **/*.mode2v3 **/*.moved-aside **/xcuserdata/ **/DerivedData/ # Config de Firebase del cliente (contiene API keys del proyecto). # Recomendado ignorarlas y compartirlas por canal seguro entre el equipo. # Si su repo Gitea es PRIVADO y prefieren comodidad, pueden comentarlas. **/google-services.json **/GoogleService-Info.plist # ------------------------------------------------------------ # 3) PYTHON / FASTAPI (carpeta backend/) # ------------------------------------------------------------ __pycache__/ *.py[cod] *.egg-info/ .eggs/ dist/ backend/build/ # acotado para no chocar con build/ de Flutter # Entornos virtuales (cada quien crea el suyo con `python -m venv`) .venv/ venv/ env/ ENV/ # Cachés de herramientas de test/lint .pytest_cache/ .mypy_cache/ .ruff_cache/ .coverage htmlcov/ # Base de datos local de pruebas (si usan SQLite para correr offline) *.sqlite3 *.db # ------------------------------------------------------------ # 4) EDITORES / SISTEMA OPERATIVO (ruido de cada máquina) # ------------------------------------------------------------ # Claude Code — configuración y memoria local del asistente .claude/ # VS Code: ignoramos config personal. Si quieren compartir tareas/launch # del equipo, borren esta línea y versionen .vscode/ a propósito. .vscode/ # Android Studio / IntelliJ .idea/ *.iml # macOS / Windows .DS_Store Thumbs.db desktop.ini # Logs sueltos *.log