Guías de Desarrollo
Bienvenido a las guías de desarrollo de InsureHero. Aquí se concentra el cómo: entorno, convenciones de código, extensión del monorepo sin romper el núcleo, contratos TypeScript, APIs Shield, tRPC, componentes y el landing de postventa (Vidanta).
Qué hay en esta sección
| Guía | Contenido |
|---|---|
| Estructura base y extensión | Qué partes son “base” estable, por dónde extender (adaptadores, rutas, tRPC) y anti‑patrones. |
| Interfaces y contratos TypeScript | Dónde definir tipos, InsuranceAdapter, StandardRiskItem, Zod en bordes. |
| Nuevas rutas Shield | Checklist para endpoints bajo /api/shield, namespaces y versionado. |
| Guía de componentes | Componentes React, carpetas, formularios, estilos. |
| Guía de tRPC | Routers, procedimientos y uso en cliente. |
| Landing page Vidanta | Repo aparte (landing-next), variables y flujo post‑sales. |
Orden de lectura recomendado
- Configuración del entorno (abajo) y Estructura del monorepo.
- Estructura base y extensión + Integraciones (código) si trabajas con aseguradoras u orquestador.
- Según tu tarea: Interfaces…, Nuevas rutas Shield, tRPC o Componentes.
La referencia normativa de las APIs (tablas, autenticación) sigue en API Reference; estas guías son el manual de trabajo del repositorio.
Configuración del Entorno
Requisitos Previos
- Node.js >= 18.17.x
- Yarn (gestor de paquetes)
- Git
- Supabase CLI (opcional, para desarrollo local)
Instalación
- Clonar el repositorio
- Instalar dependencias:
yarn install
- Compilar packages compartidos:
yarn compile
-
Configurar variables de entorno (ver
.env.example) -
Iniciar desarrollo:
yarn dev
Landing page Vidanta (repositorio aparte)
El landing de Vidanta para titulares (OTP, viajeros, integración post-sales) vive en un proyecto Next.js fuera del monorepo principal. Contexto de negocio: Integraciones → Canal Vidanta. La guía técnica detallada (estructura del repo, variables, comandos) está en esta misma sección.
Estructura del Código
Convenciones
- Componentes: PascalCase (ej:
UserProfile.tsx) - Utilidades: camelCase (ej:
formatDate.ts) - Tipos: PascalCase (ej:
UserType.ts) - Constantes: UPPER_SNAKE_CASE (ej:
MAX_RETRIES)
Organización de Archivos
src/
├── app/ # App Router y API routes (`app/api/`)
├── components/ # Componentes React
├── integrations/ # Adaptadores externos, orquestador, contratos
├── trpc/ # Routers y procedimientos tRPC
├── utils/ # Utilidades
├── hooks/ # Custom hooks
├── stores/ # Estado global (Zustand)
└── types/ # Tipos TypeScript
La documentación de alto nivel de integraciones está en Integraciones (arquitectura) y el mapa HTTP en Superficies REST.
Flujo de Trabajo
Crear una Nueva Feature
- Crear branch desde
develop - Implementar cambios
- Agregar tests
- Ejecutar validaciones:
yarn validate - Crear Pull Request
Commits
El proyecto utiliza Conventional Commits:
feat: Nueva funcionalidadfix: Corrección de bugdocs: Documentaciónstyle: Formatorefactor: Refactorizacióntest: Testschore: Tareas de mantenimiento
Testing
Unit Tests
yarn test
E2E Tests
yarn test:e2e
Coverage
yarn test:all
Linting y Formato
Linting
yarn lint
Formato
yarn format
Verificar Formato
yarn check-format