# {{PROJECT_NAME}} - React Native / Expo

> Generado: {{GENERATION_DATE}} | Claude Craft v{{VERSION}}

## Que (Stack y Estructura)

**Stack**: {{TECH_STACK}}
**React Native**: {{REACT_NATIVE_VERSION}}
**Expo SDK**: {{EXPO_SDK_VERSION}}
**TypeScript**: {{TYPESCRIPT_VERSION}}

### Estructura del proyecto
```
src/
├── app/              # Expo Router (file-based routing)
├── components/       # Componentes reutilizables
├── features/         # Features por dominio de negocio
├── hooks/            # Custom hooks
├── services/         # API, Storage, etc.
├── stores/           # State management global (Zustand)
├── types/            # Tipos TypeScript
├── theme/            # Theme (colors, spacing)
└── constants/        # Constantes
```

## Por que (Proposito y Organizacion)

### Arquitectura: Feature-Based + Clean Layers
- **Presentation**: app/, components/
- **Application**: hooks/, stores/
- **Domain**: types/, utils/
- **Data**: services/

Ver `rules/02-architecture.md` para patrones detallados.

### Reglas criticas

| Regla | Descripcion |
|-------|-------------|
| Analisis primero | OBLIGATORIO antes de cualquier codigo |
| TypeScript strict | 0 errores |
| Performance | Target 60 FPS |
| Cobertura | Minimo 80% |

### State Management
```
Datos servidor? -> React Query
Estado global?  -> Zustand
Persistencia?   -> MMKV
URL state?      -> Expo Router params
Estado local?   -> useState
```

## Como (Comandos y Flujos de trabajo)

### Comandos de desarrollo
```bash
npx expo start       # Iniciar dev server
npx expo start --ios # Ejecutar en iOS
npx expo start --android # Ejecutar en Android
npm run type-check   # Verificar tipos
npm run lint         # Lint
npm test             # Tests
```

### Pipeline de calidad
```bash
npm run lint         # ESLint: 0 errores
npm run type-check   # TypeScript: 0 errores
npm test             # Jest + RNTL
npm run test:coverage# Con cobertura
```

### Build y Deploy
```bash
eas build --profile development --platform all
eas build --profile production --platform all
eas submit --platform ios
eas update --branch production --message "Bug fixes"
```

### Flujo de desarrollo
1. **Analizar** - `rules/01-workflow-analysis.md`
2. **TDD** - Tests en paralelo con codigo
3. **Calidad** - Lint + type-check + tests
4. **Commit** - Conventional Commits

## Referencias

| Contexto | Archivo |
|----------|---------|
| Antes de modificar | `rules/01-workflow-analysis.md` |
| Arquitectura | `rules/02-architecture.md` |
| Estandares codigo | `rules/03-coding-standards.md` |
| SOLID | `rules/04-solid-principles.md` |
| Tests | `rules/07-testing.md` |
| Seguridad | `rules/11-security.md` |
| Performance | `rules/12-performance.md` |
| State Management | `rules/13-state-management.md` |
| Navigation | `rules/14-navigation.md` |

<!-- PROJECT-SPECIFIC-START -->
## Especificidades del proyecto

{{ADR_NOTES}}

{{PROJECT_SPECIFIC_CONVENTIONS}}

<!-- PROJECT-SPECIFIC-END -->
