Complete checklist for rolling out Windsurf to production teams. Covers workspace configuration, security hardening, team onboarding, and monitoring.
Workspace Config (per repository):
.windsurfrules created with project stack, patterns, and constraints.codeiumignore excludes secrets, build artifacts, and large binaries.windsurf/rules/ contains glob-triggered rules for file-type-specific patterns.windsurf/settings.json
Security:
.codeiumignore covers all secret file patternsTeam Policy:
[cascade] prefix)Per-Developer Setup:
#!/bin/bash
# scripts/setup-windsurf.sh — run on each developer machine
echo "Setting up Windsurf for this project..."
# Verify Windsurf is installed
windsurf --version || { echo "Install Windsurf first: https://windsurf.com/download"; exit 1; }
# Verify config files exist
[ -f .windsurfrules ] || echo "WARNING: .windsurfrules missing"
[ -f .codeiumignore ] || echo "WARNING: .codeiumignore missing"
# Install recommended extensions
windsurf --install-extension esbenp.prettier-vscode
windsurf --install-extension dbaeumer.vscode-eslint
# Disable conflicting extensions
windsurf --disable-extension github.copilot 2>/dev/null || true
echo "Setup complete. Open project folder (not monorepo root) for best AI context."
Training Checklist:
.windsurfrules explainedAdmin Dashboard Monitoring:
# Metrics to track weekly (Admin Dashboard > Analytics)
metrics:
adoption:
- active_users_vs_total_seats # target: >80%
- daily_active_users # trend: increasing
quality:
- completion_acceptance_rate # target: >25%
- cascade_success_rate # target: >70%
efficiency:
- credits_consumed_per_user # watch for outliers
- tasks_completed_per_day # proxy for productivity
Quarterly Review:
.windsurfrules -- update with new patternsIf Windsurf causes issues:
1. Disable Cascade for team: Admin Dashboard > Features > Cascade > Off
2. Developers can still use Supercomplete (non-agentic)
3. Switch to manual coding while investigating
4. Review recent Cascade-generated commits for issues
5. File support ticket with debug bundle (see windsurf-debug-bundle)
| Issue | Severity | Mitigation |
|---|---|---|
| Cascade generates broken code | Medium | Enforce tests-pass-before-merge policy |
| AI exposes secrets in suggestions | High | Audit .codeiumignore, rotate exposed secrets |
| Team not adopting | Low | Training session, share productivity data |
| Credits exhausted mid-sprint | Medium | Monitor usage, buy additional credits proactively |
// .vscode/extensions.json (also works in Windsurf)
{
"recommendations": [
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"biomejs.biome"
],
"unwantedRecommendations": [
"github.copilot",
"tabnine.tabnine-vscode"
]
}
set -euo pipefail
echo "Config: $([ -f .windsurfrules ] && echo 'OK' || echo 'MISSING')"
echo "Ignore: $([ -f .codeiumignore ] && echo 'OK' || echo 'MISSING')"
echo "Rules: $([ -d .windsurf/rules ] && echo 'OK' || echo 'MISSING')"
For version upgrades, see windsurf-upgrade-migration.