openrewrite/rewrite

Automated mass refactoring of source code.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 18th, 2026
Created on May 12th, 2020
Open Issues & Pull Requests: 293 (+0)
GitHub issues: Enabled
Number of forks: 571
Total Stargazers: 3,738 (+0)
Total Subscribers: 25 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.2 hours
Mean response time: 114.8 days
90th percentile: 321.6 days
Tracked items: 885

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 11% of issues opened in the past year have never received a reply. 82% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about 2 hours, while "recipe" waits about 31 hours. 46% of tracked open issues have had no activity in three months. 76% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 163
New in 7 days: 2
Closed in 7 days: 3
Avg open age: 511 days
Stale 30+ days: 143
Stale 90+ days: 118

Recent activity

Opened in 7 days: 2
Closed in 7 days: 3
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • bug (589)
  • parser (183)
  • enhancement (170)
  • recipe (98)
  • java (83)
  • test provided (69)
  • maven (66)
  • groovy (65)

Detailed Description

OpenRewrite is an automated refactoring engine that transforms source code at scale through prepackaged recipes and custom transformations.

The tool solves the problem of managing technical debt and performing repetitive code changes across repositories. It works by parsing source code into abstract syntax trees, then applying refactoring recipes that match patterns and make targeted modifications. Recipes can handle framework migrations, security fixes, and stylistic consistency tasks. The engine supports multiple languages including Java, Kotlin, Groovy, JavaScript, TypeScript, Python, and C#. For Java projects, integration plugins for Gradle and Maven allow recipes to run directly in build workflows. Recipes are composable and customizable, so developers can adapt existing ones or write new transformations for their specific needs.

Teams should adopt OpenRewrite when they need to apply consistent changes across multiple repositories or codebases, particularly for framework upgrades or security patches where manual refactoring would consume significant time. It suits organizations managing large Java ecosystems or polyglot codebases where coordinated migrations are difficult. The tool is especially valuable when the same refactoring must be repeated across many projects, since recipes can be versioned and reused. Projects with strong testing practices benefit most, as the tool generates changes that should be validated before merging.

The project maintains active development with regular updates to its core engine and recipe library. The team engages directly with users through multiple community channels including Slack and Discord for real-time support. Educational content is produced regularly through video streams and YouTube tutorials that demonstrate recipe usage and advanced techniques. The project uses build acceleration infrastructure to maintain performance in its continuous integration pipeline.