There are so many resources out there on how to use Cursor efficiently, but since I get asked a lot about very specific questions, I thought I’d just compile them here. If you’re just getting started I recommend reading How I Became 3x More Productive in 30 Minutes with Cursor. Also, I can’t really shut up about how good this tool is.
Get surgical with your cursor placement When you want to edit a single function, put your cursor at the same row as the function signature. This helps when changes are isolated to the function scope. It provides Cursor with better context and leads to more accurate suggestions. Plus, it keeps you focused on one thing at a time. It’s all about the context.
Define your Cursor rules Take some time to actually define your Cursor rules. They will shape how you write your projects. Whenever you find yourself repeatedly specifying something in a prompt, it’s probably a good time to put it in the Cursor rules. This could be anything from always using a specific component for a task to writing tests in a certain way. Use cursor.directory for inspiration. This is also how you align with your team and define your ways of how you want to work.
Use templates and boilerplates If you have templates or boilerplates that you frequently use, store them in a separate folder that can serve as context. It’s like having a coding cookbook that Cursor can reference. When starting a new project or adding a feature, you can tell Cursor to utilize these templates, saving time and ensuring consistency. This is like the next evolution of a cookie cutter template. If you can have determinism, use that. It’s way better than using LLMs. Faster, cheaper, more consistent.