Is Cursor only usable for web languages?

Spent countless hours configuring for Swift development.
Finally found that there’s .cursorrules and sites dedicated to those rules.
Created global rules and project specific, detailed rules.
no difference whatsoever! I’m not even sure if it loads cursorrules.

It will create working app from initial prompt. Then you add features and couple of iterations later it’s compile errors.
It becomes more and more senile. endless whack-a-mole. It’s fixing compile errors in one module makes whole other parts of app stop working.

And mistakes it creates are so basic! like assigning to get-only property.

    init() {
        // Initialize before creating any views
        appDelegate = AppDelegate()
    }

Asked to create list of items, it creates but when you select anything it crashes. Because it’s not thread safe and does not support selection, making any selection crash it.
To which it responds - “The issue is that we need to properly set up the list selection style.”.
So I have to describe almost every line of the code, including implied details like if it’s a list it shouldn’t crash on selection.
And in .cursorrules it has all the conditioning for Swift development, to use best practice and produce thread safe modular code.

Compile errors are endless. I ask it, why you produce code that doesn’t compile, with build errors, can try to compile before presenting?
Reply- yes, I should do that!
nothing changes.

This applies to Swift and Flutter development.

Hey, make sure your rules are working. Did you enable the toggle in the settings? Also, try adding documentation to your model requests, and please let us know which model you’re using.

I have watched numerous videos on YouTube demoing iOS dev with Cursor, but I have only written a single iOS application with the Cursor IDE. I did get several errors but after asking the composer about them I was able to get resolutions. With a few of the iterations and then code added to my project, I noticed errors came up. In some cases I had to add items to my info.plist file.

Several of the videos I have watched, users got errors as well but they were able to ask the AI about them and get them resolved.

I have seen some mentions in videos and the cursor.directory website where people add lines like “refer to the the official language documentation…” in the Rules for AI box in settings. This may help with the init() you mentioned. It is likely the AI can pull suggestions from many places, so telling it to prioritize the official docs may help, maybe even include an URL as well.

To be clear, at this point I do not blame the IDE or AI for the errors. We are in early days of functionality like this and it will get better over time. Cursor is the IDE and Claude is the AI.

  • you should enable cursorrules function in settings.
  • create .cursorrules in root path.