Skip to content

Comments

feat(windsurf): add Windsurf as converter target provider#202

Draft
rburnham52 wants to merge 1 commit intoEveryInc:mainfrom
rburnham52:feat/windsurf-target-provider
Draft

feat(windsurf): add Windsurf as converter target provider#202
rburnham52 wants to merge 1 commit intoEveryInc:mainfrom
rburnham52:feat/windsurf-target-provider

Conversation

@rburnham52
Copy link

Summary

  • Add --to windsurf support for convert and install CLI commands
  • Converts Claude Code plugins to Windsurf format with full component mapping:
    • CLAUDE.mdAGENTS.md at project root (path-rewritten)
    • Agents → .windsurf/workflows/agents/*.md (YAML frontmatter + markdown body)
    • Commands → .windsurf/workflows/commands/*.md (separate subdirectory preserves semantic type)
    • Skills → .windsurf/skills/*/SKILL.md (pass-through with path rewriting)
    • MCP servers → .windsurf/mcp-setup.md (human-readable setup instructions, secrets redacted)
    • Hooks → skipped with warning (no Windsurf equivalent)

Architecture

Follows the established 3-layer target provider pattern:

  • src/types/windsurf.tsWindsurfBundle, WindsurfWorkflow, WindsurfSkillDir
  • src/converters/claude-to-windsurf.ts — converter with 4 content transformation rules
  • src/targets/windsurf.ts — writer with double-nesting guard and path validation

Testing

  • 46 new tests (30 converter, 10 writer, 6 normalizeName)
  • 179 total converter/writer tests pass across all targets with 0 regressions
  • Covers: content transformation, name normalization/deduplication, 12K char limit warnings, path traversal protection, MCP secret redaction, AGENTS.md backup, empty bundles

Post-Deploy Monitoring & Validation

No additional operational monitoring required: CLI tool with no runtime/server component.


Compound Engineered 🤖 Generated with Claude Code

Add --to windsurf support for convert and install commands. Converts
Claude Code plugins to Windsurf format: AGENTS.md at project root,
workflows in .windsurf/workflows/agents/ and commands/ subdirectories,
skills in .windsurf/skills/, and human-readable MCP setup doc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rburnham52 rburnham52 marked this pull request as draft February 23, 2026 03:24
@rburnham52
Copy link
Author

I'm playing around with adding a converter for windsurf. It still needs testing but let me know if this might be useful?

I also have a branch for Devin but because most of the concepts are hosted it's a bit more complex. I added the converter but also addded an sync scripts to import via api key. This process still needs some testing as well but let me know if you think it's useful as well. The windsurf convention was more of a 1 - 1 match.

https://github.com/rburnham52/compound-engineering-plugin/tree/feat/devin-target-provider

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant