Hi folks. The team at Vercel has a great guide for migrating CRA to Next.js manually (https://nextjs.org/docs/app/building-your-application/upgrad...). We converted this guide to STEP so that you can run it as an AI agent automation on Second (https://www.second.dev/).
HN user
immortalloom
What are some other ones?
None come to mind - you should give it a go and see how the PR turns out
Yea that's the plan.
Hah yea. But, we use RAG to ensure that the choices made are really good. LLMs on their own can't be trusted, they are just great communicators. LLMs combined with reputable sources (like documentation and code examples) provide really great results! And these data sources actually can be queried, as they are shipped with each module.
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.
In general, as our AI agents produce code files, we collect dependencies, and then at the end, use npm to determine the correct version numbers without actually installing on disk
Yea! It turns out that we get this request quite often (Python 2 -> 3). It's on the roadmap.
We use LangChain to crawl documentation and code examples for relevant frameworks and libraries, to make sure that the AI generated PR is up-to-date. We also have a custom dependency resolver that detects which new dependencies need to be added, as well as updating the package.json files with the correct version numbers
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
Beautiful! Insanely easy to use
Yes today the bots assume you are connecting to a Next.js 13 app. Bad assumption I know! I am working to add repo a scanner (ChatGPT prompts!) to understand the general tech stack of a connected repo. This will be coming soon.
Yes on both!
1) I will certainly work on setting up a show case or gallery of example sites 2) case study blogs are a great idea!
I believe that now is the perfect time. Generative code generation is legit with GPT-3. I am constantly surprised at the results. And it will only get better.
Yea great question! So yes, I used Second to build the foundation, auth, and DB stuff (starter plan stuff). But other parts of my app have not been ported back into modules yet (which will become Pro modules).
At some point I want to do a full rebuild of Second using Second to test out all of the modules together. But I'm not quite there yet!
Correct! Second generates new features from configurable modules in the Second UI. I cannot use a prompt because this would require massive context windows (4k tokens is the limit). I'm using configurations so that I can use a mix of compilers and GPT-3. My compilers construct individual prompts for different tasks.
Yea, this is one of the capabilities I want to support. Auto upgrades. I am very confident it is possible, but it will be later on in my roadmap. Right now, most users and customers are interested in speeding up feature development vs. one time upgrades. But I'm with you!
So the Second UI is based on feature modules. You, the human, choose a feature to add. You configure it and then press "Commit Code" or "Raise PR". You can customize in two ways:
1) I can add more configuration options to the modules 2) you can tweak the results with code! After all, the generated code is yours to keep!
yea!
Agreed, we shall see! I empathize with what you are saying, because personally I am very slow to understand other people's code.
But, because Second builds commodity features, everything is so vanilla that it's actually pretty easy to understand. No weird anti-patterns or anything.
Thanks! You're not wrong. A.I. is nothing more than an extension of our collective minds. If our collective minds are messy, the A.I. results will be messy as well.
Lol you're not wrong. BUT I do want to take my time with the video. I might be slower than you – it would probably take me an hour+ to tweak it, and find a better song.
True, but it's still work. Using ChatGPT manually is great, but it's not as fast as configuring a feature and then having the whole thing built and integrated. A lot of users also struggle with knowing what to even ask ChatGPT, unless they are already an experienced developer.
Thanks! One thing that I've been learning is that a handful of developers I know are integrating ChatGPT into their workflows more and more.
1) Use ChatGPT to generate small blobs of code 2) tweak it and integrate it 3) repeat
Interestingly, this is very similar to how Second operates as well – but the tweaking and integrating is automated.
So I've looked through logs of your sessions, and the routes you hit, and APIs called, and I still don't see anything unusual. I may be misunderstanding the issue that you faced. I also don't have any client side data for your session (guessing ad blocker). I'd really like to get to the bottom of this one! If you can find some time today to join the Discord so that we can chat for a few minutes, that would be awesome!
Looking into this right now. I'm looking through logs for your session, and I don't see any unusual accounts names being returned (looks like you're just using one specific one, won't name it here). I will keep looking
to log out, btw you can go to app.second.dev/protected. There's a "sign out" button there.
Can you jump on my discord so we can sort it out? https://www.discord.gg/ZhYUEjsW3Z
This is not expected
The deployment module is a Pro module, but it includes AWS Amplify Hosting as a hosting option. But for Second, it's pretty much a no-op, because with AWS Amplify Hosting you just point to the GitHub repo that Second has been modifying.
Kinda sorta. Second is actually using AI to rationalize your codebase, and modify your files. It's pretty different.
I will say though, that a lot of my users / customers prefer to use AWS Amplify Hosting to keep everything on the same VPC (vs using Vercel). I would say about half. AWS Amplify Hosting is fairly good actually.
Funny enough, when I started Second, I was an A.I. skeptic. I was very resistant to it, and felt similarly to a lot of the comments on this page. I started out by building a really robust compiler that could handle lots of combinations of features and configurations. But as I began to see the real power of A.I., I started integrating it more and more. Second bots V1 was 100% deterministic compiler. Second bots V2 was mostly compiler, and some A.I. The current version of Second bots, V3, is about half compiler and half A.I.