# MayaContigo Monorepo Bonjour, Este monorepo contiene todas las applicaciones RAG del equipo de Innovacion en Banorte. Su proposito es poder acelerar la creacion de nuevos RAGs, e ir construyendo una libreria de componentes reutilizables. Adicionalmente, tambien contiene una serie de notebooks para procesar documentos, evaluar RAGs, generar preguntas sinteticas, etc/ ## 🚀 Inicio Rápido ```bash # Instala el monorepo mise setup # Crea una nueva aplicación RAG mise new prueba # Creación interactiva mise dev --app prueba ``` ### Prerrequisitos Si estas en el ambiente de desarrollo oficial, tu maquina virtual ya cuenta con estos programas. - **Mise** [Docs](https://mise.jdx.dev/) - **Docker** [Docs](https://www.docker.com/) - **Vault** [Docs](https://developer.hashicorp.com/vault/) ## 📁 Estructura del Proyecto ``` mayacontigo/ ├── apps/ # Aplicaciones individuales ├── packages/ # Paquetes compartidos ├── notebooks/ # Marimo notebooks ├── .templates/ # Plantillas de proyecto ├── .containers/ # Configuraciones de Docker └── compose.yaml # Servicios de Docker Compose ``` ## 🛠️ Comandos de Desarrollo ### Crear Nuevos Proyectos ```bash # Crea una nueva aplicación RAG mise new # Creación interactiva mise new ``` ### Entorno de Desarrollo ```bash # Inicia servidores de desarrollo (frontend + backend) mise dev # Selección interactiva de aplicación mise dev --app # Inicia aplicación específica mise dev --no-dashboard # Deshabilita el dashboard en vivo mise dev --check-deps # Solo verifica dependencias mise dev --list-apps # Lista aplicaciones disponibles ``` ### Gestión de Contenedores ```bash # Inicia contenedores localmente mise container:start # Selección interactiva mise container:start # Inicia aplicación específica mise container:start --list # Lista contenedores disponibles # Sube a Azure Container Registry mise container:push # Selección interactiva mise container:push # Sube imagen específica mise container:push --list # Lista imágenes disponibles ``` ## 🏗️ Stack Tecnológico ### Tecnologías Centrales - **Frontend**: React/Next.js con TypeScript - **Backend**: Python con FastAPI/Uvicorn - **Gestión de Paquetes**: pnpm (Node.js), uv (Python) - **Contenedorización**: Docker & Docker Compose ### Infraestructura - **Gestión de Secretos**: HashiCorp Vault - **Registro de Contenedores**: Azure Container Registry - **Observabilidad**: OpenTelemetry - **Proxy Inverso**: Traefik ## 🎯 Creando tu Primera Aplicación 1. **Genera desde plantilla** ```bash mise new mi-app-rag ``` 2. **Inicia desarrollo** ```bash mise dev --app mi-app-rag ``` 3. **Accede a tu aplicación** - Frontend: http://localhost:3000 - API Backend: http://localhost:8000 ## 🔧 Configuración ### Desarrollo Local - Frontend corre en puerto 3000 - APIs Backend corren en puerto 8000 - Servicios Docker usan puertos auto-asignados (8001+) ### Depuración - Usa `--no-dashboard` para salida más simple - Verifica `mise dev --check-deps` para problemas de dependencias - Ve logs de contenedores con `docker logs ` ## 🤝 Contribuyendo 1. Crea nuevas aplicaciones usando el sistema de plantillas 2. Sigue la estructura del monorepo 3. Usa los comandos de desarrollo proporcionados 4. Asegúrate de que todas las dependencias estén correctamente configuradas ## 📖 Recursos Adicionales - **Plantillas**: Revisa `.templates/` para plantillas de proyecto disponibles - **Docker**: Ve `.containers/` para configuraciones de contenedorización - **Tareas**: Explora `.mise/tasks/` para scripts de automatización disponibles --- *¡Feliz programación! 🚀*