Cursor
An AI-first code editor with agent mode and tab autocomplete.
Easiest onboarding for developers who want AI without leaving the editor — but heavy users will hit Pro's Premium cap fast.
What it is
Cursor is a fork of VS Code rebuilt around AI. It offers tab autocomplete that predicts your next edit, an inline chat for explaining code, and an "Agent" mode (Composer, Ctrl+I) that can read your project, propose multi-file changes, run commands, and iterate on the result. Most useful for solo developers who want AI deeply integrated into their editor.
Best for
- Faster autocomplete that predicts your next edit across the project
- Inline refactor / rename across files via Composer
- Agent mode: "add a settings page to this Next.js app" — multi-file + runs commands
- Codebase Q&A with @codebase semantic search across the entire repo
Pros
- Best-in-class tab autocomplete — feels almost telepathic for multi-file edits
- Familiar VS Code interface — every extension and keybinding still works
- Composer (Agent) handles medium-sized multi-file tasks reliably
- @Doc and @Web bring external docs and live search into the prompt
Cons
- Cloud-only by default — your code leaves your machine unless you enable Privacy Mode (Business tier)
- Free Hobby tier caps you at ~2,000 completions/month, which a heavy dev can burn in a week
- Premium-model requests gated behind Pro; the absolute fastest models require careful rate watching
Quick start
- Download Cursor from https://cursor.com (macOS / Windows / Linux).
- Sign in with GitHub or Google — a 14-day Pro trial is auto-activated on new accounts.
- Open a project folder. The .cursorrules file at the root defines your project conventions.
- Press Cmd+I (macOS) or Ctrl+I (Windows/Linux) to open Composer (Agent mode).
- Try: "Explain what this repo does", then "Add a /health endpoint to this Express app".
Sample input / output
@UserController.java add @Valid validation, a try/catch with @ControllerAdvice, and JUnit tests for the three POST endpoints UserController.java:
+ @PostMapping("/users") now validates request body via @Valid.
+ Throws UserNotFoundException (409) and ValidationException (400) instead of returning nulls.
+ New UserValidationAdvice intercepts exceptions and returns { error, code } per project schema.
Tests: 3 new JUnit tests covering 200 / 400 / 409 paths, all passing. Diff: +84 / -22. Benchmarks
Pricing
Hobby $0/mo: 2,000 completions + 50 slow Premium requests. Pro $20/mo: unlimited completions + 500 fast Premium (slower after; never cut off). Business $40/mo: privacy mode + centralized admin. 14-day Pro trial on first signup.