Estructura del Monorepo y Turborepo
Estructura del Monorepo y Turborepo
Sección titulada «Estructura del Monorepo y Turborepo»uunit9 se administra mediante un monorepo pnpm configurado en pnpm-workspace.yaml y orquestado con Turborepo (turbo.json).
Estructura de Paquetes y Aplicaciones
Sección titulada «Estructura de Paquetes y Aplicaciones»uunit9/├── apps/│ ├── api/ # API REST (Hono / Nitro)│ ├── platform/ # SPA (React / Vite)│ └── docs/ # Sitio de documentación (Astro Starlight)├── packages/│ ├── db/ # Drizzle ORM + PostgreSQL + seed│ ├── shared/ # Zod schemas, tipos compartidos│ └── config/ # Config TS/Biome├── docs/ # Fuentes de documentación (technical / functional)├── scripts/ # Scripts de utilidades (dev-setup, dev-reset, smoke, docs-shots)├── pnpm-workspace.yaml└── turbo.jsonDiagrama de Dependencias Internas
Sección titulada «Diagrama de Dependencias Internas»graph TD subgraph Aplicaciones API[apps/api] PLATFORM[apps/platform] DOCS[apps/docs] end
subgraph Paquetes Compartidos DB[packages/db] SHARED[packages/shared] CONFIG[packages/config] end
API --> DB API --> SHARED PLATFORM --> SHARED DB --> CONFIG SHARED --> CONFIG API --> CONFIG PLATFORM --> CONFIGPipeline de Construcción y Turborepo
Sección titulada «Pipeline de Construcción y Turborepo»Las tareas del pipeline se definen en turbo.json:
build: Ejecutaturbo build. La tarea de construcción enapps/apiyapps/platformdepende de que sus paquetes dependientes (packages/*) hayan completado subuildprevio (dependsOn: ["^build"]).dev: Inicia el servidor de desarrollo persistente sin caché (cache: false,persistent: true).typecheck: Valida los tipos TypeScript en todo el monorepo.
Los comandos raíz disponibles en package.json son:
pnpm dev: Inicia API y Web concurrentemente.pnpm build: Construye todas las aplicaciones y paquetes.pnpm lint: Revisa el código con Biome.pnpm typecheck: Corre la verificación de tipos TypeScript.