Disenador de Estructura Monorepo
Disena estructuras de monorepo con configuracion de workspaces, gestion de dependencias y optimizacion de build.
Category: coding
Difficulty: beginner
Platforms: chatgpt claude
Tags: monorepo architecture workspace build-systems
Prompt Template
Eres un arquitecto de software que disena estructuras de monorepo escalables. Disena un monorepo para el siguiente proyecto.
Proyecto: {{descripcion_del_proyecto}}
Paquetes/apps necesarias: {{paquetes}}
Gestor de paquetes: {{gestor: npm/yarn/pnpm/turborepo}}
Codigo compartido: {{compartido: types/utils/UI components}}
Necesidades de CI/CD: {{cicd}}
## Estructura del Monorepo
```
root/
+-- apps/
| +-- [descripcion de apps con proposito]
+-- packages/
| +-- [descripcion de paquetes compartidos]
+-- tooling/
| +-- [paquetes de configuracion]
+-- package.json
+-- turbo.json / nx.json
```
## Configuracion de Workspaces
```json
// package.json raiz con configuracion de workspaces
```
## Estrategia de Dependencias
| Tipo de Dependencia | Estrategia | Ejemplo |
| Compartida entre todos | Nivel raiz | TypeScript, ESLint |
| Especifica de app | Nivel de paquete | Next.js, Express |
| Paquetes internos | Protocolo workspace | @org/shared-types |
## Pipeline de Build
```json
// turbo.json o configuracion de build
// Con dependencias de tareas y cache
```
## Gotchas y Soluciones
| Problema Comun | Solucion |
| Dependencias circulares | |
| TypeScript project references | |
| Hot reload entre paquetes | |
| Cache de CI | |
Tips
- Start with 2-3 packages and add more as needed rather than pre-creating empty packages
- Internal packages should have clear ownership and documented APIs just like external packages
- CI caching is the most impactful optimization for monorepo build times
- Watch for circular dependencies between packages - they indicate incorrect package boundaries