agentsclimarketplace

Windsurf migration deep dive

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/windsurf-pack/skills/windsurf-migration-deep-dive

'Migrate to Windsurf from VS Code, Cursor, or other AI IDEs with full configuration transfer.From its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill windsurf-migration-deep-dive

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.7 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Windsurf Migration Deep Dive

Current State

!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'

Overview

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.

Prerequisites

  • Current editor still installed (for config export)
  • Target repositories identified
  • Team buy-in for evaluation period

Instructions

Step 1: Feature Comparison Matrix

FeatureVS Code + CopilotCursorWindsurf
Inline completionsCopilotTabSupercomplete
Agentic AI chatN/AComposerCascade Write
AI Q&ACopilot ChatChatCascade Chat
Inline editCopilot EditCmd+KCmd+I (Command)
Project rulesN/A.cursorrules.windsurfrules
AI ignore fileN/A.cursorignore.codeiumignore
Workspace rulesN/A.cursor/rules/.windsurf/rules/
Reusable workflowsN/AN/A.windsurf/workflows/
Persistent memoriesN/ANotepadMemories
MCP supportVia extensionBuilt-inBuilt-in
In-IDE previewN/AN/APreviews
Terminal AIN/ALimitedFull (Turbo mode)
Deploy from IDEN/AN/ANetlify native
Pricing (individual)$10/mo$20/mo$15/mo

Step 2: Migrate from Cursor

#!/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"

Step 3: Migrate from VS Code + Copilot

#!/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"

Step 4: Team Rollout Plan

# 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"

Step 5: Rollback Plan

rollback:
  trigger: "Team productivity drops or critical issues discovered"
  steps:
    1. "Keep old editor installed during evaluation (don't uninstall)"
    2. "Git config files (.windsurfrules, .codeiumignore) don't affect other editors"
    3. "VS Code settings already backed up during migration"
    4. "Cancel Windsurf subscription within trial period"
  note: "Windsurf config files are safe to leave in repo — they're ignored by other editors"

Error Handling

IssueCauseSolution
Extension doesn't work in WindsurfVS Code API incompatibilityCheck Windsurf marketplace for alternative
Settings cause errorsWindsurf-specific settings formatRemove Cursor/Copilot-specific settings
Team resistanceUnfamiliar with CascadeDemo session with real project tasks
.cursorrules not workingWrong filenameMust be .windsurfrules in Windsurf
Missing featuresSpecific Cursor/Copilot featureCheck if Windsurf has equivalent (often different name)

Examples

Quick Evaluation Script

# Install Windsurf alongside existing editor
brew install --cask windsurf  # macOS

# Import settings
windsurf --list-extensions  # Check what's already imported

# Open same project in both editors, compare AI quality
windsurf /path/to/project
cursor /path/to/project  # or: code /path/to/project

Concept Quick Reference

Copilot → Supercomplete (Tab completions)
Copilot Chat → Cascade Chat (Cmd+L, Chat mode)
Copilot Edit → Cascade Write (Cmd+L, Write mode)
Composer (Cursor) → Cascade Write
Cmd+K (Cursor) → Cmd+I (Windsurf Command)
.cursorrules → .windsurfrules
.cursorignore → .codeiumignore

Resources

Next Steps

For advanced troubleshooting, see windsurf-advanced-troubleshooting.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.