It does things I haven't asked it to do

My workplace just purchased a single Cursor business license today so I could trial it. So far I’m very frustrated.

An example - The prompt I gave:

Read @general-instructions.md first. Then review @project-details.tsx and @ProjectDetails.tsx.

Extract the "Files" tab and its functionality from ProjectDetails.tsx into a separate component to reduce the size of the ProjectDetails component.

It correctly extracted the files tab to another component… but also made other changes, including changing some Supabase queries to incorrect table names and removing where clauses.

This is one example but so far my experience with Cursor has been incredibly frustrating.

Every time I ask it to do something, it goes off doing other things as well that I haven’t asked it to do. It’s like a runaway child with a crayon.

Which model did you use?
I made the best experiences by adding a file to the context with some instructions what Cursor may or may not do, when to ask for feedback, etc.
Cursor uses the file “.cursorrules” for this. I use another approach: I added a file “cursor-context.txt” with instructions like “always answer in german” and a “cursor-app.txt” with application specific instructions like “ask for permission before altering or removing data from the database”. I add these 2 files to my chat window before starting a new conversation.
Btw: I told Cursor that it may add entries to these files by itself, so store valuable information outside the default chat context.

In this specific example I had the model set to Claude 3.5 Sonnet but I’ve tried “auto” and other models too and still get similar results.

The @general-instructions.md in the prompt is a file like you suggest.