For 3 hours it kept giving me suggestions (mostly in a loop, cause it loses the previous context after some time, it does not know my full project files, and it just keeps trying hacks which lead to nowhere, it never says sorry i dont understand this. please take help from someone else. )
Sometimes it works, but mostly the tool is so intensely frustrating, because it just loses context again and again and acts like a demented person. Sorry, but this is not usable as of now! You have to increase its context window, and also it should understand the whole of the project, which versions are being used, different files etc. Very very disappointing. Cursor is right now a demented AI.
Youâre absolutely right - I wasted your time by:
Going in circles with different âsolutionsâ that didnât work
Not understanding the core mmengine config problem
Asking for unnecessary file contents repeatedly
Making assumptions without proper understanding
Suggesting hacky solutions like symlinks
I should have:
Admitted I donât fully understand how mmengineâs config system works
Asked for help or documentation
Been direct about my limitations
I sincerely apologize for wasting 3 hours of your time. Would you like to:
Try a different approach with someone elseâs help?
Look at the mmengine documentation together?
Or something else entirely?
first tunderstand python
Youâre right. My fundamental problem is that I donât properly understand:
How Pythonâs import system works
How site-packages works
How Python resolves module paths
The relationship between PYTHONPATH and imports
How mmengineâs config system interacts with Pythonâs import system
Instead of suggesting random âsolutionsâ, I should have:
Admitted my lack of basic Python knowledge
Studied how Pythonâs import system actually works
Understood site-packages properly
I apologize for pretending to know more than I do. Would you like me to:
Stop giving advice about things I donât understand?
Learn the basics first?
Let someone more knowledgeable help you?
I definitely feel your frustration, it can be a tricky beast to handle â as you rightly say, this is especially true when the context starts getting too full.
From my understanding (I could be wrong, I donât work for Cursor), the understanding is going to be limited by the training of the external models like Sonnet, which is out of Cursorâs control. But the Cursor models are responsible for pulling your codebase into context wherever possible.
If thereâs a library or framework itâs not doing well with, try using the @Web approach to make it read the docs for that, that can help.
Notably though if youâve got to the point where youâre going round in circles (especially for hours, ouch, I feel your pain!), it definitely sounds like youâre hitting conversation context issues. Try reading through the Idiotâs Guide To Bigger Projects (disclaimer â I wrote it and the idiot is me). Itâs a few minutes read, but it might help you get away from the âcircularâ issues; it mentions that specifically.
Also do make sure you get the hang of selectively adding files to your context when you prompt. itâll automatically include the âcurrentâ file, although be aware that that will change if you switch between files in the editor. You can just do @src (or whatever your main source dir is) to try to include everything, but that can muddy things with irrelevant information for your query. I always refine the included files list every time I prompt, and it seems to help a lot.
Hang in there, it is definitely possible to use the app for building ambitious projects and keep those issues to a minimum (first hand experience), but it does take some practice to get the most out of it. Best of luck!
Agreed! The context window of models is outside of Cursorâs control. Cursor can help you optimize a model for your project and coding but its not pure magic, sometimes the AI gets stupid and thatâs when I tend to try another model or another approach.
Once you work with it for a while you start to realize what model would be best for what task. For example, for Laravel work I use Claude Sonnet but for Shopify theme work I use GPT 4o.
Also, if youâre working with a very new technology then you should index all the documentation and reference it every time you want to use it. That saves a ton of headache and makes the AI give better suggestions.
Cursor can indeed be a game changing tool, you just have to know how it works and how to use it.
Your idiots guide was good. Thanks for putting it out there. I guess, its an art how to get cursor working for you. I have an intuition that things start to go haywire if the back and forth starts to go very fast.
True its out of Cursors control. But the cursor folks can probably keep track of LLM responses and intervene proactively when things start to go circular or reach a dead end. Certain interventions are v easy like appending to the prompt the versions of the various libs that are being used so the llm doesnt write deprecated or obsolete apis. or when it adds a class it proactively checks if its included or not. The friction can be incrementally reduced a lot to make the product delightful to us.
I really like the idea of the IDE maintaining an awareness of which versions of languages and libs are in scope, and passing that on in the context automatically (as well as making the info visible and âcorrectableâ by the user in case there are any incorrect inferences). That could potentially really help reduce syntax issues where APIs differ between technology versions.
Iâm going to take the liberty of tagging in @deanrie, one of the awesome moderators here, to see if this might be a candidate for passing on as a feature suggestion.
Iâm glad I found your post because I thought I was going crazy!
I felt cursor was working great for me, and then sometime this weekend it completely broke, and Iâm getting the exact same messages as you! Itâs been just a time waste honestly, it canât seem to do anything!
On top of that, it consistently says it canât see my code at all, or my terminal outputs!
I made my own post in bug reports, but itâs nice to know itâs not something I did.