# DevTools - Herramientas de Desarrollo Development tools, configurations, and scripts for the ISEM workspace. ## Estructura ``` devtools/ ├── configs/ # Shared configurations │ ├── eslint.config.base.js # ESLint base configuration │ ├── prettier.config.js # Prettier configuration │ ├── tsconfig.base.json # TypeScript base configuration │ └── jest.config.base.js # Jest base configuration ├── docker/ # Docker utilities │ └── postgres-init/ # PostgreSQL initialization scripts ├── scripts/ # Development scripts │ ├── dev.sh # Main development helper │ ├── bootstrap-project.sh # Crear nuevo proyecto │ └── validate-structure.sh # Validar estructura └── templates/ # Project templates ``` ## Scripts Disponibles ### dev.sh - Script principal de desarrollo ```bash # Ver comandos disponibles ./scripts/dev.sh help # Ver estado del workspace ./scripts/dev.sh status # Iniciar servicios Docker ./scripts/dev.sh docker-up # Iniciar un proyecto ./scripts/dev.sh start gamilit ./scripts/dev.sh start trading ./scripts/dev.sh start mecanicas # Instalar dependencias ./scripts/dev.sh install # Ver puertos asignados ./scripts/dev.sh ports # Lint de proyectos ./scripts/dev.sh lint gamilit ``` ### bootstrap-project.sh Crea un nuevo proyecto con estructura estándar. ```bash # Uso ./scripts/bootstrap-project.sh [tipo] # Tipos disponibles # - saas (default) # - erp-vertical # - analytics # - edtech # Ejemplos ./scripts/bootstrap-project.sh mi-proyecto ./scripts/bootstrap-project.sh erp-retail erp-vertical ./scripts/bootstrap-project.sh trading-bot analytics ``` ### validate-structure.sh Valida la estructura del workspace y/o proyectos. ```bash # Validar todo el workspace ./scripts/validate-structure.sh # Validar un proyecto específico ./scripts/validate-structure.sh gamilit ``` ## Templates ### project-template/ Template base para nuevos proyectos. Contiene: - Estructura de directorios estándar - Archivos README.md predefinidos - Configuración de orchestration ### customer-template/ Template para implementaciones de clientes. Contiene: - Estructura de configuración - Archivos de personalización - Documentación del cliente ## Configuraciones Compartidas ### ESLint (eslint.config.js) ```javascript import baseConfig from '../../../devtools/configs/eslint.config.base.js'; export default [...baseConfig]; ``` ### Prettier (.prettierrc.js) ```javascript module.exports = require('../../../devtools/configs/prettier.config.js'); ``` ### TypeScript (tsconfig.json) ```json { "extends": "../../../devtools/configs/tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" } } ``` ## Docker Docker Compose principal en la raíz del workspace (`/docker-compose.yml`): ```bash # Levantar todos los servicios docker-compose up -d # Ver logs docker-compose logs -f # Detener servicios docker-compose down ``` Servicios incluidos: - **PostgreSQL 15** - Base de datos principal (multi-database) - **TimescaleDB** - Series temporales para Trading Platform - **Redis 7** - Cache y sesiones - **MinIO** - Almacenamiento S3-compatible - **Mailhog** - Testing de emails - **Adminer** - UI de administración de BD ## Asignación de Puertos | Proyecto | Servicio | Puerto | |----------|----------|--------| | Gamilit | Backend | 3000 | | Gamilit | Frontend | 5173 | | Trading | Backend | 3001 | | Trading | Frontend | 5174 | | Trading | Data Service | 8001 | | ERP Core | Backend | 3010 | | Mecánicas | Backend | 3011 | | Shared | PostgreSQL | 5432 | | Shared | TimescaleDB | 5433 | | Shared | Redis | 6379 | --- *DevTools del Workspace ISEM*