top | item 37295607

(no title)

43 points| immortalloom | 2 years ago

discuss

order

chandan_maruthi|2 years ago

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,

immortalloom|2 years ago

Yea! Let me know if we can help your team with any of those. Right now we specialize in AngularJS -> React, CRA -> Next, JS -> TS, and Upgrade Next

chandan_maruthi|2 years ago

How do you handle dependencies like libraries?

codedrift_|2 years ago

How is this better than deterministic codemods?

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

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.

russell_h|2 years ago

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.

shadowcodex|2 years ago

Really love the direction here.

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

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?

immortalloom|2 years ago

None come to mind - you should give it a go and see how the PR turns out

neha_n|2 years ago

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?

robszumski|2 years ago

I've seen a team crawl through a Python 2 -> 3 migration for months, paralyzing product dev. Applying AI to the migration space is really smart.

immortalloom|2 years ago

Yea! It turns out that we get this request quite often (Python 2 -> 3). It's on the roadmap.

zenorocha|2 years ago

I'm incredibly excited about this one. Migrations are a hidden cost that most people don't want to see it.

kaushik92|2 years ago

Migration projects are painful and no developer enjoys them. Good to see a great solution to automate this!