Windsurf Track
Module 24
Windsurf Track -- Module 24
Building ShopMate Faster: The ShopMate backend is now 4,000 lines of FastAPI code. The developer who built it also runs ThreadCo's Shopify store. She has 10 hours per week for development. The team adopts Windsurf so Cascade handles the repetitive expansion work -- new endpoints, tests, and integrations -- while she focuses on architecture and product decisions.

Windsurf -- AI-Native Coding IDE

Windsurf by Codeium is an AI-native IDE built from the ground up for agentic coding. Unlike plugin-based AI coding tools, Windsurf's Cascade engine maintains full codebase awareness and can autonomously plan, write, test, debug, and refactor across an entire project.

AI-Native by Design

Windsurf is a full VS Code-compatible editor with AI integrated at every layer -- not bolted on as a plugin. Completion, chat, refactoring, and agentic flows are all first-class features of the editor itself.

Cascade Agentic Engine

Cascade maintains a semantic understanding of your entire codebase. It plans multi-file edits, runs terminal commands, reads test output, and iterates -- completing long-horizon tasks with minimal human steering.

Flows

Flows are Windsurf's structured agentic workflows. Describe a goal in natural language; Cascade plans and executes it. A Flow is the primary interaction mode for non-trivial development tasks.

Model Flexibility

Windsurf supports Claude, GPT-4, and Codeium's own models. Select the model per task, optimising for quality, speed, or cost. Claude is the recommended model for complex reasoning and architecture tasks.

FeatureWindsurfGitHub CopilotCursor
Agentic multi-file editsNative (Cascade)LimitedYes
Terminal integrationFull (run + react)NoPartial
Codebase semantic indexYesPartialYes
Memory across sessionsYes (Memories)NoLimited
Model choiceClaude, GPT-4, CodeiumGPT-4 onlyClaude, GPT-4
IDE baseVS Code forkVS Code extensionVS Code fork

ShopMate -- First Windsurf Flow

Text -- Your First ShopMate Flow (Cmd+I)
# Open the shopmate/ folder in Windsurf, press Cmd+I, and type:

Add a wishlist notification feature to ShopMate.

When a product comes back into stock, ShopMate should send an email
to all customers who have it on their wishlist.

Email should:
- Have subject: "[product name] is back in stock!"
- Be written in ThreadCo's friendly brand voice (see .windsurfrules)
- Include the product price, available sizes, and a shop link
- Be generated by Claude, not hardcoded

Implementation:
- Function: generate_restock_email(product: dict, customer_name: str) -> str
- In: shopmate/emails/restock.py
- Tests: tests/test_restock_email.py -- mock the Claude call with respx
- Tests should verify: subject line, customer name personalisation, product details present

Follow conventions in .windsurfrules.