How do you use Cursor?

I’m curious how other people are using Cursor, and would appreciate your feedback.

In my case, I wrote most of my code myself. Then I used Cursor to add specific new features - or adapt some existing features. For example, for simple CRUDs (look at this, create that using the same approach), or for generating data models when I am spinning up the projects, as it simply cover edges in beginning which would later lead me to more migrations. Used it in a context of translations as well - saved me bunch of time there, and translates much better and faster then I would have patience to do myself (which is kinda more LLM then Cursor, but credit where the credit is due).

I tried vibing of course. And here is my experience across last 4-5 months since I am using Cursor:

Go backend. Code is modularised, DDD driven, hexagonal architecture. Mostly used Claude models, 3.7 and later 4. Thinking and non thinking. Tried others but didn’t really work. Before Cursor started having issues with cursorfiles, worked like a charm in my case: add the new domain, start with this database model (which I would precreate in advance), see how domain, service, repository, handlers are done, this is where we wire API routes - but then it became a circus: it starts doing what I didn’t tell it to do, started creating things I didn’t ask, started insisting to do what I didn’t want it to do, not following anything architecture related to the point that it became faster for me to do it myself, much faster. This seemed to be quite simple time saving, and became kinda arguing with a computer which is nonsense.

React and Typescript frontend. Also properly modularised, components are there, folder structure as good as I can do it in frontend… and again it works until it doesn’t. Starts ignoring component boundaries out of nowhere, starts removing the code which has no reason to remove (for example, to add three lines function it removes 6 random lines around it, and can not explain why), started creating files which were not needed at all, started ignoring quite simple API patterns and inventing its own even I would try to tell it to just add 5 lines of code on the bottom of that specific file. Again, got to the point where I spend more time arguing with it what to do then just doing it myself. Where it shines - as I mentioned it before - are translations and CSS, for which I really don’t have patience. Except when it starts removing the random code.

Infrastructure with Ansible. I know what I am doing here, and even ChatGPT a year ago was very capable of creating simple yaml file when you tell it specifically to do a, b, c and d with very specific commands. How complicated this can be? Until maybe two weeks ago I tried to use Cursor for it, with different Claude models, and it just couldn’t pull up the most simple stuff, like create .env.production, put some values in it, run npm install then npm run build, archive it and move it there. Nope. I was stubborn as well, spent the whole day trying in all possible way to teach it what to do - really, just that, one single file - and in the end gave up and did it in 2 minutes myself.

And here comes this discussion: how are you using Cursor, taking into account tradeoffs that UI gives, models, the way Cursor charges it to argue with it while it is not doing what you ask it to do? How do you pull out the value for yourself?

1 Like

I use it to refactor a production code base, and also enhance it with new models for Turso instead of pesky Mongoose. I tried to have Cursor to batch create 10 files and work autonomously, but then I think it stored everything in memory and run out of it so I only get stubbed half done files. Now I do one file at a time but use Automator on my Mac that push the buttons.

1 Like

im a windsurf user and have two accounts with them (1k credits), i test cursor by the “unlimited” agents (i found that is more expensive), and cursor works a little better than windsurf and maybe its for sonnet 4, but at the end i do refactoring, hot fix for simple bugs that i know and i dont want to solve by myself and just ask to fix and put the files on context, in general its works pretty well, in front all my projects were made with full vive coding from scratch with only css and the complex its the initial base code structure and the creation of the design system, but in general it works fine, simple task like, change a variable or fix something in a single file i do by myself, i spend more time in the architecture design than the coding and that is why i love this tools.
Note, i dont use the editors of windsurf or cursor i use an IDE and the editors only for the agent task

1 Like

i use it to review PRs on azure (via mcp server and git commands), working on php backend (mostly looking up relevant code in a moderately big codebase) and generating complete frontend as I dont do ts/js, for all of this i use sonnet 4 thinking, pro+ covers my usage

1 Like