Plantilla base para apps Flutter: estructura, providers, API y widgets listos para
copiar y empezar un proyecto nuevo. Package com.arcaelas.hi.
Para configurar credenciales (Firebase, Maps) ver SETUP.md. La app corre tal cual con placeholders (modo fallback, sin login).
- FlutterWind para estilos:
.className('...')con clases Tailwind. EvitarTextStyle/Container(color:)manual cuando exista equivalente. - Providers estáticos (sin riverpod/bloc): clases con
init/get/set/sub. - Router propio (
lib/widget/route/): sin go_router. - API de backend simulado (
lib/lib/http/): interceptores por pathname.
lib/
├── main.dart # init de providers + gating (login/shell) + tema
├── assets/ # icons/ (logo.svg) · sounds/
├── lib/ # PROVIDERS globales -> ver lib/lib/README.md
├── widget/ # WIDGETS globales reutilizables -> ver lib/widget/README.md
└── view/ # VISTAS / pantallas (tabs) -> ver lib/view/README.md
Regla transversal (recursiva en cualquier nivel): cada módulo/widget/view es una
carpeta con main.dart. Los imports van solo hacia arriba (propio lib/,
padre, raíz). Nunca entre hermanos. Sin carpetas models/utils/helpers/constants/.
- L0 (sin deps):
preferences,events,network,http. - L1 (-> Preferences):
theme,lang,notification. - L2 (-> Preferences/Lang):
sound(TTS),microphone(STT). - Features:
location(GPS),maps(Places),pagination(mixin). - Dominios del API (
lib/lib/http/lib/):example(/ping),auth(/v1/*).
El orden de init() en main.dart respeta estas dependencias.
home (hola mundo + demo /ping) · map (GPS + Maps) · settings (showcase de
providers) · about.
flutter pub get
flutter run --hot
flutter analyze