Herramienta CLI que busca, analiza y reescribe código al comparar patrones de árboles de sintaxis abstracta, en lugar de texto plano.
openrewrite/rewrite
Motor de refactorización automatizada de código abierto que aplica recetas al código fuente en numerosos repositorios para migrar frameworks y corregir problemas de seguridad.
- Estrellas
- 3,955
- Forks
- 601
- Issues abiertos
- 307
- Último commit
- hace 18 horas
¿Qué es?
OpenRewrite es un ecosistema de refactorización automatizada que ejecuta recetas predefinidas sobre el código fuente para gestionar migraciones de frameworks, corregir problemas de seguridad y mantener la coherencia de estilo. Trabaja con un modelo del código que tiene en cuenta los tipos, llamado Lossless Semantic Tree (LST), que conserva el formato y permite que las recetas realicen cambios precisos.
Hay parsers y recetas base para Java, Kotlin, Groovy, JavaScript/TypeScript, Python y C#. En proyectos Java, los plugins de Gradle y Maven permiten ejecutar una sola receta en un repositorio. Puedes personalizar las recetas o escribirlas desde cero.
Moderne mantiene el proyecto y ofrece una plataforma comercial para ejecutar las mismas recetas en muchos repositorios a la vez, además de una CLI para varios repositorios y herramientas para agentes de programación.
Funciones clave
- 01Ejecuta recetas de refactorización predefinidas para migrar frameworks y corregir problemas de seguridad.
- 02Analiza el código y lo convierte en un Lossless Semantic Tree que tiene en cuenta los tipos y conserva el formato.
- 03Es compatible con Java, Kotlin, Groovy, JavaScript/TypeScript, Python y C#.
- 04Ofrece plugins de Gradle y Maven para ejecutar recetas en proyectos Java.
- 05Permite personalizar recetas existentes o crear las tuyas.
Casos de uso
- Actualizar una base de código Java a una versión más reciente de un framework mediante cambios automatizados.
- Aplicar la misma corrección de seguridad o cambio de estilo en todo un repositorio.
- Eliminar deuda técnica de forma masiva sin editar los archivos uno por uno.
Inicio rápido
- 1
Lee la guía oficial de inicio rápido
- 2
Añade el plugin de OpenRewrite para Gradle o Maven a tu proyecto Java y ejecuta una receta
Antes de usarlo
- Algunas recetas y los analizadores adicionales de lenguajes requieren una licencia comercial de Moderne o están sujetos a la Moderne Source Available License.
- Los plugins de Gradle y Maven ejecutan una receta cada vez en un único repositorio.
Temas
Preguntas frecuentes
- ¿Qué es rewrite?
- Motor de refactorización automatizada de código abierto que aplica recetas al código fuente en numerosos repositorios para migrar frameworks y corregir problemas de seguridad. OpenRewrite es un ecosistema de refactorización automatizada que ejecuta recetas predefinidas sobre el código fuente para gestionar migraciones de frameworks, corregir problemas de seguridad y mantener la coherencia de estilo. Trabaja con un modelo del código que tiene en cuenta los tipos, llamado Lossless Semantic Tree (LST), que conserva el formato y permite que las recetas realicen cambios precisos.
- ¿rewrite es gratuito? ¿Qué licencia tiene?
- rewrite es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿rewrite sigue mantenido?
- Mantenimiento activo. El último commit de rewrite fue el 6 nov 2026.
- ¿Para qué puedo usar rewrite?
- Actualizar una base de código Java a una versión más reciente de un framework mediante cambios automatizados. Aplicar la misma corrección de seguridad o cambio de estilo en todo un repositorio. Eliminar deuda técnica de forma masiva sin editar los archivos uno por uno.
- ¿Cómo se instala rewrite?
- Lee la guía oficial de inicio rápido Añade el plugin de OpenRewrite para Gradle o Maven a tu proyecto Java y ejecuta una receta
- ¿Dónde consigo rewrite?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/openrewrite/rewrite
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de refactorización para Python que transforma código de forma segura, por ejemplo, al renombrar, mover y extraer código en un proyecto.
Parser de Java 1 a Java 25 que construye un árbol de sintaxis abstracta y ofrece un resolutor de símbolos para identificar declaraciones y tipos.
Un parser de PHP escrito en PHP que convierte código fuente PHP en un árbol de sintaxis abstracta para el análisis estático y la manipulación de código.
Biblioteca de análisis estático de Python para autocompletar, ir a la definición, refactorizar y buscar código, usada principalmente por plugins de editores.
Convierte el código, la documentación, los esquemas y los PDF de un proyecto en un grafo de conocimiento consultable para asistentes de programación con IA, generado localmente mediante el análisis AST de tree-sitter.