06. Definición de Entornos
Fase: 02 — Project Kickoff
Entregable: 06
Proyecto: NoteVault (PC, Mac, Android, iPhone)
1. Perfiles de Entorno en Software Local-First
A diferencia de las arquitecturas tradicionales con servidores dev/staging/prod, en NoteVault los entornos se definen a nivel de modo de ejecución y aislamiento de bóveda:
| Entorno | Contexto de Ejecución | Directorio de Bóveda Utilizado | Herramientas Activas |
|---|---|---|---|
Desarrollo (dev) |
npm run electron:dev / flutter run |
Carpeta de prueba temporal o bóveda de desarrollo (vault_dev/). |
Vite HMR, React DevTools, logs detallados en consola. |
Pruebas (test) |
npx vitest run / flutter test |
Fixtures aislados en memoria o en carpetas efímeras (tests/fixtures/). |
Sin UI, ejecución en hilo Node/Dart headless, mocks de I/O. |
Producción (prod) |
Instalador compilado (.exe, .dmg, .apk, .ipa) |
La bóveda real soberana seleccionada por el usuario en su disco. | Optimización minificada, DevTools desactivadas, cero telemetría. |
2. Marco Conceptual: Perfil de Entorno Local
1. **Entidad principal e independiente.**
2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija el contexto de ejecución (`environment_profile_id`: `ENV-LOCAL-PROD`) consultado por las banderas de compilación.
3. **Existe por sí misma en la configuración de build sin depender de variables de entorno de red**, y es la única responsable de habilitar o deshabilitar flags de depuración y protecciones de seguridad.
4. **Punto de entrada y límite de consistencia:** En producción, garantiza que las herramientas de inspección estén deshabilitadas para proteger la privacidad.