OpenXava funciona extraordinariamente bien con asistentes y agentes de codificación IA como GitHub Copilot, Windsurf, Cursor, JetBrains Junie, Claude Code, y otros. Hay varias razones para ello:
Puedes ver esto en acción en el Curso con IA, donde se construye una aplicación de negocio completa usando un agente IA con mínima intervención manual.
A partir de la versión 7.7, OpenXava incluye optimizaciones específicas para hacer que los asistentes de codificación IA sean aún más efectivos. Estas optimizaciones proporcionan a los agentes IA contexto específico del proyecto y ejemplos de código real, para que produzcan código OpenXava correcto desde el primer intento.
Cada nuevo proyecto OpenXava incluye un archivo AGENTS.md en la raíz del proyecto. Es un archivo Markdown especial que los asistentes de codificación IA leen automáticamente para entender las convenciones y reglas de tu proyecto. La mayoría de IDEs modernos con IA (Windsurf, Cursor, GitHub Copilot, etc.) reconocen este archivo y lo usan como contexto al generar código.
El archivo AGENTS.md incluido con los proyectos OpenXava contiene:
Esto significa que cuando le pides a un agente IA que "cree una entidad Cliente" o "escriba una prueba para el módulo Factura", seguirá las convenciones de OpenXava automáticamente.
Además de AGENTS.md, los proyectos OpenXava usan una carpeta .xava que contiene ejemplos de código real para que los agentes IA los consulten. Esta carpeta se genera automáticamente e incluye:
La carpeta .xava se genera a partir del artefacto Maven openxava-agents-examples. No está pensada para ser editada manualmente, se regenera automáticamente cuando cambia la versión de OpenXava.
Cuando un asistente de codificación IA abre tu proyecto, lee AGENTS.md para aprender las reglas del proyecto. Cuando necesita generar una prueba o entender cómo funciona OpenXava, consulta los ejemplos en la carpeta .xava. Esta combinación de reglas y ejemplos resulta en una generación de código mucho más precisa.
Los proyectos creados con OpenXava 7.7 o posterior ya incluyen todo lo necesario. Tanto el archivo AGENTS.md como la configuración en pom.xml para la carpeta .xava se configuran automáticamente.
El único paso que necesitas dar es ejecutar una compilación Maven para generar la carpeta .xava:
mvn package
Después de esto, la carpeta .xava se creará en la raíz de tu proyecto con todos los archivos de ejemplo. La carpeta .xava no se incluye en .gitignore y no deberías añadirla, porque la mayoría de asistentes de codificación IA solo buscan archivos que están dentro del proyecto y que no estén ignorados por Git. El contenido de la carpeta .xava se regenera automáticamente cuando cambia la versión de OpenXava.
Si tu proyecto fue creado con una versión anterior a la 7.7 y has actualizado a la 7.7 o posterior, puedes añadir soporte para asistentes de codificación IA manualmente siguiendo estos pasos:
Descarga el archivo AGENTS.md del repositorio GitHub de OpenXava y colócalo en la raíz de tu proyecto:
https://github.com/openxava/openxava/blob/master/openxava-archetype/AGENTS.md
Después de descargarlo, edita el archivo para reemplazar los marcadores del arquetipo con los valores reales de tu proyecto:
Por ejemplo, si tu paquete es com.miempresa y tu artefacto es facturacion, cambia:
package ${package}.${artifactId}.model;
por:
package com.miempresa.facturacion.model;
Añade la siguiente ejecución dentro del maven-dependency-plugin en tu pom.xml. Si ya tienes una configuración de maven-dependency-plugin (la mayoría de proyectos OpenXava la tienen), simplemente añade este nuevo bloque <execution> junto a los existentes:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- ... tus ejecuciones existentes ... -->
<execution>
<id>unpack-agents-examples</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.openxava</groupId>
<artifactId>openxava-agents-examples</artifactId>
<version>${openxava.version}</version>
<outputDirectory>.xava</outputDirectory>
<includes>agents/**</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
Esta configuración desempaqueta el artefacto openxava-agents-examples en la carpeta .xava durante la fase initialize de Maven, que se ejecuta antes de la compilación.
Ejecuta Maven para generar la carpeta .xava:
mvn package
Ahora deberías ver una carpeta .xava/agents/ en la raíz de tu proyecto con los ejemplos de pruebas y las definiciones de controladores.
No añadas .xava a tu archivo .gitignore, porque la mayoría de asistentes de codificación IA solo buscan archivos que están dentro del proyecto y que no estén ignorados por Git. Si .xava está en .gitignore, los agentes no podrán encontrar los ejemplos.
El archivo AGENTS.md es totalmente personalizable. Puedes y deberías editarlo para incluir convenciones específicas de tu proyecto. Por ejemplo:
Cuanto más específico y detallado sea tu AGENTS.md, mejor entenderá el asistente de codificación IA tu proyecto y generará código que se ajuste a tus estándares. Piensa en ello como documentación de incorporación, no para un nuevo desarrollador, sino para un agente IA.