I can definitely relate. As an engineering manager, migration projects are often the least fun to work on. They are complex, take a ton of time and no one wants to work on them. If this works as promised. I would like to try it on a few migrations myself. Best of luck on your work,
Great question! So our AI agents actually use a combination codemods plus generated AI results. We use static analysis and codemods as much as possible, but there are lots of situations where AI is the best tool. We have found that AI is particularly good at transforming EXISTING logic from one state to another, in a fairly predictable and consistent way, so long as the code transformations are individual functions or code files.
In combination with our RAG approach, you will find that if you run the same module multiple times, the generated results are incredibly similar with very little variation. Give it a go for yourself! You can try it for free on codebases up to 2MB, or use any of our example repos.
I love this. I'm really curious to see what the SDK for this looks like.
These kinds of migrations are unbelievably tedious on large codebases, and when lots of teams are involved they can turn very high-friction. Being able to build a module to conduct a one-off migration over a huge codebase would be a massive force-multiplier for a lot of teams.
One thing that is nice about human teams doing migrations is the opportunities to redirect, optimize, and discuss.
1. Are these migrations purely A -> B or is it A -> Optimized B?
2. Are there any opportunities for the AI to be interactive to request feedback or have a discussion with the process as it is going?
Next 12 to 13 migration could be interesting for our (open source) code base. Currently using tRPC, page router and next auth. Until now I did not push for the migration as it seemed rather complex and non-urgent.
Do you have learnings on for which kind of project setups the migration works well and for which it struggles?
How would this cover for security vulnerabilities and other invisible tech debt that was incurred in the previous iterations? Generally, in the migrations, humans discard a lot of old code for new modules and capabilities which have become available. Does the AI take care of that?
chandan_maruthi|2 years ago
immortalloom|2 years ago
chandan_maruthi|2 years ago
codedrift_|2 years ago
Next 12 to 13 (with app router) is a struggle for even seasoned teams. Not looking forward to AI handing off a 162833292 line PR.
immortalloom|2 years ago
In combination with our RAG approach, you will find that if you run the same module multiple times, the generated results are incredibly similar with very little variation. Give it a go for yourself! You can try it for free on codebases up to 2MB, or use any of our example repos.
russell_h|2 years ago
These kinds of migrations are unbelievably tedious on large codebases, and when lots of teams are involved they can turn very high-friction. Being able to build a module to conduct a one-off migration over a huge codebase would be a massive force-multiplier for a lot of teams.
immortalloom|2 years ago
shadowcodex|2 years ago
One thing that is nice about human teams doing migrations is the opportunities to redirect, optimize, and discuss.
1. Are these migrations purely A -> B or is it A -> Optimized B? 2. Are there any opportunities for the AI to be interactive to request feedback or have a discussion with the process as it is going?
marcklingen|2 years ago
Do you have learnings on for which kind of project setups the migration works well and for which it struggles?
immortalloom|2 years ago
neha_n|2 years ago
robszumski|2 years ago
immortalloom|2 years ago
zenorocha|2 years ago
kaushik92|2 years ago