Guía del Repositorio para Agentes AI
Este documento está pensado para asistentes AI (Copilot, Claude, GPT, etc.) que necesiten entender rápido el proyecto y hacer cambios seguros.
1. Mapa rápido del sistema
Aeternus es un proyecto full-stack con dos runtimes principales:
- Frontend web en Next.js (App Router) dentro de
src/ - Backend core en FastAPI dentro de
core/
Flujo general:
- El usuario interactúa en la UI (
src/app+src/components) - La UI llama API routes de Next (
src/app/api/*) y/o endpoints del core (core/app/routes/*) - Persistencia principal vía Prisma/PostgreSQL y algunas capacidades sobre Neo4j
- Integraciones externas: Auth0, OpenAI y ElevenLabs
2. Estructura clave que un agente debe conocer
src/app/: rutas de Next.js (páginas + API routes)src/components/: componentes React por feature (chat,admin,landing, etc.)src/hook/: hooks customsrc/lib/: integraciones y clientes (Prisma, Neo4j, tools)src/utils/: utilidades de apoyo y helperssrc/config/: configuración de acceso y comportamientocore/app/main.py: inicialización FastAPIcore/app/routes/: endpoints del backend corecore/app/schemas.py: modelos de validación backendprisma/schema.prisma: modelo de datos SQLscripts/: automatizaciones Docker/AWS/acceso
3. Comandos operativos de referencia
Frontend (root):
npm run dev
npm run dev:clean
npm run lint
npm run build
Backend core:
cd core
make setup
make run
make check
make run-prod
Atajos desde root:
make core-setup
make core-run
make core-stop
make docker-core-up
make docker-core-down
4. Convenciones prácticas para cambios seguros
- Haz cambios mínimos y localizados; evita refactors masivos sin necesidad.
- Respeta la separación por capas:
- UI en
src/components - routing/páginas en
src/app - utilidades puras en
src/utils - integraciones en
src/lib - En backend, agrega endpoints por dominio en archivos de
core/app/routes. - Evita
anyen TypeScript cuando sea posible. - Para cambios de datos, modifica
prisma/schema.prismay genera migración. - Si tocas APIs, valida impacto en frontend y en core.
5. Rutas y zonas sensibles
- Autenticación y sesión:
src/app/api/auth, componentes de auth, Auth0 env vars. - Chat y persistencia:
src/app/api/chat,core/app/routes/chat.py,core/app/routes/chat_storage.py. - Admin y permisos:
src/app/admin,src/config/admin-access.ts,src/utils/access-manager.ts. - TTS y providers externos:
src/app/api/tts,core/app/routes/tts.py. - Estado y salud de servicios:
core/app/routes/health.py,core/app/routes/status.py.
6. Checklist para un agente antes de proponer cambios
- Identificar si el cambio es frontend, backend o full-stack.
- Buscar archivos equivalentes existentes antes de crear nuevos.
- Verificar comandos de validación mínimos:
- Frontend:
npm run lint - Backend:
cd core && make check - Confirmar variables de entorno implicadas.
- Revisar riesgo de regresión en rutas API y contratos de datos.
7. Guía de diagnóstico rápido
- Si falla frontend build/lint, revisar imports, tipos y rutas en
src/app/api. - Si falla backend, correr
cd core && make checkpara errores de sintaxis. - Si chat responde vacío/inestable:
- verificar
OPENAI_API_KEYoCORE_MOCK_MODE - revisar URL de core (
NEXT_PUBLIC_CORE_API_BASE_URL) - Si falla persistencia:
- validar
DATABASE_URL - revisar Prisma client y modelo en
prisma/schema.prisma
8. Variables de entorno importantes (alto impacto)
- Frontend:
.env.local - Backend core:
core/.env
Ejemplos frecuentes:
NEXT_PUBLIC_CORE_API_BASE_URLOPENAI_API_KEYCORE_MOCK_MODEDATABASE_URLAUTH0_*ELEVENLABS_*
Para detalle completo, consultar docs/environment-variables.md.
9. Estrategia recomendada para agentes AI
- Explorar primero: mapear archivos relacionados y contratos actuales.
- Cambiar después: una modificación coherente por vez.
- Validar al final: lint/check según capa tocada.
- Documentar impacto: qué cambió, por qué, y posibles riesgos.
10. Qué no hacer (anti-patrones)
- No introducir nuevas abstracciones si el repo ya tiene patrón establecido.
- No mover carpetas o renombrar módulos ampliamente sin necesidad explícita.
- No asumir que una API route de Next y un endpoint de FastAPI son equivalentes; verificar uso real.
- No editar variables de entorno en código hardcodeando secretos.
11. Referencias útiles dentro del repo
README.mddocs/setup-local.mddocs/project-structure.mddocs/common-tasks.mddocs/contributing.mdcore/README.md
Última actualización: 2026-03-21