IA Agent para Generación de Pruebas Unitarias .NET
Un sistema multi-agente de IA avanzado con capacidades de memoria y herramientas externas (ReAct) especializado en la generación automática de pruebas unitarias para APIs REST desarrolladas en .NET.
🚀 Instalación Rápida
# Instalar desde PyPI
pip install ia-agent-dotnet
# Configurar el agente (una sola vez)
ia-agent-config
# ¡Listo para usar! (Descubre proyectos automáticamente)
ia-agent
🚀 Características Principales
- 🤖 Sistema Multi-Agente: Colaboración inteligente entre agentes especializados
- 🔍 Descubrimiento Automático: Detecta proyectos .NET automáticamente en el directorio actual
- 🎯 Selección Interactiva: Interfaz amigable para seleccionar proyectos
- 🧠 Memoria Persistente: Recuerda conversaciones y contexto entre sesiones
- 🛠️ Herramientas Externas: Ejecuta código y busca documentación automáticamente
- 🔄 Patrón ReAct: Razonamiento y actuación iterativa para decisiones autónomas
- 🎯 Especialización: Agentes especializados en análisis, generación, validación y optimización
- 📊 Soporte Multi-Framework: xUnit, NUnit, MSTest
- ⚡ CLI Interactivo Persistente: Interfaz de línea de comandos que mantiene el estado entre comandos
- 🔧 Configuración Global: Sistema de configuración centralizado para API keys
- ✅ Validación Automática: Verificación de configuración y versiones al inicio
- 🎨 Interfaz Mejorada: Tablas y paneles con información detallada de análisis
- 🔄 Recarga Dinámica: Actualización automática de configuración sin reiniciar
🏗️ Arquitectura
El sistema utiliza LangChain para capacidades ReAct individuales y AutoGen para colaboración entre agentes especializados:
- Agente Analista: Analiza código .NET y extrae información
- Agente Generador: Genera código de pruebas y templates
- Agente Validador: Valida código y ejecuta pruebas
- Agente Optimizador: Optimiza pruebas y sugiere mejoras
- Agente Coordinador: Coordina tareas y gestiona flujos de trabajo
🆕 Nuevas Funcionalidades (v0.8.0)
CLI Interactivo Persistente
- Estado Persistente: Los agentes se cargan una sola vez y mantienen el estado entre comandos
- Comandos Rápidos: Ejecuta
analyze,generate,validatesin reinicializar - Interfaz Mejorada: Tablas con métricas detalladas y paneles informativos
- Validación Automática: Verifica configuración y versiones al inicio
Sistema de Configuración Global
- Configuración Centralizada: API keys almacenadas globalmente
- Recarga Dinámica: Actualiza configuración sin reiniciar la aplicación
- Validación Inteligente: Detecta claves válidas vs placeholders
- Soporte Multi-Proveedor: DeepSeek, Gemini 2.5, OpenAI
Mejoras en Análisis
- Métricas Detalladas: Contadores de controladores, modelos, servicios
- Extracción Inteligente: Parsea automáticamente resultados del agente
- Presentación Visual: Tablas y paneles con información estructurada
🔧 Configuración
Configuración Global (Recomendado)
# Configurar el agente una sola vez
ia-agent-config
# Ver configuración actual
ia-agent-config --status
Proveedores de IA Disponibles
- DeepSeek (Recomendado) - Especializado en programación, más económico
- Gemini - Google AI, bueno para análisis general
- OpenAI - Estándar de la industria, más caro
💡 Nota: La configuración se guarda globalmente y se aplica a todos tus proyectos. No necesitas archivos
.enven cada proyecto.
🎯 Uso Básico
Comandos Principales
# Descubrir y analizar proyectos automáticamente (NUEVO)
ia-agent
# Ver ayuda del agente
ia-agent --help
# Analizar un proyecto específico (opcional)
ia-agent --project-path ./mi-proyecto
# Configurar el agente
ia-agent-config
# Ver estado de configuración
ia-agent-config --status
Ejemplos de Uso
# Descubrir proyectos en directorio actual (RECOMENDADO)
ia-agent
# Analizar proyecto específico
ia-agent --project-path ./src/MyProject
# Ver logs detallados
ia-agent --log-level DEBUG
🔍 Descubrimiento Automático de Proyectos
El agente ahora detecta automáticamente todos los proyectos .NET en el directorio actual:
# Navega a tu directorio de proyecto
cd ./mi-proyecto-dotnet
# Ejecuta el agente (descubre automáticamente)
ia-agent
El agente mostrará:
- 📁 Lista de proyectos .NET encontrados
- 🎯 Tipo de proyecto (Web API, Console, Library, Test)
- 🔧 Framework objetivo (.NET 8.0, etc.)
- 📦 Paquetes NuGet utilizados
- 🎯 Opción de selección interactiva
📋 Requisitos del Sistema
- Sistema Operativo: Windows 10/11 (64-bit), Linux, macOS
- Python: 3.11 o superior
- .NET SDK: 8.0 o superior (para proyectos .NET)
- Memoria RAM: 8GB mínimo, 16GB recomendado
- Conexión a Internet: Para APIs de IA
- API Key: DeepSeek, Gemini o OpenAI
📚 Documentación
- 📖 Guía de Usuario
- 🔧 Guía de Desarrollador
- 🚀 Guía de Despliegue
- 🏗️ Arquitectura del Sistema
- 🔍 Referencia de API
- ❓ Solución de Problemas
🛠️ Desarrollo
Instalación para Desarrollo
# Clonar el repositorio
git clone https://github.com/Lopand-Solutions/ia-agent-to-unit-test-api-rest.git
cd ia-agent-to-unit-test-api-rest
# Crear entorno virtual
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
# Instalar en modo desarrollo
pip install -e .
Contribuir
- Fork el repositorio
- Crear rama de feature (
git checkout -b feature/nueva-funcionalidad) - Commit cambios (
git commit -am 'Agregar nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Crear Pull Request
📊 Estado del Proyecto
✅ Fases Completadas
Fase 1: Análisis y Diseño ✅
- Estructura del proyecto creada
- Dependencias configuradas
- Repositorio Git inicializado
- Archivos de configuración creados
- Requisitos documentados
- Arquitectura diseñada
Fase 2: Desarrollo del Sistema Multi-Agente ✅
- Agentes especializados implementados
- Sistema de memoria vectorial
- Herramientas .NET integradas
- CLI básico funcional
- Sistema de logging implementado
Fase 3: Funcionalidades Avanzadas ✅
- Suite de testing completa
- Mejoras de IA implementadas
- Sistema de monitoreo
- Documentación de API
- Optimizaciones de rendimiento
Fase 4: Optimización y Despliegue ✅
- Sistema de configuración robusto
- Manager de memoria optimizado
- Optimizador de rendimiento
- Manejador de errores avanzado
- Configuración Docker completa
- Scripts de despliegue automatizado
- Validador de producción
Fase 5: Documentación Final y Entrega ✅
- Guía de usuario completa
- Guía de desarrollador
- Guía de despliegue
- Documentación de API
- Guía de solución de problemas
- Changelog del proyecto
- Licencia MIT
🎯 Versión Actual: v0.7.0
- Estado: ✅ DISPONIBLE EN PyPI
- Funcionalidades: Sistema multi-agente con descubrimiento automático de proyectos
- Nuevo: 🔍 Descubrimiento automático y selección interactiva de proyectos .NET
- Configuración: Global y automática (sin archivos .env)
- Proveedores: DeepSeek, Gemini, OpenAI
- Documentación: Guías completas y API reference
🤝 Soporte
- GitHub Issues: Reportar bugs y solicitar features
- Documentación: Guías completas en el directorio
docs/ - PyPI: ia-agent-dotnet
📄 Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
🙏 Agradecimientos
- LangChain - Framework para agentes con capacidades ReAct
- AutoGen - Framework para colaboración multi-agente
- DeepSeek - IA especializada en programación
- Google Gemini - Google AI para análisis general
- OpenAI - APIs de IA para generación de código
- Comunidad .NET por las mejores prácticas de testing
Desarrollado con ❤️ para la comunidad .NET
Release files for ia-agent-dotnet 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ia_agent_dotnet-0.10.0.tar.gz | 143.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ia_agent_dotnet-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 303.0 kB
Release files / ia_agent_dotnet-0.10.0.tar.gz
| Download URL | ia_agent_dotnet-0.10.0.tar.gz |
|---|---|
| Size | 143.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d78c82686d86db3caca5048eb4e52a6a85b3e1516a57c03c5cb090484b2ba059
|
|
BLAKE2b-256 checksum How to use checksums |
cd625547d871d01448c933d76cbe7d731c2bf9059b94256f93feabd96e23b2b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / ia_agent_dotnet-0.10.0-py3-none-any.whl
| Download URL | ia_agent_dotnet-0.10.0-py3-none-any.whl |
|---|---|
| Size | 159.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f16184e44d688920e37628319a3cff12ff276292c70ac7139e529fca7ede28f
|
|
BLAKE2b-256 checksum How to use checksums |
82ebabe8778bb2e19d2170b699759ac84d355d7a33b5dcccdb7c50c4738a67dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|