Migrate to Windsurf from VS Code, Cursor, or other AI IDEs with full configuration transfer. Use when migrating a team to Windsurf, transferring Cursor rules, or evaluating Windsurf against other AI editors. Trigger with phrases like "migrate to windsurf", "switch to windsurf", "windsurf from cursor", "windsurf from copilot", "windsurf evaluation".
!windsurf --version 2>/dev/null || echo 'Not installed'
!code --version 2>/dev/null | head -1 || echo 'VS Code not installed'
!cursor --version 2>/dev/null | head -1 || echo 'Cursor not installed'
Comprehensive guide for migrating teams to Windsurf from VS Code + Copilot, Cursor, or other AI editors. Covers settings transfer, concept mapping, team rollout planning, and rollback strategy.
| Feature | VS Code + Copilot | Cursor | Windsurf |
|---|
| Inline completions | Copilot | Tab | Supercomplete |
| Agentic AI chat | N/A | Composer | Cascade Write |
| AI Q&A | Copilot Chat | Chat | Cascade Chat |
| Inline edit | Copilot Edit | Cmd+K | Cmd+I (Command) |
| Project rules | N/A | .cursorrules | .windsurfrules |
| AI ignore file | N/A | .cursorignore | .codeiumignore |
| Workspace rules | N/A | .cursor/rules/ | .windsurf/rules/ |
| Reusable workflows | N/A | N/A | .windsurf/workflows/ |
| Persistent memories | N/A | Notepad | Memories |
| MCP support | Via extension | Built-in | Built-in |
| In-IDE preview | N/A | N/A | Previews |
| Terminal AI | N/A | Limited | Full (Turbo mode) |
| Deploy from IDE | N/A | N/A | Netlify native |
| Pricing (individual) | $10/mo | $20/mo | $15/mo |
#!/bin/bash
set -euo pipefail
echo "=== Migrating Cursor → Windsurf ==="
# 1. Convert rules files
if [ -f .cursorrules ]; then
cp .cursorrules .windsurfrules
echo "Converted .cursorrules → .windsurfrules"
fi
# 2. Convert ignore file
if [ -f .cursorignore ]; then
cp .cursorignore .codeiumignore
echo "Converted .cursorignore → .codeiumignore"
fi
# 3. Convert workspace rules
if [ -d .cursor/rules ]; then
mkdir -p .windsurf/rules
for rule in .cursor/rules/*.md; do
[ -f "$rule" ] || continue
BASENAME=$(basename "$rule")
cp "$rule" ".windsurf/rules/$BASENAME"
echo "Copied rule: $BASENAME"
done
echo ""
echo "NOTE: Review .windsurf/rules/ files."
echo "Windsurf uses frontmatter with 'trigger:' field:"
echo " trigger: always_on | glob | model_decision | manual"
echo " globs: **/*.test.ts (for glob trigger)"
fi
# 4. Migrate extensions
if command -v cursor &>/dev/null; then
cursor --list-extensions > /tmp/cursor-extensions.txt
echo ""
echo "Extensions to install in Windsurf:"
grep -v "cursor\|anysphere" /tmp/cursor-extensions.txt | while read ext; do
echo " windsurf --install-extension $ext"
done
fi
echo ""
echo "Migration complete. Remove Cursor-specific references from .windsurfrules"
#!/bin/bash
set -euo pipefail
echo "=== Migrating VS Code + Copilot → Windsurf ==="
# 1. Export and install extensions
code --list-extensions > /tmp/vscode-extensions.txt
echo "Installing $(wc -l < /tmp/vscode-extensions.txt) extensions..."
grep -v "github.copilot" /tmp/vscode-extensions.txt | while read ext; do
windsurf --install-extension "$ext" 2>/dev/null || echo " SKIP: $ext"
done
# 2. Copy settings
SRC="$HOME/.config/Code/User/settings.json"
DST="$HOME/.config/Windsurf/User/settings.json"
[ -f "$SRC" ] && cp "$SRC" "$DST" && echo "Settings copied"
# 3. Copy keybindings
SRC_KB="$HOME/.config/Code/User/keybindings.json"
DST_KB="$HOME/.config/Windsurf/User/keybindings.json"
[ -f "$SRC_KB" ] && cp "$SRC_KB" "$DST_KB" && echo "Keybindings copied"
# 4. Create new Windsurf-specific config (no equivalent in VS Code)
echo ""
echo "NEW: Create these files for Windsurf AI features:"
echo " .windsurfrules — project context for Cascade AI"
echo " .codeiumignore — exclude files from AI indexing"
echo " .windsurf/rules/ — triggered workspace rules"
# Phased rollout strategy
migration_plan:
week_1_pilot:
participants: "2-3 senior developers"
goals:
- "Install Windsurf, import VS Code settings"
- "Create .windsurfrules for 1-2 main repos"
- "Use Cascade for real tasks, document experience"
success_criteria: "Pilot devs productive in Windsurf"
week_2_expand:
participants: "Full team (keep old editor available)"
goals:
- "All team members install Windsurf"
- "Run setup-windsurf.sh for each repo"
- "Training session: Cascade, Supercomplete, Workflows"
success_criteria: ">70% team using Windsurf daily"
week_3_optimize:
participants: "Full team"
goals:
- "Refine .windsurfrules based on team feedback"
- "Create team workflows for common tasks"
- "Configure Turbo mode allow/deny lists"
success_criteria: "Acceptance rate >25%, team satisfied"
week_4_commit:
participants: "Full team"
goals:
- "Remove old editor from default toolchain"
- "Decommission Copilot/Cursor licenses"
- "Document final configuration"
success_criteria: "100% team on Windsurf, licenses cancelled"