- sync.ts: add gemini + all targets, keep copilot, remove cursor (native), use shared hasPotentialSecrets - install.ts + convert.ts: import both detectInstalledTools and resolveTargetOutputRoot; update --to all block to use new object API; fix resolvedScope ordering (was referencing target before definition) - CHANGELOG.md: add v0.12.0 entry (auto-detect + Gemini sync) - README.md: merge all install targets, collapsible output format table, sync defaults to --target all - package.json: bump to 0.12.0 - sync --target now defaults to "all" when omitted 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
6.6 KiB
6.6 KiB
Changelog
All notable changes to the @every-env/compound-plugin CLI tool will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.12.0] - 2026-03-01
Added
- Auto-detect install targets —
install --to allandconvert --to allauto-detect installed AI coding tools and install to all of them in one command - Gemini sync —
sync --target geminisymlinks personal skills to.gemini/skills/and merges MCP servers into.gemini/settings.json - Sync all targets —
sync --target allsyncs personal config to all detected tools - Tool detection utility — Checks config directories for OpenCode, Codex, Droid, Cursor, Pi, and Gemini
[0.11.0] - 2026-03-01
Added
- OpenClaw target —
--to openclawconverts plugins to OpenClaw format. Agents become.mdfiles, commands become.mdfiles, pass-through skills copy unchanged, and MCP servers are written toopenclaw-extension.json. Output goes to~/.openclaw/extensions/<plugin-name>/by default. Use--openclaw-hometo override. (#217) — thanks @TrendpilotAI! - Qwen Code target —
--to qwenconverts plugins to Qwen Code extension format. Agents become.yamlfiles with Qwen-compatible fields, commands become.mdfiles, MCP servers write toqwen-extension.json, and aQWEN.mdcontext file is generated. Output goes to~/.qwen/extensions/<plugin-name>/by default. Use--qwen-hometo override. (#220) — thanks @rlam3! - Windsurf target —
--to windsurfconverts plugins to Windsurf format. Claude agents become Windsurf skills (skills/{name}/SKILL.md), commands become flat workflows (global_workflows/{name}.mdfor global scope,workflows/{name}.mdfor workspace), and pass-through skills copy unchanged. MCP servers write tomcp_config.json(machine-readable, merged with existing config). (#202) — thanks @rburnham52! - Global scope support — New
--scope global|workspaceflag (generic, Windsurf as first adopter).--to windsurfdefaults to global scope (~/.codeium/windsurf/), making installed skills, workflows, and MCP servers available across all projects. Use--scope workspacefor project-level.windsurf/output. mcp_config.jsonintegration — Windsurf converter writes proper machine-readable MCP config supporting stdio, Streamable HTTP, and SSE transports. Merges with existing config (user entries preserved, plugin entries take precedence). Written with0o600permissions.- Shared utilities — Extracted
resolveTargetOutputRoottosrc/utils/resolve-output.tsandhasPotentialSecretstosrc/utils/secrets.tsto eliminate duplication.
Fixed
- OpenClaw code injection —
generateEntryPointnow usesJSON.stringify()for all string interpolation (was escaping only", leaving\n/\\unguarded). - Qwen
plugin.manifest.name— context file header was# undefineddue to usingplugin.name(which doesn't exist onClaudePlugin); fixed toplugin.manifest.name. - Qwen remote MCP servers — curl fallback removed; HTTP/SSE servers are now skipped with a warning (Qwen only supports stdio transport).
--openclaw-home/--qwen-homeCLI flags — wired through toresolveTargetOutputRootso custom home directories are respected.
[0.9.1] - 2026-02-20
Changed
- Remove docs/reports and docs/decisions directories — only
docs/plans/is retained as living documents that track implementation progress - OpenCode commands as Markdown — commands are now
.mdfiles with deep-merged config, permissions default to none (#201) — thanks @0ut5ider! - Fix changelog GitHub link (#215) — thanks @XSAM!
- Update Claude Code install command in README (#218) — thanks @ianguelman!
[0.9.0] - 2026-02-17
Added
- Kiro CLI target —
--to kiroconverts plugins to.kiro/format with custom agent JSON configs, prompt files, skills, steering files, andmcp.json. Only stdio MCP servers are supported (#196) — thanks @krthr!
[0.8.0] - 2026-02-17
Added
- GitHub Copilot target —
--to copilotconverts plugins to.github/format with.agent.mdfiles,SKILL.mdskills, andcopilot-mcp-config.json. Also supportssync --target copilot(#192) — thanks @brayanjuls! - Native Cursor plugin support — Cursor now installs via
/add-plugin compound-engineeringusing Cursor's native plugin system instead of CLI conversion (#184) — thanks @ericzakariasson!
Removed
- Cursor CLI conversion target (
--to cursor) — replaced by native Cursor plugin install
[0.6.0] - 2026-02-12
Added
- Droid sync target —
sync --target droidsymlinks personal skills to~/.factory/skills/ - Cursor sync target —
sync --target cursorsymlinks skills to.cursor/skills/and merges MCP servers into.cursor/mcp.json - Pi target — First-class
--to piconverter with MCPorter config and subagent compatibility (#181) — thanks @gvkhosla!
Fixed
- Bare Claude model alias resolution — Fixed OpenCode converter not resolving bare model aliases like
claude-sonnet-4-5-20250514(#182) — thanks @waltbeaman!
Changed
- Extracted shared
expandHome/resolveTargetHomehelpers tosrc/utils/resolve-home.ts, removing duplication acrossconvert.ts,install.ts, andsync.ts
[0.5.2] - 2026-02-09
Fixed
- Fix cursor install defaulting to cwd instead of opencode config dir
[0.5.1] - 2026-02-08
- Initial npm publish