writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
windsurf-load-scaleScale Devin Desktop (formerly Windsurf) adoption across large organizations with workspace strategies and performance tuning. Use when rolling out Windsurf to 50+ developers, managing large monorepo workspaces, or planning enterprise-scale deployment. Trigger with phrases like "windsurf at scale", "windsurf large team", "windsurf monorepo", "windsurf organi…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: windsurf-load-scale description: 'Scale Devin Desktop (formerly Windsurf) adoption across large organizations with workspace strategies and performance tuning.
Use when rolling out Windsurf to 50+ developers, managing large monorepo workspaces,
or planning enterprise-scale deployment.
Trigger with phrases like "windsurf at scale", "windsurf large team",
"windsurf monorepo", "windsurf organization", "windsurf 100 developers".
' argument-hint: "[team size and repository topology]" allowed-tools: Read, Write, Edit version: 1.12.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Strategies for deploying Devin Desktop (formerly Windsurf) across large organizations. Covers workspace partitioning, policy distribution, quota governance, and performance at scale.
Read to inspect only the repository files and configuration needed for the request.Write only for a new artifact the user requested; never write credentials or unreviewed production configuration.Edit for bounded, reviewable changes and preserve unrelated user work.# Windsurf performance degrades with workspace size
# Cascade context quality inversely correlates with file count
workspace_sizing:
optimal: "<5,000 files — fast indexing, precise Cascade context"
acceptable: "Measure against available RAM and current indexing guidance"
problematic: "20,000+ files — must partition into sub-workspaces"
unworkable: "100,000+ files at root — Cascade context diluted, indexing very slow"
# Strategy: one Windsurf window per service/package
# Each developer opens their assigned service directory
# Large monorepo (100K+ files)
company-monorepo/
├── .devin/rules/project.md # Brief shared conventions only
├── .codeiumignore # Aggressive: exclude EVERYTHING except src
├── apps/
│ ├── web-app/ # Developer A opens this window
│ │ ├── .devin/rules/project.md # Next.js-specific AI context
│ │ └── .codeiumignore # Local exclusions
│ ├── mobile-app/ # Developer B opens this window
│ │ ├── .devin/rules/project.md # React Native context
│ │ └── .codeiumignore
│ └── admin-portal/ # Developer C opens this window
│ ├── .devin/rules/project.md
│ └── .codeiumignore
├── services/
│ ├── api-gateway/ # Backend team opens individual services
│ ├── auth-service/
│ ├── payment-service/
│ └── notification-service/
├── packages/
│ └── shared-types/ # Library maintainer opens this
└── infrastructure/
└── terraform/ # DevOps opens this
Rule: Never open the monorepo root in Windsurf. Each developer opens their service directory.
# Central config repo for team-wide standards
windsurf-config/
├── templates/
│ ├── windsurfrules/
│ │ ├── nextjs.md # Template for Next.js projects
│ │ ├── fastify.md # Template for Fastify APIs
│ │ ├── react-native.md # Template for mobile apps
│ │ └── shared-library.md # Template for shared packages
│ ├── codeiumignore/
│ │ ├── node-project.ignore
│ │ ├── python-project.ignore
│ │ └── go-project.ignore
│ └── workflows/
│ ├── deploy-staging.md
│ ├── pr-review.md
│ └── quality-check.md
├── scripts/
│ ├── setup-windsurf.sh # Onboarding script
│ └── sync-config.sh # Distribute updates
└── README.md
Sync script:
#!/bin/bash
set -euo pipefail
# scripts/sync-config.sh — run from monorepo root
TEMPLATE_DIR="/path/to/windsurf-config/templates"
for service_dir in apps/*/ services/*/; do
[ -d "$service_dir" ] || continue
SERVICE=$(basename "$service_dir")
# Copy .codeiumignore if missing
[ -f "$service_dir/.codeiumignore" ] || \
cp "$TEMPLATE_DIR/codeiumignore/node-project.ignore" "$service_dir/.codeiumignore"
# Copy shared workflows
mkdir -p "$service_dir/.windsurf/workflows"
cp "$TEMPLATE_DIR/workflows/"*.md "$service_dir/.windsurf/workflows/" 2>/dev/null || true
echo "Synced: $SERVICE"
done
# Usage planning for large teams; populate values from the current contract
usage_governance:
team_size: 100
seat_allocation:
full_seats: 70 # regular users who require Desktop and included quota
flex_seats: 30 # occasional users, when permitted by current plan
controls:
contract_owner: finance-platform
on_demand_limit: "set in admin billing settings"
review_period: quarterly
optimization:
quarterly_review: "Confirm roles and right-size inactive seats"
training_program: "Monthly 30-min workshop for new features"
workflow_investment: "Build reusable skills and workflows for common tasks"
# IT/Network team requirements
network_config:
endpoints_to_whitelist:
- "*.codeium.com" # AI inference
- "*.windsurf.com" # Auth, updates, admin portal
- "windsurf.com" # Downloads, documentation
proxy_support:
http_proxy: "${HTTP_PROXY}"
https_proxy: "${HTTPS_PROXY}"
no_proxy: "localhost,127.0.0.1,.internal.company.com"
# Set via Windsurf Settings or environment variables
deployment_modes:
cloud: "Standard — code context sent to Codeium cloud"
hybrid: "Code stays local, only prompts sent to cloud"
negotiated_controls: "Document only the deployment and data controls in the current contract"
#!/bin/bash
set -euo pipefail
# Large-team onboarding script
echo "=== Windsurf Team Onboarding ==="
# 1. Install Windsurf
if ! command -v windsurf &>/dev/null; then
echo "Installing Windsurf..."
brew install --cask windsurf 2>/dev/null || {
echo "Download from: https://windsurf.com/download"
exit 1
}
fi
# 2. Import existing editor settings
echo "Importing VS Code settings..."
windsurf 2>/dev/null & # First launch imports settings
sleep 3
kill %1 2>/dev/null || true
# 3. Install approved extensions
EXTENSIONS=(
"esbenp.prettier-vscode"
"dbaeumer.vscode-eslint"
"biomejs.biome"
)
for ext in "${EXTENSIONS[@]}"; do
windsurf --install-extension "$ext" 2>/dev/null
done
# 4. Disable conflicting extensions
CONFLICTS=("github.copilot" "tabnine.tabnine-vscode")
for ext in "${CONFLICTS[@]}"; do
windsurf --disable-extension "$ext" 2>/dev/null || true
done
# 5. Set team config
echo "Configuring team settings..."
echo ""
echo "Complete. Next steps:"
echo "1. Open your service directory in Windsurf (not monorepo root)"
echo "2. Sign in with company SSO when prompted"
echo "3. Verify .devin/rules/project.md exists in your service directory"
Deliver a phased rollout plan with cohorts, repository and indexing boundaries, identity and seat ownership, policy distribution, adoption and reliability measures, support escalation, stop conditions, and rollback criteria. Include a pilot exit decision before broader deployment.
| Issue | Cause | Solution |
|---|---|---|
| Indexing slow across team | Large workspaces | Partition into sub-workspaces per service |
| Config drift between services | No central templates | Implement sync-config.sh script |
| Variable usage overspend | No spending limit | Set an approved limit and review seat allocation quarterly |
| Network blocking Windsurf | Firewall rules | Whitelist .codeium.com and.windsurf.com |
| Inconsistent AI suggestions | Different .devin/rules/project.md | Use central template repository |
echo "=== Team Windsurf Health ==="
echo "Services with .devin/rules/project.md:"
find . -maxdepth 3 -name ".devin/rules/project.md" | wc -l
echo "Services with .codeiumignore:"
find . -maxdepth 3 -name ".codeiumignore" | wc -l
echo "Services without config (needs fix):"
for d in apps/* services/*; do
[ -d "$d" ] || continue
[ -f "$d/.devin/rules/project.md" ] || echo " MISSING: $d/.devin/rules/project.md"
done
Continue with windsurf-reliability-patterns to add checkpoints, validation gates, rollback paths, and failure containment to the scaled rollout.