I found that coding with AI, especially using Cursor, is always like this -
- First, code is generated, take a first look, nice and well structured, unit tests, logs, exception handling all comes along
- Second, take a deep review, shit why did you miss this? this is not right, you should use another id not this one
- then it is endless prompting - fix this! now unit tests is failing, fix it......
It's like talking to that friend why sometimes just spit some nonsense with a straight-face, and you have to be prepared to catch that. At the end of the day, I feel it even more tiring when coding with AI assistant than without.
Am I doing something wrong?
Top comments (1)
You're not doing anything wrong, Cursor is great on a fresh or small project, and starts to show weakness the larger the codebase gets.
It starts hallucinating libraries that you've never used in your codebase, inserting code incorrectly so it breaks syntax, and overall just gets really messy.
The paid models usually do a better job but it gets noticeable after a while.
I have found that Windsurf doesn't struggle from this issue. In the contrary, it's really good with larger codebases and even entire workspaces (you can add a frontend and a backend project to the same workspace for example, and have it work full-stack across both).
I'd recommend trying out Windsurf.
Now all that being said, it is important to understand that the better and more detailed your prompts are, the better outcome you'll get regardless. This is what makes the difference between vibe coding ✨ and ai-assisted coding. It's good practice to give the LLM as much data as possible; detailed context about the project, docs from any libraries you want to use...
IDEs like Cursor and Windsurf truly shine when you micromanage them. If you're still learning and don't know what the next step is, I recommend asking the LLM not to generate any code for a bit. Start by asking it to help you brainstorm what you're trying to do and what the best way to achieve it is, then ask critical questions and correct it if it got anything wrong, then ask it to set up an action plan. Once you've gone over the action plan and approved it, ask it to implement what you've discussed following the action plan, and voila!
Good luck out there!