Skip to content
PrepMint

Cursor

Cursor Basics

Core features and setup

50 questions
Easy· 20Medium· 20Hard· 10

Last reviewed

Recommended

Cursor Basics — Timed Test 1 (10 questions)

TimedEasy10 questions · 10 min
Start test

No account needed. Answers and explanations arrive when you submit.

What this topic tests

The mix every Cursor Basics set is built to, and the questions published against it so far. Nothing here is hidden before you start.

Cursor Basics — target difficulty mix and published question count per level
LevelTarget sharePublished
Easy40%20
Medium40%20
Hard20%10
Total50

Cursor Basics — the theory

What You Are Actually Installing

Cursor is an editor whose AI is the point rather than an extension bolted onto one. That framing matters on day one, because most of what surprises new users comes from treating it as "VS Code with a chat panel."

The install itself is ordinary: download, run the installer, open the app. On Linux the documentation sends you to your package manager first — apt or dnf — and falls back to extracting the AppImage or archive when your distribution has no package.

The Two Migration Surprises

If you are coming from VS Code, one fact will cost you an afternoon if you do not know it: Cursor uses the Open VSX extension registry, not the VS Code Marketplace. Cursor is a VS Code fork, so the assumption that every extension is one search away is reasonable and wrong. Some Marketplace-only extensions exist here as first-party builds instead — some Microsoft Marketplace-only extensions are replaced by audited Anysphere builds.

Your keybindings do come with you. Cursor uses the same default shortcuts as VS Code, plus shortcuts for AI features.

From JetBrains the shock is structural rather than cosmetic. Cursor uses a file-and-folder project model instead of JetBrains' project system — you open a folder, there is no project wizard — and language support comes from extensions rather than built-in plugins. An empty Python or Go experience is a missing extension, not a broken editor.

Rules Are Prompt Text, Not Configuration

Rules are how you give Cursor standing instructions, and almost every rule that "does not work" fails for one of four structural reasons rather than because the model ignored it.

First, rules are included at the start of the model context when they apply. They are prompt text, so length is a running cost on every request, not a free lookup.

Second, whether a rule applies at all is decided by its frontmatter. If alwaysApply is true, the rule will be applied to every chat session. Otherwise, the description of the rule will be presented to the Cursor Agent to decide if it should be applied. A rule set to apply intelligently with an empty description can never load — there is nothing to judge relevance against. A rule with no globs and no description is reachable only by mentioning it in chat.

Third, precedence runs in the opposite direction to most config systems. When rules conflict, precedence is: Team Rules > Project Rules > User Rules. Your personal preference loses to the repository, which loses to the team. And the sources do not replace one another — all applicable rules are merged; earlier sources take precedence when guidance conflicts.

Fourth, rules have a narrower reach than their name suggests. Rules do not impact Cursor Tab or other AI features, and User Rules are not applied to Inline Edit. A naming convention you want enforced in completions needs a linter, not a rule.

For simple cases skip the machinery: Cursor supports AGENTS.md in the project root and subdirectories, so a monorepo can scope instructions per package instead of paying for every convention in every conversation.

What The Agent Can And Cannot See

Two ignore mechanisms decide what reaches the model. Files ignored by git are also ignored by Cursor's indexing, so you rarely need to restate dependency folders, and an ignore rule you forgot is a common reason the agent insists a file does not exist.

The part worth memorising is the limit. Terminal commands and MCP tools run outside of Cursor's file access controls, so they may still be able to read ignored files. An ignore entry is a context-hygiene tool, not a security boundary. If a file must never reach a model, ignoring it is not sufficient.

Skills, MCP, And The Trust You Extend

Skills are the unit for a repeatable procedure. When Cursor starts, it automatically discovers skills from skill directories and makes them available to Agent — discovery is at startup, so a new skill appearing requires a restart, and the agent is presented with available skills and decides when they are relevant based on context. The description selects the skill; a vague one means it never fires. The dividing line against rules is worth stating plainly: use a rule when a short instruction is enough. Use a skill when Agent needs a detailed, repeatable process to follow.

MCP servers extend Cursor with outside tools. Configuration merges, and locality wins: both files are merged. If the same server name appears in both, the project-level config takes priority. After editing by hand you must save the file and restart Cursor. One server failing does not take the rest down — Cursor isolates server failures to prevent one server from affecting others.

Then the sentence to read twice before installing anything: remember that MCP servers can access external services and execute code on your behalf. The same caution applies to extensions, where the marketplace badge means less than people assume — verification confirms publisher identity, which is not a review of the code.

What It Costs, In Mechanisms Rather Than Numbers

Prices and model names change monthly; the mechanics do not. Included usage is consumed per token, not per message, so your model selection affects how quickly your included usage is consumed. It does not accumulate: usage resets monthly with your billing cycle. Unused usage does not roll over. A spend limit is a hard stop rather than a throttle — when a limit is reached, AI features stop for that user until the next billing cycle.

Bringing your own API key changes less than people expect. Custom API keys only work with chat models. Tab completion continues using Cursor's built-in models, the traffic still goes through Cursor's infrastructure, and if your team depends on zero data retention the guidance is explicit: if your team relies on Zero Data Retention, use Cursor's built-in models instead.

When It Breaks, Suspect The Network

Three failures account for most "the AI stopped working" reports, and none of them is the model. Cursor uses HTTP/2 for streaming responses. Some corporate proxies (like Zscaler) block HTTP/2. Over a remote connection the requests do not come from where you think: when using Cursor's Remote SSH extension, AI features run on your local machine and communicate with the remote server for file access. And a disconnected VPN can leave its settings behind, because Cursor can inherit DNS settings from a previously active VPN.

If you do report a bug, know that the privacy setting is captured at submission: Privacy Mode is per-request. Changing your privacy setting does not retroactively affect previous requests.

Where to Go Next

Cursor AI Features picks up where this page stops: what the AI actually does once the setup above is in place — Tab, Inline Edit, Agent and its modes. MCP Fundamentals covers the protocol underneath the servers configured here, rather than Cursor's particular way of loading them. And if you are weighing agentic editors against one another, Claude Code Basics is the same ground in a terminal-first tool.

Sample questions

Three questions from this topic, with the answer and the reasoning shown.

Q1EasyA company keeps its shared Cursor rules in a private internal GitHub repository, and each team copies the files into their own projects by hand. What does Cursor's remote rule import support?
  • Import from public GitHub repositories only, so internal conventions still have to be copied by hand.
  • Import from any GitHub repository you have access to, private ones included, then pulled and synced.Correct
  • Import from any repository, provided a personal access token is first pasted into the workspace settings file.
  • Import from private repositories only once an administrator mirrors them into the team marketplace catalogue.

Explanation

The principle — Cursor can import rules directly from any GitHub repository you have access to, public or private. It scans the repository for rule files and places them in an imported folder under the project's rules directory.

Why the key is correct — A private internal rules repository is exactly the intended case. Importing it makes one repository the source of truth and lets Cursor pull and sync the rules, instead of hand-made copies that drift the moment the original is edited.

Why the others are wrong — The public-only reading is what keeps teams copying files by hand. No token needs pasting into a workspace settings file; access follows the GitHub account you already hold. And marketplace mirroring is a separate path with no part in importing rules.

Remember this — Point Cursor at the private rules repository instead of copying files.

Sources — Cursor's Rules documentation.

Open this question on its own page

Q2EasyA developer copies `api.mdc` into a nested folder and edits the copy, expecting the nearer file to replace the original. What happens once both rules' conditions match?
  • The nearer copy shadows the original, in the way a nearby config file overrides an outer one.
  • Cursor reports a name collision and holds both files back until one of them has been renamed.
  • The file with the more recent modification time wins, and the older copy is skipped for that conversation.
  • Both rules apply, because Cursor identifies a rule by its full file path rather than its name.Correct

Explanation

The principle — Cursor identifies a rule by its full file path, not by its filename alone. Two rules with the same filename in different folders both apply if their conditions match.

Why the key is correct — The copy does not displace the original. Both files are injected into context, so the developer now carries two sets of instructions, and wherever the copy contradicts its original, Agent is handed both.

Why the others are wrong — The shadowing instinct comes from config cascades, where a nearer file overrides an outer one, and the rules system has no such override. Nothing is held back pending a rename. And modification time has no bearing on loading, so the older copy is still very much active.

Remember this — Copying a rule adds it; to replace one, edit or delete the original.

Sources — Cursor's Rules documentation.

Open this question on its own page

Q3EasyA developer moves from VS Code to Cursor, imports their settings, then searches the Extensions panel for a tool their workflow depends on and finds nothing. Why is it absent?
  • The import step transfers themes and settings alone, leaving extensions to be reinstalled by hand.
  • Cursor installs from the Open VSX registry, so a Marketplace-only extension has no listing there.Correct
  • Extension search stays empty until the editor finishes indexing, so the listing appears a while later.
  • Cursor suppresses extensions whose features overlap its own AI tooling, removing them from search results entirely.

Explanation

The principle — Cursor is a fork of VS Code, but it does not draw on the same extension catalogue. It installs from the Open VSX registry, which overlaps heavily with the VS Code Marketplace without matching it.

Why the key is correct — An extension published only to the Marketplace has no Open VSX listing, so searching for it inside Cursor returns nothing. The install is healthy; the catalogue behind the panel is simply different.

Why the others are wrong — The import carries extensions across as well as themes and settings, so it is not limited to appearance. Search results are not withheld while a local index builds. And nothing strips competing assistants out of the listing.

Remember this — A missing extension usually means it was never published to Open VSX, so look for an alternative.

Sources — Cursor's Migrate from VS Code help page.

Open this question on its own page

Practise all 50 questions

Every published question in Cursor Basics, with its answer and explanation.

Frequently asked

What people ask about cursor basics.

Why can I not find a VS Code extension I rely on?
Cursor uses the Open VSX extension registry, not the VS Code Marketplace, so the catalogue is not identical. Some Marketplace-only extensions ship here as audited first-party Anysphere builds under a different publisher name, so search for the extension by function as well as by publisher.
My rule is in .cursor/rules but Agent ignores it. Why?
Check the frontmatter before you rewrite the rule. If alwaysApply is false and the rule has no description and no globs, it only loads when you mention it in chat. If it is set to apply intelligently, the description is what Agent judges relevance against, so an empty description means it can never be selected.
Why does my personal rule lose to the project's?
Precedence runs Team Rules, then Project Rules, then User Rules. That is the opposite of the "most local wins" behaviour most configuration systems have. All applicable rules are merged, and the earlier source only wins where the guidance actually conflicts.
Does .cursorignore keep a secret out of the model?
No. It controls indexing and what is included in AI context, and it keeps files out of Agent's own file reads, but terminal commands and MCP tools run outside Cursor's file access controls and may still read ignored files. Treat it as context hygiene rather than a security boundary, and keep real credentials out of the repository altogether.
I edited mcp.json and the server never appeared. What did I miss?
Save the file and restart Cursor. The configuration is not hot-reloaded, so a correct file with no visible tools is usually an un-restarted editor rather than a broken server. If it still does not appear, check that the server is not toggled off in Customize, and remember that a project .cursor/mcp.json and the global ~/.cursor/mcp.json are merged, with the project file winning on a name collision.
Does bringing my own API key make Cursor cheaper and more private?
Less than people expect on both counts. Custom API keys work only with chat models — Tab completion keeps using Cursor's built-in models — and requests still route through Cursor's servers. If your team relies on Zero Data Retention, the documentation recommends the built-in models instead.

More Cursor topics

All of Cursor

Related guides

  • How it works · 10 min read

    What Cursor actually looks at when you ask it something

    Indexing says synced, the file is open, and Cursor still answers as if your code does not exist. Follow one request end to end: what gets attached, what gets injected, what the agent decides to search for, what three ignore files remove, and what gets compressed away.

  • Troubleshooting · 8 min read

    Why Cursor is ignoring your rules file

    A rule that sits in .cursor/rules and does nothing fails silently, and Cursor publishes no way to see which rules were applied. Ten causes with distinct fingerprints: the type you get by leaving fields blank, the .md that is invisible, and the team rule that outranks you.