Skip to content
Ameya Ketkar edited this page Jan 4, 2023 · 2 revisions

In Progress....

Welcome to the Piranha wiki!

Piranha is a tool to automatically refactor code related to stale flags. At a higher level, the input to the tool is the name of the flag and the expected behavior. Once, the user declares the feature-flag APIs in the configurations, Piranha will use these inputs to automatically refactor the code according to the expected behavior.

At the heart of Piranha is a flexible multilingual structural search/replace engine that allows users to apply chains of interdependent rules for deeper cleanups. Piranha builds upon tree-sitter queries for expressing these rules. This framework allows us to declaratively specify the cleanups. This core framework can be repurposed for other cleanups and migrations too.

  • Refactoring code related to stale flags
  • Using Piranha for other purposes:
    • Piranha in depth
    • Developing a custom refactoring
    • Searching code