openxava / documentación / Asistentes de codificación IA

×Novedad: XavaPro 7.7.3 disponible - 10 de junio · Leer más
Optimizado desde OpenXava 7.7

Tabla de contenidos

Asistentes de codificación IA
Por qué OpenXava funciona bien con asistentes de codificación IA
Optimizaciones para agentes IA (7.7+)
AGENTS.md
La carpeta .xava
Cómo funciona en conjunto
Proyectos nuevos (7.7 o posterior)
Añadir soporte IA a proyectos existentes
Paso 1: Añadir AGENTS.md
Paso 2: Modificar pom.xml
Paso 3: Generar la carpeta .xava
Personalizar AGENTS.md

Por qué OpenXava funciona bien con asistentes de codificación IA

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.

Optimizaciones para agentes IA (7.7+)

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.

AGENTS.md

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.

La carpeta .xava

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.

Cómo funciona en conjunto

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.

Proyectos nuevos (7.7 o posterior)

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.

Añadir soporte IA a proyectos existentes

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:

Paso 1: Añadir AGENTS.md

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;

Paso 2: Modificar pom.xml

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.

Paso 3: Generar la carpeta .xava

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.

Personalizar AGENTS.md

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.