Noden Labs

Migra módulos de Odoo con IA, sin reescribirlos a mano

Compartimos el System Prompt de código abierto que permite automatizar las reglas de transformación de Odoo. Lo hemos puesto a prueba migrando un módulo extenso desde la versión 12 hasta la 19, superando con éxito todos los breaking changes del camino e instalándolo sin errores ni advertencias.

Lo compartimos en código abierto para la comunidad.


1. El Problema: El 80% es trabajo mecánico

Migrar Odoo cada año es tedioso y costoso. Cada versión rompe decoradores, sintaxis XML y APIs, generando una deuda técnica que paraliza a las empresas.

La solución: El System Prompt automatiza ese 80% de tareas repetitivas en minutos. Para garantizar la seguridad, la IA nunca inventa código: si hay dudas, marca el bloque con # TODO_AI para revisión humana. Un simple grep permite auditar el resultado en segundos.


2. Métricas de desempeño

Validamos este sistema con un caso real: un módulo extenso migrado desde Odoo v12 hasta Odoo v19 en 7 saltos consecutivos.

Trayectoria: v12 → v13 → v14 → v15 → v16 → v17 → v18 → v19 Resultado: Módulo instalado en Odoo v19 de forma limpia, sin errores ni warnings.

Radiografía del código migrado

MétricaVolumenDetalle
Archivos4718 Python, 26 XML, 1 CSV
Líneas de código~5,9871,969 LOC Python, 3,795 LOC XML, 88 LOC CSV
Modelos2923 propios, 6 heredados (res.partner, res.users, etc.)
Campos~295Definiciones completas de modelos
Interfaz y vistas11250 vistas, 26 acciones, 36 menús
Seguridad6969 grupos de seguridad, 87 reglas ACL

Stack tecnológico

  • Entorno base: Odoo 19 + PostgreSQL (Docker Compose).
  • Desarrollo: Python 3.12+, framework OWL.
  • Motores IA ejecutados: Claude Code + Claude 3.5 Sonnet / Opus.

3. Cómo usarlo

Hemos preparado un workspace que combina las reglas de migración con un entorno Odoo + PostgreSQL dockerizado para validar el resultado.

Workspace: nodenlabs/odoo-devx → odoo-module-migration Reglas: .claude/skills/odoo-module-migration — divididas por versión, para que el agente cargue solo los saltos que necesita.

Estructura del workspace

  • AGENTS.md: La guía que sigue el agente.
  • CLAUDE.md: Importa AGENTS.md, así Claude Code lo carga solo.
  • docker-compose.yaml y Dockerfile: Odoo + PostgreSQL, en la versión que definas.
  • src/: tus módulos originales · out/: los migrados.

Paso 1 · Preparar el entorno

cp .env.example .env
mkdir -p src out

Copia tu módulo original dentro de src/. La variable ODOO_VERSION en el .env define la versión destino: 15.0 para migrar de v14 a v15, 18.0 para v17 a v18, y así.

Paso 2 · Lanzar la migración

Abre tu agente de IA en el directorio —Claude Code carga CLAUDE.mdAGENTS.md solo— y lanza la instrucción:

"Migrate src/mi_modulo from v12 to v19. Save it in out/mi_modulo."

El agente copia el módulo, aplica las reglas salto por salto, escribe un CHANGELOG.md con lo que cambió y marca con # TODO_AI: todo lo que no pudo resolver con certeza.

Paso 3 · Validar

docker compose up -d --build
docker compose exec odoo odoo -d migration_test -i mi_modulo --stop-after-init --no-http
docker compose logs -f odoo

Odoo queda en http://localhost:8069.

Paso 4 · Iterar y revisar

Si la instalación falla, devuelve el traceback al agente: corrige solo los archivos afectados, sin tocar el resto del trabajo. Al final, revisa los puntos que dejó marcados:

grep -rn 'TODO_AI' out/

Por qué ese marcador importa. El agente nunca inventa código: si no está seguro, conserva el original y deja el TODO_AI con la razón. Esa lista es tu trabajo manual real, y es corta.


Migrar versiones de Odoo ya no tiene que ser un dolor de cabeza. Al delegar el trabajo manual a la IA, recuperamos tiempo para programar lo que aporta valor real.

Pruébalo con tus módulos y, si encuentras nuevas reglas, ¡anímate a contribuir al repositorio!

👉 Ver el workspace en GitHub

Responses (0)

Sign in to reply

No responses yet.