The Cursor setup I wish I had on day one: .cursorrules, Agent mode, and the $20/mo question

cursorsetup-guidecursorrulespricinglocal-llmtypescript

My first week with Cursor was mostly me pressing Tab on autopilot, wondering why everyone said it would change how I code. Three months later, after fixing two bad defaults and writing a 40-line rules file, it actually did.

The difference wasn’t the model. It wasn’t upgrading to Pro+. It was three configuration changes that took about an hour total. Here’s the setup I should have had on day one.

Day one mistakes I made

Tab-spamming without reading. Tab completion in Cursor is fast and often right — but “often right” means it will occasionally insert a confident-looking wrong answer. For the first two weeks I was approving suggestions faster than I was reading them. The fix is forcing yourself to read the first line of each completion before accepting. Sounds obvious. Hard to maintain when the suggestions feel good.

No .cursorrules file. Without one, Cursor has no project context. It doesn’t know your stack, your conventions, your forbidden patterns. The model is guessing from file names and import statements. A focused 30-line rules file changes suggestion quality faster than any model upgrade. More on this below.

Defaulting to Max mode with Opus for everything. Routing every single request through the most capable — and most credit-expensive — model is the fastest way to burn through a Pro plan by day 15. Syntax fixes, rename operations, and docstring generation don’t need Opus 4.7. On the Cursor credit system, Auto mode requests cost a fraction of a cent and don’t touch your pool; Max mode with a frontier model draws from your $20 credit budget at full API rates. The difference adds up fast.

Skipping .cursorignore. Cursor indexes your repo on first open. Without a .cursorignore, it will try to index node_modules, build artifacts, cache directories — everything. On a mid-size project, this causes 5–15 minutes of disk I/O saturation on first launch. Create one before you open Cursor on any new repo. One line per ignored directory.


What .cursorrules actually changes

The short version: a rules file tells Cursor what kind of project it’s working in, what patterns to follow, and what to never generate. Teams that write focused rules typically go from roughly 30% suggestion acceptance to 80%+. Not because the model improved — because it stopped generating code your codebase doesn’t use.

The legacy format is a single .cursorrules file at the repo root in plain Markdown. Still works, still supported. The 2026 approach uses .cursor/rules/ with individual .mdc files, each scoped to a file glob. Your React component rules only activate when editing .tsx files; your Python backend rules only fire on .py files. No noise from the wrong context.

A working example for a Next.js + TypeScript project:

You are a Next.js 15 + TypeScript developer. Follow these rules without exception.

## Stack
- Runtime: Next.js 15 App Router, React 19, TypeScript 5.5
- Styling: Tailwind CSS 4 (no inline styles, no CSS modules)
- State: React hooks only — no Redux, no Zustand unless already in package.json
- Auth: next-auth v5

## Code style
- Named exports only, never default exports
- Prefer const arrow functions for React components
- Every function must have explicit return types
- No `any` type unless a comment explains why

## Hard restrictions
- Do not import from `react` directly for types — use React.FC or plain function syntax
- Do not create new files in /lib without checking if a utility already exists
- Do not add npm packages without confirming in chat first
- Do not generate placeholder data — use real types with real field names

This 30-line file does more for output quality than any plan upgrade. The model now knows your version constraints, your type discipline, your forbidden patterns. For projects with multiple distinct stacks, use .cursor/rules/frontend.mdc scoped to src/components/**/*.tsx and backend.mdc scoped to src/api/**/*.py.

For ready-to-copy templates across 12+ stacks, see Custom Cursor Rules: Templates That Actually Work in 2026.


Agent vs Ask vs Manual edit (formerly Composer): pick one per task

These three modes are not interchangeable. Using Agent mode when you should use Ask is one of the most common ways new Cursor users burn credits on tasks that didn’t need them.

ModeWhat it doesBest for
AskRead-only — searches codebase, explains code, drafts plans, never writes a fileArchitecture questions, debugging investigations, exploring an unfamiliar module
AgentAutonomous — reads files, writes multi-file changes, runs terminal commands, iterates on errorsImplementing a well-scoped feature, setting up an integration, refactoring a module
Manual edit (formerly Composer)Proposes multi-file diffs you review before applying — no terminal commands, no autonomous wanderingPrecise refactors where you want diff-by-diff control

The workflow that actually works: Ask first, then Agent, then Manual edit for cleanup.

Ask to understand the problem and agree on a plan. Switch to Agent to implement it. If Agent goes off the rails — which happens when a task is underspecified — switch to Manual edit for the final pass. You get the autonomous speed on the bulk of the work and the granular control on the parts that matter.

One rule for Agent mode: scope every task before you start. “Implement a rate limiter in src/middleware/rateLimit.ts that accepts windowMs, max, and keyGenerator config, with tests in src/middleware/__tests__/rateLimit.test.ts” produces a result you can review and ship. “Improve the auth system” does not.

For deeper guidance on setting up custom Agent workflows and .cursor/rules activation modes, see Building Your First Cursor Custom Workflow in 2026.


Multi-model routing: drop your bill 50% by not always using Sonnet

Leaving Max mode on as the default is the second most expensive mistake after skipping .cursorrules. Every Cursor paid plan splits requests into two tracks:

  • Auto mode — uses cheap routing ($1.25/M input tokens, $6/M cache read tokens). Does not draw from your monthly credit pool. Handles 80–90% of tasks well.
  • Max mode — routes to the frontier model you select; draws from your credit pool at standard API rates.

Switch the default to Auto mode. Promote to Max only for the specific task types where raw model capability matters:

Use Max mode with Opus 4.7 for:

  • Architecture decisions spanning 3+ files
  • Debugging a multi-system integration failure where the root cause isn’t obvious
  • Writing a non-trivial algorithm from scratch where reasoning depth matters

Auto mode handles everything else:

  • Variable and function renames
  • Docstrings and inline comments
  • CRUD boilerplate, test fixtures, migration templates
  • Single-file features with clear context already in the editor

On a typical feature sprint, Max mode with Opus 4.7 fires maybe 10–15 times a day. Everything else runs on Auto. At that cadence, $20/month Pro holds up comfortably for most developers.

For high-volume work where you routinely exhaust the credit pool, DeepSeek V4 Pro (routable via a custom API key in Cursor settings) delivers comparable speed on non-reasoning tasks at roughly a tenth of frontier model cost.


The $20/mo question

Three real options — and honest numbers on each.

Cursor Pro at $20/month ($16/mo annual)

The baseline paid tier. Includes unlimited Tab autocomplete (Cursor’s proprietary Fusion model — the fastest Tab completion available, not replaceable with local or BYOK models), unlimited Auto mode requests, and a $20 credit pool for Max mode usage. The credit pool resets monthly. If you follow Auto-first routing above, most developers don’t exhaust it.

Best for: developers who code daily and value fast Tab speed above everything else. The gap between Hobby (limited Tab) and Pro (unlimited Tab) is larger than the gap between Pro and Pro+.

Bring Your Own API Key (BYOK)

Available on all plans, including Hobby. Plug in an Anthropic or OpenAI API key and charges route directly to that account at API rates, bypassing Cursor’s credit system. A developer running 200 complex Chat/Agent requests per month through Claude Sonnet at roughly $0.05/request average pays about $10 in API costs — on top of whatever Cursor plan covers Tab. For light-to-moderate Chat users, BYOK on a free Hobby plan costs less than $20 Pro. For heavy users running 1,000+ complex requests monthly, API costs reach $50–80 and Pro+ ($60/month, 3× credit pool) often pencils out cheaper.

The ceiling: Tab autocomplete cannot use BYOK keys. It’s locked to Cursor’s Fusion model and requires a paid Cursor plan. If Tab speed matters to you, BYOK alone isn’t a complete replacement.

Local Ollama (fully offline)

Cursor can route Chat and inline edit requests to a local Ollama endpoint with a proxy bridge — the open-source curxy or cursor_ollama_proxy both work, since Cursor’s sandboxed backend can’t reach localhost:11434 directly. Models like Qwen2.5-Coder 14B and DeepSeek-Coder V2 handle routine coding tasks at zero API cost once running.

The limits are real: no Tab autocomplete (Fusion-only, requires Cursor cloud), slower inference unless you have a GPU with 8–16 GB VRAM, and context quality depends on your hardware tier.

For the hardware breakdown on local code models, see Cursor + Local Llama: What $500, $1,500, and $3,000 of Hardware Gets You in 2026.

The honest verdict: Cursor Pro at $20 is worth it if you code daily. The productivity delta from unlimited Tab alone justifies the cost for most working developers. BYOK makes sense as a supplement for heavy Chat usage. Local Ollama is the right call when privacy requirements or network constraints rule out cloud completely.


For China-based devs

Cursor’s servers run on US-based infrastructure. Without a reliable connection path from mainland China, API calls range from slow to timing out. Three practical approaches:

VPN with consistent quality. Essential for stable Cursor access. Cursor’s API traffic doesn’t respect system proxy settings the way a browser does — you need a full VPN capturing all traffic. Prioritize stability over raw speed: a 150ms stable connection outperforms a 50ms flaky one for an IDE that makes dozens of small API calls per session.

Payment workarounds. cursor.com accepts major international cards, but Visa/Mastercard issued by Chinese banks are frequently rejected. What works: Wise virtual card (most reliable across the Cursor community forum reports), Depay virtual Visa, or similar international virtual card services.

Fully offline via local Ollama. If VPN isn’t an option, the local Ollama setup removes the dependency on Cursor’s cloud entirely — for Chat and edits. Configure Ollama with Qwen2.5-Coder (strong Chinese-language model, excellent English code output), bridge via curxy, and you have a functional AI coding workflow at zero monthly cost. You lose Tab autocomplete and cloud Agent runs. The core edit workflow stays intact and completely private.

The Aider + Local LLM via Ollama in 2026 guide covers the proxy configuration and context-window settings that apply across tools when routing to a local model endpoint.


What to learn next

Agent mode prompt engineering. Model choice matters less than task spec quality. “Implement a sliding-window rate limiter in src/middleware/rateLimit.ts that accepts windowMs, max, and keyGenerator fields, with tests in src/middleware/__tests__/rateLimit.test.ts” is what precise Agent prompts look like. Vague tasks produce vague (and often sprawling) output.

Per-framework .cursorrules tuning. A global rules file handles stack-wide conventions. Per-directory .mdc rules handle framework-specific patterns — React component structure, FastAPI dependency injection, Go error handling conventions. The Best Cursor Settings for TypeScript and React in 2026 article has worked examples.

Background Agents. Cursor Pro includes cloud-based Background Agents — async tasks that run while you keep working in the editor. Useful for large refactors, test generation across a full suite, or dependency upgrade PRs that would block your editor for 20 minutes otherwise. Same model, same context limitations as regular Agent mode, but asynchronous.


If you’d rather have the full library than build it incrementally, the Cursor Starter Kit ($29 — pay with crypto) covers it in one place: copy-paste .cursorrules for 12+ stacks, tested Agent mode prompt templates, and the multi-model routing playbook. After payment, the download link arrives by email within 24 hours. 30-day refund. It’s what I would have paid for on day one.


Sources

Last updated May 19, 2026. Pricing and features change frequently; verify current state before purchasing.

Was this article helpful?