Repolode
openrewrite

openrewrite/rewrite

OpenRewrite — движок автоматического рефакторинга с открытым исходным кодом: он применяет рецепты к коду во множестве репозиториев, помогая мигрировать на новые версии фреймворков и устранять уязвимости.

Звёзды
3,955
Форки
601
Открытые issues
307
Последний коммит
15 часов назад

Что это?

OpenRewrite — экосистема автоматического рефакторинга, которая запускает готовые рецепты для исходного кода, чтобы выполнять миграции на новые версии фреймворков, устранять уязвимости и приводить код к единому стилю. Она работает с типизированной моделью кода под названием Lossless Semantic Tree (LST): та сохраняет форматирование и позволяет рецептам вносить точечные изменения.

Парсеры и базовые рецепты доступны для Java, Kotlin, Groovy, JavaScript/TypeScript, Python и C#. Для Java-проектов предусмотрены плагины Gradle и Maven, позволяющие запускать один рецепт в отдельном репозитории. Рецепты можно настраивать или создавать с нуля.

Проект поддерживает Moderne. Компания предлагает коммерческую платформу для одновременного запуска тех же рецептов в нескольких репозиториях, а также CLI для работы с несколькими репозиториями и инструменты для coding agents.

Ключевые возможности

  • 01Запускает готовые рецепты рефакторинга для миграции на новые версии фреймворков и устранения уязвимостей.
  • 02Преобразует код в типизированное дерево Lossless Semantic Tree, сохраняющее форматирование.
  • 03Поддерживает Java, Kotlin, Groovy, JavaScript/TypeScript, Python и C#.
  • 04Предоставляет плагины Gradle и Maven для запуска рецептов в Java-проектах.
  • 05Позволяет настраивать существующие рецепты или создавать собственные.

Сценарии использования

  • Автоматическое обновление Java-кода для перехода на новую версию фреймворка.
  • Применение одного и того же исправления уязвимости или изменения стиля во всём репозитории.
  • Массовое устранение технического долга без ручной правки файлов по одному.

Быстрый старт

  1. 1

    Прочитайте официальное руководство по быстрому старту

  2. 2

    Добавьте плагин OpenRewrite для Gradle или Maven в проект Java и запустите рецепт

Что важно знать

  • Для некоторых рецептов и дополнительных языковых парсеров требуется коммерческая лицензия Moderne либо на них распространяется Moderne Source Available License.
  • Плагины Gradle и Maven запускают по одному рецепту за раз для одного репозитория.

Темы

#refactoring#code-transformation#java#migration#ast#code-search#static-analysis#abstract-syntax-tree#refactoring-tools

Частые вопросы

Что такое rewrite?
OpenRewrite — движок автоматического рефакторинга с открытым исходным кодом: он применяет рецепты к коду во множестве репозиториев, помогая мигрировать на новые версии фреймворков и устранять уязвимости. OpenRewrite — экосистема автоматического рефакторинга, которая запускает готовые рецепты для исходного кода, чтобы выполнять миграции на новые версии фреймворков, устранять уязвимости и приводить код к единому стилю. Она работает с типизированной моделью кода под названием Lossless Semantic Tree (LST): та сохраняет форматирование и позволяет рецептам вносить точечные изменения.
rewrite можно использовать бесплатно? Какая у него лицензия?
rewrite распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
rewrite всё ещё поддерживается?
Активно поддерживается. Последний коммит в rewrite — 6 нояб. 2026 г..
Для чего можно использовать rewrite?
Автоматическое обновление Java-кода для перехода на новую версию фреймворка. Применение одного и того же исправления уязвимости или изменения стиля во всём репозитории. Массовое устранение технического долга без ручной правки файлов по одному.
Как установить rewrite?
Прочитайте официальное руководство по быстрому старту Добавьте плагин OpenRewrite для Gradle или Maven в проект Java и запустите рецепт
Где скачать rewrite?
Исходный код и инструкции по установке — на GitHub: https://github.com/openrewrite/rewrite

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека статического анализа Python для автодополнения, перехода к определению, рефакторинга и поиска по коду; используется преимущественно в плагинах для редакторов.

6,2 тыс.+3 за неделю549PythonOtherАктивно поддерживаетсяОбновлён 5 дней назад

Преобразует кодовую базу, документацию, схемы и PDF в граф знаний для AI-ассистентов разработки, который можно запрашивать; строит его локально с помощью разбора AST через tree-sitter.

143,4 тыс.+4,1 тыс. за неделю13,7 тыс.PythonApache-2.0Обновлён 17 часов назад