Skip to content

Windsurf

LNAI exports unified configuration to Windsurf IDE’s native .windsurf/ format, transforming rules as needed.

AGENTS.md # Symlink → .ai/AGENTS.md (at project root)
.windsurf/
├── rules/<name>.md # Transformed from .ai/rules/<name>.md
├── skills/<name>/ # Symlinks → ../../.ai/skills/<name>/
└── <overrides> # Symlinks from .ai/.windsurf/
SourceOutputType
.ai/AGENTS.mdAGENTS.mdSymlink
.ai/rules/<name>.md.windsurf/rules/<name>.mdTransformed
.ai/skills/<name>/.windsurf/skills/<name>/Symlink
.ai/.windsurf/<path>.windsurf/<path>Symlink

Rules are transformed to Windsurf format with trigger: manual frontmatter:

.ai/rules/typescript.md
paths:
- "\*_/_.ts"
- "\*_/_.tsx"
---
# TypeScript Guidelines
Use strict TypeScript...
.windsurf/rules/typescript.md
## trigger: manual
# TypeScript Guidelines
Use strict TypeScript...
LNAI FieldWindsurf FieldNotes
paths(not mapped)Windsurf uses trigger modes instead
triggerAlways set to manual

Note: Rules are exported with trigger: manual and require explicit @mention to invoke in Windsurf. This ensures predictable behavior across tools.

Windsurf supports these trigger modes (only manual is used by LNAI):

TriggerDescription
manualRequires explicit @mention to invoke
always_onAlways active in conversations
model_decisionAI decides when to apply
globTriggered by file patterns

Windsurf uses a global MCP configuration at ~/.codeium/windsurf/mcp_config.json. Project-level MCP servers defined in .ai/settings.json are not exported to Windsurf.

LNAI will display a “skipped” notice when MCP servers are present:

windsurf:
⊘ mcpServers: Windsurf uses global MCP config at ~/.codeium/windsurf/mcp_config.json

Windsurf does not support declarative permissions. Any permissions defined in .ai/settings.json are not exported to Windsurf.

Place Windsurf-specific files in .ai/.windsurf/ to have them symlinked directly:

.ai/.windsurf/
└── workflows/deploy.md → .windsurf/workflows/deploy.md

When an override file exists at the same path as a generated file, the override takes priority.