Windsurf

Windsurf IDE Integration

Windsurf is Codeium's AI-first IDE. With IntlPull's MCP server, you can manage translations using natural language right in your editor.

Quick Start

1. Install the MCP server:

npm install -g @intlpullhq/mcp-server

2. Configure MCP in Windsurf:

Open Settings (Cmd+,) → Extensions → MCP

Or add to your MCP configuration file:

{
"mcpServers": {
"intlpull": {
"command": "npx",
"args": ["-y", "@intlpullhq/mcp-server"],
"env": {
"INTLPULL_API_KEY": "ip_live_your_api_key"
}
}
}
}

.windsurfrules Configuration

Create a .windsurfrules file in your project root to define your i18n workflow:

When handling internationalization:
1. Extract hardcoded strings to translation keys
2. Use IntlPull MCP for key management
3. Follow the project's naming conventions
4. Add descriptions for context
Key naming format: namespace.section.element
Example: checkout.form.submitButton
Translation files location: ./messages/{lang}.json
When creating translation keys:
- Use IntlPull MCP to create keys
- Include context descriptions
- Set max_length for UI constraints
When translating:
- Use IntlPull MCP to translate missing keys
- Review translations for UI fit
- Check pluralization rules for target languages

Using with Cascade

Windsurf's Cascade AI can interact with IntlPull through MCP. Open Cascade and try:

Extract strings from component

"Extract hardcoded strings from this file and create translation keys"

Add a new language

"Add German support to the project and translate all existing strings"

Check coverage

"Show me which translations are missing for French"

Bulk translate

"Translate all untranslated keys to Spanish"

Windsurf Flow Integration

You can create custom Flows for common translation tasks:

i18n Setup Flow

Create a Flow that sets up i18n for a new component:

  1. Scan component for hardcoded strings
  2. Generate translation keys with IntlPull
  3. Update component to use i18n hooks
  4. Translate to configured target languages
  5. Pull updated translation files

Tips for Windsurf

Use Cascade for multi-file changes

Cascade can update multiple files at once. Ask it to "add i18n to all components in the checkout folder" for batch operations.

Preview before pushing

Ask Cascade to "show me all changes before pushing to IntlPull" to review key names and values before they're created.

Context-aware translations

Include context in your requests: "Create a button label key - this is for a primary CTA on the pricing page"

Next Steps

    Windsurf IDE Integration - IntlPull Documentation | IntlPull