Cursor tutorial for NoCoders

Hello everyone,

I’m relatively new to the world of app and game development and have recently come across Cursor as a potential tool for my projects. I’m particularly interested in finding out if there’s a complete, beginner-friendly tutorial specifically designed for individuals with little to no coding experience. Has anyone come across a resource that breaks down Cursor in a step-by-step way, from the basics to more advanced applications?

In addition, I’d love to start a conversation about the core concepts we should explore when developing apps and games with Cursor. Here are a few areas I’m curious about:

  • Fundamental Principles: What are the underlying principles of Cursor that make it accessible to non-coders?
  • UI/UX Integration: How does Cursor handle user interface design and interactivity? Any best practices for creating engaging, intuitive layouts?
  • Interactive Elements & State Management: What are the key strategies for managing app or game states using Cursor?
  • Troubleshooting & Optimization: What common pitfalls should beginners be aware of, and are there any tips for optimizing performance?
  • Community & Resources: Are there any forums, video tutorials, or guides that have been particularly helpful in your journey with Cursor?

I’d really appreciate any insights, recommendations,
Thanks in advance for your help and happy coding (or non-coding)!

2 Likes

Create tests for every piece of code you generate.
all this must be added to .cursor rules, to make sure every functionality has a unittest and integration test.
so read what unittest does and what integration test does and get llm to implement them for every change it makes to the code, and run the tests as often as possible after each change.
without tests you will be lost in your codebase.

2 Likes

I agree with @cocode

Not sure though if the questions posed though are Cursor dependent.

Fundamental Principles like SOLID or DRY apply to all coding. Not just to devs or non-coders. Without those it will be harder.

Imagine you are trying to install a washing machine at home but have no idea how to connect it to power and water supply/drain. Then you are likely to cause harm to yourself and others.

Same is with coding. There is currently no real no-code solution out there. While no-code may work for very very simple needs anything real usage related will be an issue.

Ui/UX integration is not part of the IDE. AI’s (also within Cursor) can do that, but not always well.

Cursor IDE is just the editor that uses AI. its not magic :slight_smile:

Any state management depends on your project. and needs to be handled there. Cursor is an editor that can help but you need to ask AI within cursor how to do it.

Troubleshooting: this is very broad, without coding experience it may be very hard to figure out where AI is going wrong. Thats what messes up most non-coders who then start to complain that AI is not working.

I use cursor docs a lot. it explains quite well how the UI works, what it does, etc..

2 Likes

Thanks for the input both of you! I think the person who will, say, sell/create a beginner programming course/tutorial with tools like Cursor will be a banger!

1 Like

My main hint to vibe coders is to research vertical slice architecture and be sure to make strict rules so your project gets structured and developed focused on independent features, in this way you need less context to solve issues, problems are limited to that feature and don’t leak, your understanding of its flow requires less time to comprehend

Yeah it makes sense what you say but there are so many programming languages and not all are used for the same things, so you would be sure able to find such tutorials on youtube or other websites

Cursor doesn’t provide the level of abstraction that something like Unity does for you. Unity is a complete set of tools to create games and it has it’s own concepts vs going directly to C++ where you can create and customise these concepts yourself.

All cursor does is spit out lines of code for you. If you ask it to it might create a good layout or highly performant code. Or it might make a terrible layout with a load of bugs. Some of it is down to knowing what you want and giving good instructions, some of it is down to luck and how common your problem is.

I doubt there would ever be a resource for what you want, because Cursor writes code, and you can do an almost infinite number of things with it. The basics are very simple, you just ask it to write some code. The rest is all software development principles, on which there are many books, but the questions you are asking are not simple, they’re things you know after years of experience.

1 Like

I guess herein lies my dilemma, where perhaps the newer generations of programmers and gamedevs in my case, will want to learn just enough programming to iterate on a game idea and leave the minutia to the AI. What is that “just enough” is the question.

Yes this is like Assembler 20-30 years ago. Majority of devs nowadays cant even read assembler, but those who grew up with it can.

1 Like

Do you think I would have much success copying and pasting your post into cursor?

1 Like

hi,
Do you mean as a rule?

Yeah, and referencing the post above yours, also write “Use fundamental coding principles like SOLID and DRY; apply these rules to all coding”. Is there any point in doing that, or is that just if you understand what’s going on in the code?

It’s very important to do that. As someone who understand the code I saw an amazing difference in the results from Cursor when I added detailed rules about writing SOLID code.
One of the most important parts of the SOLID acronym is the S: single responsibility principle. By following this principle(and also the others) the code becomes much more modular with distinct pieces that can be composed to create a larger application. Cursor performs much better when it can be focused on distinct pieces of functionality instead of spaghetti code, so not only is the code better and more readable, but Cursor will have a better idea of how to accomplish a given task.

For example if you have spaghetti code with functions that are hundreds of lines long then cursor must parse all of that code to try to understand what you need and the more context it receives the more room there is for error. These poor principles also multiply in a codebase. If your code is a mess with no boundary layers, then when more code is written it will just add to the pile because it’s incredibly difficult to follow SOLID design principles when they haven’t been followed from the start.

Instead if your code does follow SOLID, then cursor will only need to find a single small function or method that is causing the problem and it can add additional context in small pieces if needed instead of having to grep a ton of code.

Additionally, if you are a non-coder and you do end up building something that has any level of success you may one day want to hire engineers to maintain your code. If you have written your codebase in a way that you at least try to follow good design principles it will be much easier for your future maintainers to work with the code so you will be able to pay them less because they will be able to modify the code more easily than if they need to work through a messy codebase. The same applies if you were to learn to code to support your product. Trying to learn from poorly designed code will be much harder than learning from well written code. Depending on the language, with well structured code you may even be able to understand what the code is doing without actually having a background in code, especially if you use AI tools to help explain it. Well structured code reads like a story that even someone who doesn’t know how to code may be able to follow to some degree.

3 Likes

Thank you. Do you tell it to adhere to both SOLID and DRY or just SOLID? And it sounds like it sounds like you pasted in a description of SOLID, not just the acronym?

I don’t think I have anything about DRY, but I might. DRY is less important than SOLID imo. My cursrrules do actually break down what SOLID is and there are a few sentences for each letter in the acronym, as well as some other info that follows the same idea.

The best thing that I can recommend is to use a chat AI like GPT or other, explain that you are writing rules for Cursor and tell it to create explicit rules about SOLID design principles. It might not be a bad idea to also just have a conversation with the LLM about good software design and the types of things to watch out for, tailored to your lack of programming experience. I suggest this because even if you can get by with Cursor writing your code for you, it’s still important for you to understand these principles even if you don’t understand the syntax of the code that is written. That way when you see a function named update_database_and_render_display or something like that, you can know enough to tell Cursor “That function needs to be broken up into smaller discrete pieces that should be in separate modules”.

1 Like

Thank you! That is very helpful.