feat(windsurf): add Windsurf as converter target with global scope support#202
feat(windsurf): add Windsurf as converter target with global scope support#202rburnham52 wants to merge 3 commits intoEveryInc:mainfrom
Conversation
|
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 |
…pport
Add `--to windsurf` target for the converter CLI with full spec compliance
per docs/specs/windsurf.md:
- Claude agents → Windsurf skills (skills/{name}/SKILL.md)
- Claude commands → Windsurf workflows (workflows/{name}.md, flat)
- Pass-through skills copy unchanged
- MCP servers → mcp_config.json (merged with existing, 0o600 permissions)
- Hooks skipped with warning, CLAUDE.md skipped
Global scope support via generic --scope flag (Windsurf as first adopter):
- --to windsurf defaults to global (~/.codeium/windsurf/)
- --scope workspace for project-level .windsurf/ output
- --output overrides scope-derived paths
Shared utilities extracted (resolveTargetOutputRoot, hasPotentialSecrets)
to eliminate duplication across CLI commands.
68 new tests (converter, writer, scope resolution).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8dac3f1 to
6fe51a0
Compare
- Fix resolve-pr-parallel SKILL.md name from underscores to hyphens (must match directory name per Windsurf spec) - Add scope parameter to TargetHandler.write signature - Pass resolvedScope through to writer in convert.ts and install.ts - Windsurf writer uses global_workflows/ for global scope, workflows/ for workspace scope Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
I've tested installing the plugin from source. At first it was only installing into the workspace but i found a way to install globally. Global is the default but there is a param to install to the workspace. It should be ready for a review and some feedback. is there a way to test the full command without it being published?
|
190cd32 to
ed057a7
Compare
Updated docs/specs/windsurf.md and the plan to accurately document that global scope workflows go in global_workflows/ while workspace scope workflows go in workflows/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ed057a7 to
1107e3d
Compare
Summary
--to windsurfconverter target with full spec compliance perdocs/specs/windsurf.mdskills/{name}/SKILL.md), commands → flat workflows (workflows/{name}.md), pass-through skills copy unchanged, MCP →mcp_config.json--scope global|workspaceflag (Windsurf as first adopter) — defaults to global (~/.codeium/windsurf/)resolveTargetOutputRoot,hasPotentialSecrets) to eliminate CLI duplicationComponent Mapping
skills/{name}/SKILL.mdworkflows/{name}.mdskills/{name}/SKILL.mdmcp_config.jsonmcp_config.jsonKey Decisions
workflows/{name}.mdwith no subdirectories (per spec)0o600permissionsTest plan
bunx @every-env/compound-plugin install compound-engineering --to windsurfbunx @every-env/compound-plugin install compound-engineering --to windsurf --scope workspace🤖 Generated with Claude Code