7.8 KiB
7.8 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.13.0] - 2026-03-03
Added
- Sync parity across supported providers —
syncnow uses a shared target registry and supports MCP sync for Codex, Droid, Gemini, Copilot, Pi, Windsurf, Kiro, and Qwen, with OpenClaw kept validation-gated for skills-only sync. - Personal command sync — Personal Claude commands from
~/.claude/commands/now sync into provider-native command surfaces, including Codex prompts and generated skills, Gemini TOML commands, OpenCode command markdown, Windsurf workflows, and converted skills where that is the closest available equivalent.
Changed
- Global user config targets — Copilot sync now writes to
~/.copilot/and Gemini sync writes to~/.gemini/, matching current documented user-level config locations. - Gemini skill deduplication — Gemini sync now avoids mirroring skills that Gemini already resolves from
~/.agents/skills, preventing duplicate skill conflict warnings after sync.
Fixed
- Safe skill sync replacement — When a real directory already exists at a symlink target (for example
~/.config/opencode/skills/proof), sync now logs a warning and skips instead of throwing an error.
[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