Getting started
You’ve inherited a repo. A friend built budgetcli over a few weekends — a small self-hosted budgeting API for tracking accounts, importing bank statements, and flagging overspend — and now it’s yours to run with your own money in it. It mostly works. It’s lightly documented. And there are places where you already suspect the original author got something subtly wrong. You’re going to spend a week with Cursor turning this from someone else’s weekend project into something you trust, and this chapter is the first hour of that week.
The audience here is the engineer who already lives in VS Code — a handful of extensions, a typed codebase open in the gutter, inline completions already humming — and is eyeing an AI-first editor with reasonable suspicion. The good news lands in the first five minutes: you don’t have to give up the editor you know, because Cursor is the editor you know. Cursor is a fork of VS Code, built by Anysphere and shipped as its own desktop application. Your muscle memory survives the move; what’s new is everything bolted onto the editor, and that’s what this hour is about.
What “a VS Code fork” buys you (and what it costs)
Section titled “What “a VS Code fork” buys you (and what it costs)”Because Cursor is a fork, it inherits VS Code’s whole configuration model. Your keybindings carry over. Your user settings.json is honoured, and so is a project’s .vscode/settings.json. Cursor offers a one-click import of your Extensions, Themes, Settings, and Keybindings from an existing VS Code install — surfaced both as a first-launch onboarding prompt and, any time after, from the Settings menu (General → Account → VS Code Import, or Cmd/Ctrl+Shift+J) — so the editor you open on minute one already looks like the one you closed.
There’s one inheritance the fork can’t carry, and it’s the part most likely to trip you up on day one: extensions don’t come from Microsoft’s marketplace. Microsoft’s marketplace terms prohibit third-party clients, so Cursor can’t connect to it. Instead Cursor’s extension panel is backed by Open VSX, the open extension registry, plus extensions Cursor has helped get published there. The practical consequence: coverage is meaningfully thinner than upstream VS Code, and some extensions simply never ship to Open VSX. The escape hatch is side-loading a .vsix — for the handful of extensions you can’t find in the panel, you download the packaged file and install it from disk. We’ll do exactly that for one extension in the install lesson, so the gap stops being abstract.
The two surfaces you meet on day one
Section titled “The two surfaces you meet on day one”Set aside the inheritance for a second, because the reason you switched editors at all is the AI, and it shows up in two distinct places from the moment you open the app:
- The Agent sidebar — a chat panel where you give the agent a task in plain English and it reads files, proposes edits, and runs the read-propose-review loop you’ll lean on all week. This is the surface that does the real work in this chapter.
- Tab — inline completion that predicts your next edit as you type, accepted with the Tab key. It’s the descendant of the ghost-text autocomplete you already know, and it’s a different tool for a different moment: Tab is for the keystrokes you were already going to make; the Agent is for the work you’d rather describe than type.
Cursor has a third surface — a CLI (the agent command; cursor-agent is now a legacy alias) that runs the same agent in your terminal and in CI. We deliberately leave it for the dedicated CLI chapter later in the course. For your first hour, two surfaces is plenty.
A note on plans before you sign in
Section titled “A note on plans before you sign in”Signing in is a step in the next lesson, but it’s worth knowing the shape of the plans before you pick one. Cursor’s individual tiers run from a free Hobby tier up through paid tiers (Pro and Ultra), with Teams and Enterprise tiers layering on admin controls. Usage is metered against model-usage pools rather than a flat seat fee, which matters once you start running the agent heavily — but for shipping one reviewed change this hour, the free Hobby tier is enough to follow along, and you can decide on an upgrade later with real usage in front of you instead of a guess.
The hour we’ll follow
Section titled “The hour we’ll follow”budgetcli imports transactions from bank CSV exports, and you’ve already noticed it mangles some dates — a statement that clearly says one day lands in the database as another. That’s your warm-up ticket: small, real, and verifiable against a CSV you can read with your own eyes. We’ll go from zero to that fix shipped, in five moves:
- Install Cursor — the desktop app, the VS Code migration prompt, and a first run-in with the Open VSX extension source (plus one
.vsixside-load) — Install Cursor and migrate your VS Code setup - Sign in and pick a plan — understand the tiers before you commit, and confirm the agent is alive — Sign in and choose a plan
- Meet the two surfaces — the Agent sidebar and Tab are different tools for different moments, and knowing which is which is half the skill — Agent sidebar vs Tab
- Watch one turn of the loop — how the agent reads for context before it’s ever allowed to write — Understand one turn of the loop
- Hand it the date bug — and watch that loop close on a real fix you review in the diff and commit when it’s green — Ship your first reviewed change
None of it is hard. The point of doing it as one continuous task — on a repo you’ve genuinely just inherited — is that the habits you pick up here are the same ones every later chapter leans on: read before you edit, review the diff before you accept it, and commit the moment a change is green and reviewed. Cursor gets faster and more autonomous as the course goes on — by the time you reach the parallel-agent and Cloud Agent chapters it can fan a single prompt out across isolated git worktrees (or remote machines) and run those agents in parallel — but the review never goes away. On code you didn’t write and don’t fully trust yet, those habits aren’t optional polish. They’re the whole game.