Cursor is an AI-native code editor built as a fork of VS Code, designed from the ground up for AI-assisted development. Unlike traditional editors with AI plugins, Cursor integrates autonomous agents, multi-file editing, and context-aware autocomplete directly into every workflow. It supports all major programming languages, VS Code extensions, and connects to frontier models from OpenAI, Anthropic, Google, and others. The key mental model: Cursor doesn't just suggest code—it can write, review, debug, and refactor entire features autonomously while you maintain full control through a diff-based review interface.
What This Cheat Sheet Covers
This topic spans 14 focused tables and 99 indexed concepts, 72 flashcards, 4 practice tests with 108 questions. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core AI Features
These are the everyday surfaces you actually touch: autocomplete as you type, inline edits on a selection, a read-only chat for questions, and the Agent (Composer) for building features across many files. Knowing which one to reach for, a passive completion, a scoped edit, a question, or an autonomous multi-file task, is most of what separates fast Cursor users from slow ones. The newer additions extend the AI beyond plain text into screenshots, generated images, interactive canvases, and live runtime data.
| Feature | Example | Description | |
|---|---|---|---|
Type def calculate_ and Tab autocompletes:def calculate_total(items): return sum(item.price for item in items) | • AI-powered autocomplete predicting multi-line edits from your recent changes, surrounding code, and linter errors • accept with Tab, reject with Esc • can add imports and jump to your next edit location, even in another file | ||
Select code, press Cmd+K, type "convert this to async"Cursor edits the selection in place | • Quick, targeted code changes on a selection without opening the chat panel • describe the change and it applies in place; refine with follow-up instructions | ||
Ask "How does authentication work?" Cursor explains the code without editing it | • Read-only conversational assistant (Ask mode) for questions, explanations, and exploring code • searches your codebase and answers without changing files | ||
Prompt "Add user registration feature" The Agent creates routes, models, and views across files | • Multi-file editing agent that plans and executes changes across the codebase • creates, modifies, and deletes files, runs terminal commands, and shows a diff before applying | ||
Drag a UI mockup screenshot into chat and the agent generates matching code | • Accepts images as context: drag in screenshots, design mockups, or error states • vision-capable models see the image and can match layout, colors, and spacing | ||
Ask for a dependency audit and Cursor opens an interactive dashboard next to the chat | • Interactive artifacts (dashboards, analyses, reports) rendered beside the chat instead of a long markdown block • saved so you can reopen, edit the source, and rerun with fresh data | ||
Describe a hero-section mockup and the agent generates an image, saved to assets/ and shown inline | • Generate images from a text description or a reference image • useful for UI mockups, product assets, and architecture diagrams | ||
Open a repo; Cursor chunks the files and builds embeddings so search can work by meaning | • Builds a searchable index for semantic search: splits code into chunks (functions, classes, blocks), turns each into a vector embedding, and stores them in a vector database • uses a Merkle tree to sync only changed files; semantic search becomes available near 80% completion | ||
Agent adds temporary logs, has you reproduce the bug, then reads runtime data to find the cause | • Finds root causes using actual runtime data rather than static code alone • generates hypotheses, instruments the code, analyzes the collected logs, then makes a targeted fix and removes the instrumentation | ||
Ask "where do we handle authentication?" and it finds middleware/session.ts even if that word is absent | • Finds code by meaning, not literal text, by matching your query against the indexed embeddings • complements grep, which handles exact symbols and strings |