Cursor is an AI code editor built on a familiar Visual Studio Code-style workflow. The useful part is not simply chatting with a model: Cursor can inspect project context, propose edits across files, and help run the checks that tell you whether a change works. This beginner tutorial takes you through one complete loop while keeping every edit reviewable.

Before you install Cursor

Use the official Cursor download page and confirm that the address belongs to cursor.com. Cursor’s current quickstart lists native installers for Windows and macOS, plus documented Linux options. Requirements and available builds can change, so check the download page rather than using an old mirror or a repackaged installer.

You also need a small practice project. A repository with a README, a few source files, and a working test or build command is better than an important production system. Back up uncommitted work or create a Git commit before letting any AI tool propose edits.

Install, sign in, and open a project

  1. Download and run the installer for your operating system.
  2. Start Cursor and complete the onboarding choices for shortcuts, theme, and terminal.
  3. Sign in if you want to use the account-based AI features available to your plan.
  4. Choose Open Folder and select the root of your practice project.
  5. Wait for project indexing to settle before asking broad codebase questions.

Cursor’s official installation guide says the onboarding wizard can be reopened from the Command Palette by searching for Cursor: Start Onboarding. If you are moving from VS Code, review each imported setting and extension instead of assuming every dependency is trustworthy or compatible.

Start with a read-only question

Open Agent and ask it to explain a small, concrete part of the repository. A good first prompt separates the goal from the evidence you want:

Read the README and package configuration. Explain how to run this project locally.
Do not edit files or run commands yet. List any assumptions you had to make.

This checks whether Cursor can find the relevant files and whether its answer matches the repository. If it invents a command or misses a project instruction, correct the context before requesting a change.

Ask for one bounded edit

Choose a change that is easy to verify, such as improving an error message or adding one focused test. State the boundary, expected behavior, and validation command:

Update the empty-name validation message in the signup form.
Keep the existing validation library and public API unchanged.
Add or update the smallest relevant test, then run that test.
Show me the proposed diff and explain any failure before doing more work.

Avoid prompts such as “improve the whole project.” They give the agent too much freedom and make review harder. For a larger request, ask Cursor to produce a plan first and approve the steps one at a time.

Review the diff before accepting it

Treat generated code like a pull request from a new contributor. Inspect every changed file and ask:

  • Does the diff solve the stated problem without unrelated refactoring?
  • Did it preserve existing interfaces, dependencies, and style?
  • Are error paths, accessibility, localization, and security still covered?
  • Do new tests verify behavior rather than merely mirror the implementation?
  • Did any command change lockfiles, generated assets, or environment files?

Reject or revise individual changes when necessary. A confident explanation is not proof; the repository diff and validation output are the evidence.

Run the project’s real checks

Use commands already documented by the project. A typical JavaScript project might use commands like these, but your repository may be different:

pnpm test
pnpm lint
pnpm build

Read the complete output. If a command fails, ask Cursor to explain the failure before authorizing another edit. Do not let the agent silence a failing test, weaken a type, or remove a quality rule merely to produce a green result.

A repeatable Cursor workflow

Use the same six-step loop for later tasks:

  1. Inspect: identify relevant files, instructions, and current behavior.
  2. Plan: state the desired result, boundaries, and risks.
  3. Edit: make the smallest coherent change.
  4. Review: inspect the exact diff and command history.
  5. Verify: run the narrow test, then broader project checks.
  6. Record: commit only reviewed files with a meaningful message.

This workflow works even when the available model, Agent interface, or plan limits change. It also prevents a common beginner mistake: judging success by how plausible the answer sounds instead of whether the code actually passes its checks.

Common beginner problems

Cursor does not understand the whole project

Confirm that you opened the repository root, indexing has completed, and generated or dependency folders are not dominating the context. Reference the exact files involved instead of repeatedly asking a broad question.

Agent wants to change too many files

Stop the run and narrow the task. Specify allowed files, interfaces that must remain unchanged, and the exact check that defines completion.

A terminal command needs approval

Read the command and working directory before approving it. Reject destructive, credential-reading, or unexplained commands. Tool approval is a safety checkpoint, not an inconvenience to click through.

The result works but the diff is hard to understand

Ask Cursor to revert unrelated edits and split the work into smaller steps. If you cannot explain a change, it is not ready to publish or merge.

What to learn next

After completing this loop, add project-specific instructions with Cursor Rules and connect only trusted external tools with Cursor MCP. Windows users who still need installation and interface-language help can continue with the Cursor Windows setup guide.