Files
Musify/AGENTS.md
T
2026-03-19 20:21:02 +01:00

1.8 KiB

Contexto del proyecto para agentes de IA

Resumen rápido

  • Proyecto backend en .NET 10.
  • Estructura principal en capas: Domain, Application, Infrastructure.
  • Patrón arquitectónico: Clean Architecture con enfoque CQRS.

Arquitectura

  • Domain (Domain): entidades de negocio puras.
  • Application (Application):
    • Casos de uso (comandos/queries y handlers).
    • Contratos (Application.Contracts).
    • Configuración de aplicación (Application.Configuration).
    • Mensajería orientada a eventos a través de IEventBus.
  • Infrastructure (Infrastructure):
    • Persistencia y acceso a datos.
    • Integraciones externas (Keycloak, almacenamiento, procesamiento de imágenes).
    • Implementación de mensajería y consumidores.

CQRS / Mediación

  • Se usa DispatchR (paquete DispatchR.Mediator) como variante de MediatR para orquestar comandos y consultas.
  • Los casos de uso están organizados por feature con handlers dedicados (Commands, Queries).

Mensajería y workers

  • Se usa MassTransit para publicación/consumo de eventos.
  • Broker actual: RabbitMQ (MassTransit.RabbitMQ).
  • Hay modo de registro para workers con consumidores en Infrastructure.Messaging.Consumers.
  • Actualmente existen consumidores como:
    • ResizePictureConsumer
    • RemoveFileConsumer

Persistencia e integraciones

  • Entity Framework Core + proveedor Npgsql (PostgreSQL).
  • Integración de identidad con Keycloak.
  • Almacenamiento con AWS S3.

Notas para agentes

  • Mantener separación de responsabilidades por capa.
  • Evitar lógica de infraestructura dentro de Application y Domain.
  • Agregar nuevos casos de uso siguiendo el patrón CQRS existente (comando/query + handler).
  • Para nuevas integraciones asíncronas, reutilizar el pipeline de MassTransit y la abstracción IEventBus.