Windsurf is an AI-first code editor built by Codeium. Where Codeium was an extension for existing editors, Windsurf is a standalone editor built on VS Code with AI at the center of every feature. Its main differentiator: the free tier is genuinely usable, unlike Cursor's 50 agent requests/month limit.
Core Features
Supercomplete (Tab Completion)
Multi-line tab completion that understands your edit pattern — rename a variable in one location and it suggests the same rename in related locations. Press Tab to accept, Escape to reject.
Cascade — The Agent
Describe a task, Cascade plans it, edits files, runs terminal commands, reads output, iterates:
Add a webhook endpoint for Stripe payment events.
Requirements:
- POST /api/webhooks/stripe
- Verify the Stripe-Signature header
- Handle: payment_intent.succeeded, customer.subscription.deleted
- Update user subscription status in the database
- Use the existing db singleton from lib/db.ts
Cascade shows its plan before starting — always review it before approving. Flows is Windsurf's term for the visible sequence of steps: which files it read, what commands it ran, what edits it made.
Memories
Windsurf persists information across sessions automatically. When Cascade learns something about your project, it saves it as a Memory. You can also add manually:
Remember: This project uses the repository pattern. All database
access goes through classes in src/repositories/, never directly
in route handlers.
Similar to Claude Code's CLAUDE.md but managed by the editor, not a file you write. Key difference: CLAUDE.md is in git (whole team sees it), Memories are local to your installation.
Windsurf Rules
.windsurfrules — project-specific instructions for every AI interaction:
# .windsurfrules
## Stack
- Next.js 15 App Router + TypeScript strict
- Prisma + PostgreSQL + Tailwind CSS + Shadcn UI
## Conventions
- Server Components by default — 'use client' only when needed
- All DB access via db singleton in lib/db.ts
- API routes: { data } on success, { error: string } on failure
- Zod validation on all user inputs
## Do not
- console.log in production code
- Import from @prisma/client in client components
- Use any or type assertions
Models
| Model | Best for |
|---|---|
| Claude Sonnet 4.5 | Complex agent tasks, multi-file |
| Claude Opus 4 | Hard architectural problems |
| GPT-4o | Fast chat, quick questions |
| Gemini 2.5 Pro | Large codebases (1M context) |
Windsurf vs Cursor
| Windsurf | Cursor | |
|---|---|---|
| Free tier | Generous — usable daily | 50 agent requests/month |
| Tab completion | Supercomplete — multi-line | Multi-line, slightly more aggressive |
| Agent | Cascade with Flows | Agent mode |
| Memory | Automatic (Memories) | Manual (Project Rules) |
| Docs integration | @web (live search) | @docs (indexed libraries) |
| Price (Pro) | $15/mo | $20/mo |
Start with Windsurf if you want to evaluate without paying. Switch to Cursor if you need indexed @Docs for frequently referenced libraries.
Windsurf vs GitHub Copilot
| Windsurf | GitHub Copilot | |
|---|---|---|
| GitHub integration | Via git CLI | Native (PRs, CodeQL, issues) |
| Free tier | Yes (generous) | No |
| Price | $0–$15/mo | $10–$39/mo |
Copilot wins on GitHub integration — PR review, Dependabot autofix. Windsurf wins on price and free tier.
Effective Cascade Prompts
Explicit constraints:
Refactor auth middleware to use JWT instead of session cookies.
Only change files in middleware/ and lib/auth/.
Keep the same function signatures. Do not touch test files.
Reference existing patterns:
Add a DeletePostModal following the exact same pattern as
ArchivePostModal in components/modals/ArchivePostModal.tsx.
Acceptance criteria:
Add pagination to the post listing.
Done when:
- GET /api/posts accepts ?page=1&pageSize=10
- Response: { posts, total, hasNextPage }
- Frontend uses these params
Pricing
| Plan | Price | Agent requests |
|---|---|---|
| Free | $0 | Generous daily limit |
| Pro | $15/mo | Unlimited (fair use) |
| Teams | $35/mo/seat | Unlimited + SSO |
The free plan is the main reason to try Windsurf. It's not crippled to force an upgrade — you can build real projects on it.
Full article at stacknotice.com/blog/windsurf-ide-complete-guide-2026
Top comments (0)