Table of Contents
What is Cursor AI?
Today we're checking out Cursor AI, an AI-powered code editor that promises to make your development significantly easier. I've been using this for the past few weeks, it's pretty interesting, and I wanted to make a quick blog on it to share with you what I've learned and some of the best practices that you can apply—especially if you're a beginner programmer and you haven't used many of these AI tools before. You might not know exactly how they work and how to get the best results out of them. So with that said, let's dive into it and learn about how to use Cursor AI.
Downloading and opening Cursor AI
Now, at this point, I’m going to assume that you’ve downloaded it. If you haven’t, give it a shot—it’s free. There also is a paid version if you want more features and unlimited usage, but I’d recommend it even if you’re an experienced developer because it is pretty cool and makes you question how you’ve been working in the past and if this is something that you might want to switch to.

Planning tasks for best AI results
Once you’ve got Cursor AI open, what I recommend doing is just opening a new folder. To do that, you can go to File and then Open Folder, and from here you can just make a new folder on your desktop, for example, and open it up. That’s because a lot of beginners actually just work in whatever the default folder is that it starts you in, and then they can lose their work if they don’t know where that folder location is—or it can be a bit more difficult to get back to it.
Enabling and using the composer feature
Now, especially if you’re a beginner here, what I’d recommend doing before you start using any of the features that I’m going to show you is making a little bit of a plan. AI works best at solving really small, discrete, detailed tasks. The more specific you can be, the more context and information you give it, the better results you’re going to get. You’ll notice if you just ask it to do something like “generate me a to-do list application” or “give me a portfolio website,” or you give it a really general one- or two-sentence-long task, you can get wildly different results—and something that you’re not looking for at all. Once it starts going in one direction, it can branch and just bring you all over the place if you don’t know what you actually want.
So make sure you know what you want, have a clear vision of what you want to build, and I highly recommend at least jotting down some notes or even drawing out a picture of what you want the user interface—at minimum—to look like. That’s really going to help guide you through this process.
Let’s imagine you’ve got a plan at this point—you know what you want to do and you’ve thought about it at least for a few minutes. The first feature I want to show you here is the compose feature (or composer feature, whatever you want to call it). In order to enable this, go to File, then Preferences, Cursor Settings, and then click on Features. Scroll down, you should see the composer, and then you can enable it by selecting Enabled. By default, I think it’s disabled, so that’s why I’m mentioning it.
Now that we’ve got that, we can press Control+I (or Command+I on Mac), and that’s going to open up the composer view. This can actually edit multiple files at the same time and create new files for you, so this is what I like to start with when I’m generating a brand-new application. Then, if I want to do a major feature change or something that’s going to apply to a ton of different files, I’ll use this.
So, the first thing I’m going to do is open the control panel so it’s a bit larger and I can see this better. I’m going to ask it exactly what I want it to do. I’ve written a quick prompt here—you can read through it if you want—but the important thing is that I’m specifying exactly what I want it to do and I’m telling it what framework, languages, etc. I want it to use.
If you don’t know, you can ask it to recommend which ones you should use, but I do recommend doing a bit of research before you just dive into this and use a random language or random framework. You can actually ask other AIs—or even the one inside of this app, which I’ll show you in a minute—“Hey, I want to build this type of application. What’s the simplest way to do that?” and then it can give you some recommendations.
Point is, I’m asking it to use Express (a JavaScript framework for the back end), SQLite for storing the recipes (my database), and JavaScript, HTML, and CSS with Tailwind for the front end.
So I’m going to hit Enter here, and what’s going to happen is it’s going to start generating a ton of different files for me. It will give me some instructions, because it can’t quite do everything like running terminal commands, but it can generate a majority of the application.
… It generated the server, index, style, and script files. I can look at all these, ask for revisions, and either accept them all or one at a time. This is very similar to what you do in a GitHub pull request. Once accepted, I have my index, script, styles, and server files created. That’s the composer—very useful for generating bigger features.
Using the chat window for code context
A lot of code gets generated to get you started, but sometimes it can be a little overwhelming. I want to show you the next feature I found myself using the most: the general chat view. If you hit Control+L (or Command+L), you’ll get into this chat.
In here, you don’t have to ask coding-related questions only, but it does have access to the entire context of your code base. You can ask about a particular file, and it can look for that, or you can specify context yourself. For example, you can add a specific file like server.js and then ask a question.
You can also link external context like web docs, PDFs, or even images. The more context you provide, the better the results. For example, I could ask it to add unique recipes to my server file, and it will generate the diff directly in the editor for me to apply. If I don’t like something, I can reply to the same message and refine it.
It can also search through your code base to answer “Where is this defined?” and link you directly to the relevant variable or file. This makes navigating large projects much easier.
Inline completions and code editing
Another major feature is inline completions. While typing, Cursor can generate auto-complete code snippets (like adding a `<select>` box). By pressing Tab, you can insert these instantly.
For edits, you can highlight code and press Control+K to give instructions inline, like “delete this” or “add more options.” Cursor will generate a diff you can accept or reject. This is best for smaller, targeted modifications.
So to recap:
Use the composer (`Control+I`) for big, multi-file changes.
Use inline editing (`Control+K`) for small targeted edits.
Use the chat window (`Control+L`) for explanations, suggestions, or medium changes with context.
Generating code from images
The last major feature is generating code from images. For example, you can upload a login form image or a Figma export, and ask Cursor to generate HTML/CSS from it.
I tried this with a simple login form image, asked it to make a new HTML file, and applied the generated code. The result was surprisingly close to the original image—spacing and fonts needed minor adjustments, but overall it was very impressive.
Conclusion
Overall, Cursor has been super cool to use and has definitely boosted my productivity. That said, I’m only able to use it effectively because I already know how to code. You can use it as a complete beginner with minimal experience, but it will be significantly harder to get things done. If you get stuck, it can be a bit of a nightmare to figure out what’s going wrong with the AI fixing the files.