@every-env/compound-plugin 0.9.0 → 2.34.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.github/workflows/publish.yml +20 -10
- package/.releaserc.json +31 -0
- package/AGENTS.md +6 -1
- package/CHANGELOG.md +76 -0
- package/CLAUDE.md +16 -3
- package/README.md +83 -16
- package/bun.lock +977 -0
- package/docs/plans/2026-02-14-feat-auto-detect-install-and-gemini-sync-plan.md +360 -0
- package/docs/plans/2026-02-25-feat-windsurf-global-scope-support-plan.md +627 -0
- package/docs/plans/2026-03-01-feat-ce-command-aliases-backwards-compatible-deprecation-plan.md +261 -0
- package/docs/plans/2026-03-01-fix-setup-skill-non-claude-llm-fallback-plan.md +140 -0
- package/docs/plans/2026-03-03-feat-sync-claude-mcp-all-supported-providers-plan.md +639 -0
- package/docs/plans/feature_opencode-commands-as-md-and-config-merge.md +574 -0
- package/docs/solutions/adding-converter-target-providers.md +693 -0
- package/docs/solutions/plugin-versioning-requirements.md +7 -3
- package/docs/specs/windsurf.md +477 -0
- package/package.json +10 -4
- package/plans/landing-page-launchkit-refresh.md +2 -2
- package/plugins/compound-engineering/.claude-plugin/plugin.json +2 -2
- package/plugins/compound-engineering/CHANGELOG.md +82 -1
- package/plugins/compound-engineering/CLAUDE.md +14 -7
- package/plugins/compound-engineering/README.md +10 -7
- package/plugins/compound-engineering/agents/research/git-history-analyzer.md +1 -1
- package/plugins/compound-engineering/agents/research/learnings-researcher.md +1 -1
- package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +1 -1
- package/plugins/compound-engineering/commands/ce/brainstorm.md +145 -0
- package/plugins/compound-engineering/commands/ce/compound.md +240 -0
- package/plugins/compound-engineering/commands/ce/plan.md +636 -0
- package/plugins/compound-engineering/commands/ce/review.md +525 -0
- package/plugins/compound-engineering/commands/ce/work.md +470 -0
- package/plugins/compound-engineering/commands/create-agent-skill.md +1 -1
- package/plugins/compound-engineering/commands/deepen-plan.md +6 -6
- package/plugins/compound-engineering/commands/deploy-docs.md +1 -1
- package/plugins/compound-engineering/commands/feature-video.md +15 -6
- package/plugins/compound-engineering/commands/heal-skill.md +1 -1
- package/plugins/compound-engineering/commands/lfg.md +3 -3
- package/plugins/compound-engineering/commands/slfg.md +3 -3
- package/plugins/compound-engineering/commands/test-xcode.md +2 -2
- package/plugins/compound-engineering/commands/workflows/brainstorm.md +4 -123
- package/plugins/compound-engineering/commands/workflows/compound.md +4 -234
- package/plugins/compound-engineering/commands/workflows/plan.md +4 -562
- package/plugins/compound-engineering/commands/workflows/review.md +4 -522
- package/plugins/compound-engineering/commands/workflows/work.md +4 -448
- package/plugins/compound-engineering/skills/brainstorming/SKILL.md +3 -3
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-workflow.md +6 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-new-skill.md +6 -0
- package/plugins/compound-engineering/skills/document-review/SKILL.md +1 -1
- package/plugins/compound-engineering/skills/file-todos/SKILL.md +1 -1
- package/plugins/compound-engineering/skills/git-worktree/SKILL.md +5 -5
- package/plugins/compound-engineering/skills/proof/SKILL.md +185 -0
- package/plugins/compound-engineering/skills/resolve-pr-parallel/SKILL.md +1 -1
- package/plugins/compound-engineering/skills/setup/SKILL.md +8 -2
- package/src/commands/convert.ts +101 -24
- package/src/commands/install.ts +102 -45
- package/src/commands/sync.ts +43 -62
- package/src/converters/claude-to-openclaw.ts +240 -0
- package/src/converters/claude-to-opencode.ts +12 -10
- package/src/converters/claude-to-qwen.ts +238 -0
- package/src/converters/claude-to-windsurf.ts +205 -0
- package/src/index.ts +2 -1
- package/src/parsers/claude-home.ts +55 -3
- package/src/sync/codex.ts +38 -62
- package/src/sync/commands.ts +198 -0
- package/src/sync/copilot.ts +14 -36
- package/src/sync/droid.ts +50 -9
- package/src/sync/gemini.ts +135 -0
- package/src/sync/json-config.ts +47 -0
- package/src/sync/kiro.ts +49 -0
- package/src/sync/mcp-transports.ts +19 -0
- package/src/sync/openclaw.ts +18 -0
- package/src/sync/opencode.ts +10 -30
- package/src/sync/pi.ts +12 -36
- package/src/sync/qwen.ts +66 -0
- package/src/sync/registry.ts +141 -0
- package/src/sync/skills.ts +21 -0
- package/src/sync/windsurf.ts +59 -0
- package/src/targets/index.ts +60 -1
- package/src/targets/openclaw.ts +96 -0
- package/src/targets/opencode.ts +76 -10
- package/src/targets/qwen.ts +64 -0
- package/src/targets/windsurf.ts +104 -0
- package/src/types/kiro.ts +3 -1
- package/src/types/openclaw.ts +52 -0
- package/src/types/opencode.ts +7 -8
- package/src/types/qwen.ts +51 -0
- package/src/types/windsurf.ts +35 -0
- package/src/utils/codex-agents.ts +1 -1
- package/src/utils/detect-tools.ts +37 -0
- package/src/utils/files.ts +14 -0
- package/src/utils/resolve-output.ts +50 -0
- package/src/utils/secrets.ts +24 -0
- package/src/utils/symlink.ts +4 -6
- package/tests/claude-home.test.ts +46 -0
- package/tests/cli.test.ts +180 -0
- package/tests/converter.test.ts +43 -10
- package/tests/detect-tools.test.ts +119 -0
- package/tests/openclaw-converter.test.ts +200 -0
- package/tests/opencode-writer.test.ts +142 -5
- package/tests/qwen-converter.test.ts +238 -0
- package/tests/resolve-output.test.ts +131 -0
- package/tests/sync-codex.test.ts +64 -0
- package/tests/sync-copilot.test.ts +60 -4
- package/tests/sync-droid.test.ts +44 -4
- package/tests/sync-gemini.test.ts +160 -0
- package/tests/sync-kiro.test.ts +83 -0
- package/tests/sync-openclaw.test.ts +51 -0
- package/tests/sync-qwen.test.ts +75 -0
- package/tests/sync-windsurf.test.ts +89 -0
- package/tests/windsurf-converter.test.ts +573 -0
- package/tests/windsurf-writer.test.ts +359 -0
- package/docs/css/docs.css +0 -675
- package/docs/css/style.css +0 -2886
- package/docs/index.html +0 -1046
- package/docs/js/main.js +0 -225
- package/docs/pages/agents.html +0 -649
- package/docs/pages/changelog.html +0 -534
- package/docs/pages/commands.html +0 -523
- package/docs/pages/getting-started.html +0 -582
- package/docs/pages/mcp-servers.html +0 -409
- package/docs/pages/skills.html +0 -611
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
2
|
+
"name": "compound-engineering-plugin",
|
|
3
3
|
"owner": {
|
|
4
4
|
"name": "Kieran Klaassen",
|
|
5
5
|
"url": "https://github.com/kieranklaassen"
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "compound-engineering",
|
|
14
|
-
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 22 commands, and
|
|
15
|
-
"version": "2.
|
|
14
|
+
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 22 commands, and 20 skills.",
|
|
15
|
+
"version": "2.38.1",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Kieran Klaassen",
|
|
18
18
|
"url": "https://github.com/kieranklaassen",
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
name: Publish to npm
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
6
7
|
|
|
7
8
|
jobs:
|
|
8
9
|
publish:
|
|
9
10
|
runs-on: ubuntu-latest
|
|
10
11
|
permissions:
|
|
11
|
-
contents:
|
|
12
|
+
contents: write
|
|
12
13
|
id-token: write
|
|
14
|
+
issues: write
|
|
15
|
+
pull-requests: write
|
|
16
|
+
|
|
17
|
+
concurrency:
|
|
18
|
+
group: publish-${{ github.ref }}
|
|
19
|
+
cancel-in-progress: false
|
|
13
20
|
|
|
14
21
|
steps:
|
|
15
22
|
- uses: actions/checkout@v6
|
|
23
|
+
with:
|
|
24
|
+
fetch-depth: 0
|
|
16
25
|
|
|
17
26
|
- name: Setup Bun
|
|
18
27
|
uses: oven-sh/setup-bun@v2
|
|
@@ -20,18 +29,19 @@ jobs:
|
|
|
20
29
|
bun-version: latest
|
|
21
30
|
|
|
22
31
|
- name: Install dependencies
|
|
23
|
-
run: bun install
|
|
32
|
+
run: bun install --frozen-lockfile
|
|
24
33
|
|
|
25
34
|
- name: Run tests
|
|
26
35
|
run: bun test
|
|
27
36
|
|
|
28
|
-
- name: Setup Node.js for
|
|
37
|
+
- name: Setup Node.js for release
|
|
29
38
|
uses: actions/setup-node@v4
|
|
30
39
|
with:
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
# npm trusted publishing requires Node 22.14.0+.
|
|
41
|
+
node-version: "24"
|
|
33
42
|
|
|
34
|
-
- name:
|
|
35
|
-
run: npm publish --provenance --access public
|
|
43
|
+
- name: Release
|
|
36
44
|
env:
|
|
37
|
-
|
|
45
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
47
|
+
run: npx semantic-release
|
package/.releaserc.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"branches": [
|
|
3
|
+
"main"
|
|
4
|
+
],
|
|
5
|
+
"tagFormat": "v${version}",
|
|
6
|
+
"plugins": [
|
|
7
|
+
"@semantic-release/commit-analyzer",
|
|
8
|
+
"@semantic-release/release-notes-generator",
|
|
9
|
+
"@semantic-release/changelog",
|
|
10
|
+
"@semantic-release/npm",
|
|
11
|
+
[
|
|
12
|
+
"@semantic-release/git",
|
|
13
|
+
{
|
|
14
|
+
"assets": [
|
|
15
|
+
"CHANGELOG.md",
|
|
16
|
+
"package.json"
|
|
17
|
+
],
|
|
18
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
[
|
|
22
|
+
"@semantic-release/github",
|
|
23
|
+
{
|
|
24
|
+
"successComment": false,
|
|
25
|
+
"failCommentCondition": false,
|
|
26
|
+
"labels": false,
|
|
27
|
+
"releasedLabels": false
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
]
|
|
31
|
+
}
|
package/AGENTS.md
CHANGED
|
@@ -7,7 +7,8 @@ This repository contains a Bun/TypeScript CLI that converts Claude Code plugins
|
|
|
7
7
|
- **Branching:** Create a feature branch for any non-trivial change. If already on the correct branch for the task, keep using it; do not create additional branches or worktrees unless explicitly requested.
|
|
8
8
|
- **Safety:** Do not delete or overwrite user data. Avoid destructive commands.
|
|
9
9
|
- **Testing:** Run `bun test` after changes that affect parsing, conversion, or output.
|
|
10
|
-
- **
|
|
10
|
+
- **Release versioning:** The root CLI package (`package.json`, `CHANGELOG.md`, and repo `v*` tags) uses one shared release line managed by semantic-release on `main`. Do not start or maintain a separate root CLI version stream. Use conventional commits and let release automation write the next root package version. Embedded marketplace plugin metadata (`plugins/compound-engineering/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`) is a separate version surface and may differ.
|
|
11
|
+
- **Output Paths:** Keep OpenCode output at `opencode.json` and `.opencode/{agents,skills,plugins}`. For OpenCode, command go to `~/.config/opencode/commands/<name>.md`; `opencode.json` is deep-merged (never overwritten wholesale).
|
|
11
12
|
- **ASCII-first:** Use ASCII unless the file already contains Unicode.
|
|
12
13
|
|
|
13
14
|
## Adding a New Target Provider (e.g., Codex)
|
|
@@ -46,3 +47,7 @@ Add a new provider when at least one of these is true:
|
|
|
46
47
|
- You can write fixtures + tests that validate the mapping.
|
|
47
48
|
|
|
48
49
|
Avoid adding a provider if the target spec is unstable or undocumented.
|
|
50
|
+
|
|
51
|
+
## Repository Docs Convention
|
|
52
|
+
|
|
53
|
+
- **Plans** live in `docs/plans/` and track implementation progress.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.34.2](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.1...v2.34.2) (2026-03-03)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **release:** add package repository metadata ([eab77bc](https://github.com/EveryInc/compound-engineering-plugin/commit/eab77bc5b5361dc73e2ec8aa4678c8bb6114f6e7))
|
|
7
|
+
|
|
8
|
+
## [2.34.1](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.0...v2.34.1) (2026-03-03)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **release:** align cli versioning with repo tags ([7c58eee](https://github.com/EveryInc/compound-engineering-plugin/commit/7c58eeeec6cf33675cbe2b9639c7d69b92ecef60))
|
|
14
|
+
|
|
1
15
|
# Changelog
|
|
2
16
|
|
|
3
17
|
All notable changes to the `@every-env/compound-plugin` CLI tool will be documented in this file.
|
|
@@ -5,6 +19,68 @@ All notable changes to the `@every-env/compound-plugin` CLI tool will be documen
|
|
|
5
19
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
20
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
21
|
|
|
22
|
+
Release numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering.
|
|
23
|
+
|
|
24
|
+
## [2.34.0] - 2026-03-03
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- **Sync parity across supported providers** — `sync` now 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.
|
|
29
|
+
- **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.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- **Global user config targets** — Copilot sync now writes to `~/.copilot/` and Gemini sync writes to `~/.gemini/`, matching current documented user-level config locations.
|
|
34
|
+
- **Gemini skill deduplication** — Gemini sync now avoids mirroring skills that Gemini already resolves from `~/.agents/skills`, preventing duplicate skill conflict warnings after sync.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- **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.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## [0.12.0] - 2026-03-01
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
- **Auto-detect install targets** — `install --to all` and `convert --to all` auto-detect installed AI coding tools and install to all of them in one command
|
|
47
|
+
- **Gemini sync** — `sync --target gemini` symlinks personal skills to `.gemini/skills/` and merges MCP servers into `.gemini/settings.json`
|
|
48
|
+
- **Sync all targets** — `sync --target all` syncs personal config to all detected tools
|
|
49
|
+
- **Tool detection utility** — Checks config directories for OpenCode, Codex, Droid, Cursor, Pi, and Gemini
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## [0.11.0] - 2026-03-01
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **OpenClaw target** — `--to openclaw` converts plugins to OpenClaw format. Agents become `.md` files, commands become `.md` files, pass-through skills copy unchanged, and MCP servers are written to `openclaw-extension.json`. Output goes to `~/.openclaw/extensions/<plugin-name>/` by default. Use `--openclaw-home` to override. ([#217](https://github.com/EveryInc/compound-engineering-plugin/pull/217)) — thanks [@TrendpilotAI](https://github.com/TrendpilotAI)!
|
|
58
|
+
- **Qwen Code target** — `--to qwen` converts plugins to Qwen Code extension format. Agents become `.yaml` files with Qwen-compatible fields, commands become `.md` files, MCP servers write to `qwen-extension.json`, and a `QWEN.md` context file is generated. Output goes to `~/.qwen/extensions/<plugin-name>/` by default. Use `--qwen-home` to override. ([#220](https://github.com/EveryInc/compound-engineering-plugin/pull/220)) — thanks [@rlam3](https://github.com/rlam3)!
|
|
59
|
+
- **Windsurf target** — `--to windsurf` converts plugins to Windsurf format. Claude agents become Windsurf skills (`skills/{name}/SKILL.md`), commands become flat workflows (`global_workflows/{name}.md` for global scope, `workflows/{name}.md` for workspace), and pass-through skills copy unchanged. MCP servers write to `mcp_config.json` (machine-readable, merged with existing config). ([#202](https://github.com/EveryInc/compound-engineering-plugin/pull/202)) — thanks [@rburnham52](https://github.com/rburnham52)!
|
|
60
|
+
- **Global scope support** — New `--scope global|workspace` flag (generic, Windsurf as first adopter). `--to windsurf` defaults to global scope (`~/.codeium/windsurf/`), making installed skills, workflows, and MCP servers available across all projects. Use `--scope workspace` for project-level `.windsurf/` output.
|
|
61
|
+
- **`mcp_config.json` integration** — 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 with `0o600` permissions.
|
|
62
|
+
- **Shared utilities** — Extracted `resolveTargetOutputRoot` to `src/utils/resolve-output.ts` and `hasPotentialSecrets` to `src/utils/secrets.ts` to eliminate duplication.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
- **OpenClaw code injection** — `generateEntryPoint` now uses `JSON.stringify()` for all string interpolation (was escaping only `"`, leaving `\n`/`\\` unguarded).
|
|
67
|
+
- **Qwen `plugin.manifest.name`** — context file header was `# undefined` due to using `plugin.name` (which doesn't exist on `ClaudePlugin`); fixed to `plugin.manifest.name`.
|
|
68
|
+
- **Qwen remote MCP servers** — curl fallback removed; HTTP/SSE servers are now skipped with a warning (Qwen only supports stdio transport).
|
|
69
|
+
- **`--openclaw-home` / `--qwen-home` CLI flags** — wired through to `resolveTargetOutputRoot` so custom home directories are respected.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## [0.9.1] - 2026-02-20
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
|
|
77
|
+
- **Remove docs/reports and docs/decisions directories** — only `docs/plans/` is retained as living documents that track implementation progress
|
|
78
|
+
- **OpenCode commands as Markdown** — commands are now `.md` files with deep-merged config, permissions default to none ([#201](https://github.com/EveryInc/compound-engineering-plugin/pull/201)) — thanks [@0ut5ider](https://github.com/0ut5ider)!
|
|
79
|
+
- **Fix changelog GitHub link** ([#215](https://github.com/EveryInc/compound-engineering-plugin/pull/215)) — thanks [@XSAM](https://github.com/XSAM)!
|
|
80
|
+
- **Update Claude Code install command in README** ([#218](https://github.com/EveryInc/compound-engineering-plugin/pull/218)) — thanks [@ianguelman](https://github.com/ianguelman)!
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
8
84
|
## [0.9.0] - 2026-02-17
|
|
9
85
|
|
|
10
86
|
### Added
|
package/CLAUDE.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# compound-engineering-plugin - Claude Code Plugin Marketplace
|
|
2
2
|
|
|
3
3
|
This repository is a Claude Code plugin marketplace that distributes the `compound-engineering` plugin to developers building with AI-powered tools.
|
|
4
4
|
|
|
5
5
|
## Repository Structure
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
|
|
8
|
+
compound-engineering-plugin/
|
|
9
9
|
├── .claude-plugin/
|
|
10
10
|
│ └── marketplace.json # Marketplace catalog (lists available plugins)
|
|
11
11
|
├── docs/ # Documentation site (GitHub Pages)
|
|
@@ -38,6 +38,19 @@ When working on this repository, follow the compounding engineering process:
|
|
|
38
38
|
|
|
39
39
|
## Working with This Repository
|
|
40
40
|
|
|
41
|
+
## CLI Release Versioning
|
|
42
|
+
|
|
43
|
+
The repository has two separate version surfaces:
|
|
44
|
+
|
|
45
|
+
1. **Root CLI package** — `package.json`, root `CHANGELOG.md`, and repo `v*` tags all share one release line managed by semantic-release on `main`.
|
|
46
|
+
2. **Embedded marketplace plugin metadata** — `plugins/compound-engineering/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` track the distributed Claude plugin metadata and can differ from the root CLI package version.
|
|
47
|
+
|
|
48
|
+
Rules:
|
|
49
|
+
|
|
50
|
+
- Do not start a separate root CLI version stream. The root CLI follows the repo tag line.
|
|
51
|
+
- Do not hand-bump the root CLI `package.json` or root `CHANGELOG.md` for routine feature work. Use conventional commits and let semantic-release write the released root version back to git.
|
|
52
|
+
- Continue updating embedded plugin metadata when the plugin contents themselves change.
|
|
53
|
+
|
|
41
54
|
### Adding a New Plugin
|
|
42
55
|
|
|
43
56
|
1. Create plugin directory: `plugins/new-plugin-name/`
|
|
@@ -261,7 +274,7 @@ python -m http.server 8000
|
|
|
261
274
|
1. Install the marketplace locally:
|
|
262
275
|
|
|
263
276
|
```bash
|
|
264
|
-
claude /plugin marketplace add /Users/yourusername/
|
|
277
|
+
claude /plugin marketplace add /Users/yourusername/compound-engineering-plugin
|
|
265
278
|
```
|
|
266
279
|
|
|
267
280
|
2. Install the plugin:
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ A Claude Code plugin marketplace featuring the **Compound Engineering Plugin**
|
|
|
8
8
|
## Claude Code Install
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
/plugin marketplace add
|
|
11
|
+
/plugin marketplace add EveryInc/compound-engineering-plugin
|
|
12
12
|
/plugin install compound-engineering
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -18,9 +18,9 @@ A Claude Code plugin marketplace featuring the **Compound Engineering Plugin**
|
|
|
18
18
|
/add-plugin compound-engineering
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
## OpenCode, Codex, Droid, Pi, Gemini, Copilot &
|
|
21
|
+
## OpenCode, Codex, Droid, Pi, Gemini, Copilot, Kiro, Windsurf, OpenClaw & Qwen (experimental) Install
|
|
22
22
|
|
|
23
|
-
This repo includes a Bun/TypeScript CLI that converts Claude Code plugins to OpenCode, Codex, Factory Droid, Pi, Gemini CLI, GitHub Copilot, and
|
|
23
|
+
This repo includes a Bun/TypeScript CLI that converts Claude Code plugins to OpenCode, Codex, Factory Droid, Pi, Gemini CLI, GitHub Copilot, Kiro CLI, Windsurf, OpenClaw, and Qwen Code.
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
26
|
# convert the compound-engineering plugin into OpenCode format
|
|
@@ -43,6 +43,21 @@ bunx @every-env/compound-plugin install compound-engineering --to copilot
|
|
|
43
43
|
|
|
44
44
|
# convert to Kiro CLI format
|
|
45
45
|
bunx @every-env/compound-plugin install compound-engineering --to kiro
|
|
46
|
+
|
|
47
|
+
# convert to OpenClaw format
|
|
48
|
+
bunx @every-env/compound-plugin install compound-engineering --to openclaw
|
|
49
|
+
|
|
50
|
+
# convert to Windsurf format (global scope by default)
|
|
51
|
+
bunx @every-env/compound-plugin install compound-engineering --to windsurf
|
|
52
|
+
|
|
53
|
+
# convert to Windsurf workspace scope
|
|
54
|
+
bunx @every-env/compound-plugin install compound-engineering --to windsurf --scope workspace
|
|
55
|
+
|
|
56
|
+
# convert to Qwen Code format
|
|
57
|
+
bunx @every-env/compound-plugin install compound-engineering --to qwen
|
|
58
|
+
|
|
59
|
+
# auto-detect installed tools and install to all
|
|
60
|
+
bunx @every-env/compound-plugin install compound-engineering --to all
|
|
46
61
|
```
|
|
47
62
|
|
|
48
63
|
Local dev:
|
|
@@ -51,21 +66,34 @@ Local dev:
|
|
|
51
66
|
bun run src/index.ts install ./plugins/compound-engineering --to opencode
|
|
52
67
|
```
|
|
53
68
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
<details>
|
|
70
|
+
<summary>Output format details per target</summary>
|
|
71
|
+
|
|
72
|
+
| Target | Output path | Notes |
|
|
73
|
+
|--------|------------|-------|
|
|
74
|
+
| `opencode` | `~/.config/opencode/` | Commands as `.md` files; `opencode.json` MCP config deep-merged; backups made before overwriting |
|
|
75
|
+
| `codex` | `~/.codex/prompts` + `~/.codex/skills` | Each command becomes a prompt + skill pair; descriptions truncated to 1024 chars |
|
|
76
|
+
| `droid` | `~/.factory/` | Tool names mapped (`Bash`→`Execute`, `Write`→`Create`); namespace prefixes stripped |
|
|
77
|
+
| `pi` | `~/.pi/agent/` | Prompts, skills, extensions, and `mcporter.json` for MCPorter interoperability |
|
|
78
|
+
| `gemini` | `.gemini/` | Skills from agents; commands as `.toml`; namespaced commands become directories (`workflows:plan` → `commands/workflows/plan.toml`) |
|
|
79
|
+
| `copilot` | `.github/` | Agents as `.agent.md` with Copilot frontmatter; MCP env vars prefixed with `COPILOT_MCP_` |
|
|
80
|
+
| `kiro` | `.kiro/` | Agents as JSON configs + prompt `.md` files; only stdio MCP servers supported |
|
|
81
|
+
| `openclaw` | `~/.openclaw/extensions/<plugin>/` | Entry-point TypeScript skill file; `openclaw-extension.json` for MCP servers |
|
|
82
|
+
| `windsurf` | `~/.codeium/windsurf/` (global) or `.windsurf/` (workspace) | Agents become skills; commands become flat workflows; `mcp_config.json` merged |
|
|
83
|
+
| `qwen` | `~/.qwen/extensions/<plugin>/` | Agents as `.yaml`; env vars with placeholders extracted as settings; colon separator for nested commands |
|
|
61
84
|
|
|
62
85
|
All provider targets are experimental and may change as the formats evolve.
|
|
63
86
|
|
|
87
|
+
</details>
|
|
88
|
+
|
|
64
89
|
## Sync Personal Config
|
|
65
90
|
|
|
66
|
-
Sync your personal Claude Code config (`~/.claude/`) to other AI coding tools:
|
|
91
|
+
Sync your personal Claude Code config (`~/.claude/`) to other AI coding tools. Omit `--target` to sync to all detected supported tools automatically:
|
|
67
92
|
|
|
68
93
|
```bash
|
|
94
|
+
# Sync to all detected tools (default)
|
|
95
|
+
bunx @every-env/compound-plugin sync
|
|
96
|
+
|
|
69
97
|
# Sync skills and MCP servers to OpenCode
|
|
70
98
|
bunx @every-env/compound-plugin sync --target opencode
|
|
71
99
|
|
|
@@ -75,19 +103,58 @@ bunx @every-env/compound-plugin sync --target codex
|
|
|
75
103
|
# Sync to Pi
|
|
76
104
|
bunx @every-env/compound-plugin sync --target pi
|
|
77
105
|
|
|
78
|
-
# Sync to Droid
|
|
106
|
+
# Sync to Droid
|
|
79
107
|
bunx @every-env/compound-plugin sync --target droid
|
|
80
108
|
|
|
81
109
|
# Sync to GitHub Copilot (skills + MCP servers)
|
|
82
110
|
bunx @every-env/compound-plugin sync --target copilot
|
|
111
|
+
|
|
112
|
+
# Sync to Gemini (skills + MCP servers)
|
|
113
|
+
bunx @every-env/compound-plugin sync --target gemini
|
|
114
|
+
|
|
115
|
+
# Sync to Windsurf
|
|
116
|
+
bunx @every-env/compound-plugin sync --target windsurf
|
|
117
|
+
|
|
118
|
+
# Sync to Kiro
|
|
119
|
+
bunx @every-env/compound-plugin sync --target kiro
|
|
120
|
+
|
|
121
|
+
# Sync to Qwen
|
|
122
|
+
bunx @every-env/compound-plugin sync --target qwen
|
|
123
|
+
|
|
124
|
+
# Sync to OpenClaw (skills only; MCP is validation-gated)
|
|
125
|
+
bunx @every-env/compound-plugin sync --target openclaw
|
|
126
|
+
|
|
127
|
+
# Sync to all detected tools
|
|
128
|
+
bunx @every-env/compound-plugin sync --target all
|
|
83
129
|
```
|
|
84
130
|
|
|
85
131
|
This syncs:
|
|
86
132
|
- Personal skills from `~/.claude/skills/` (as symlinks)
|
|
133
|
+
- Personal slash commands from `~/.claude/commands/` (as provider-native prompts, workflows, or converted skills where supported)
|
|
87
134
|
- MCP servers from `~/.claude/settings.json`
|
|
88
135
|
|
|
89
136
|
Skills are symlinked (not copied) so changes in Claude Code are reflected immediately.
|
|
90
137
|
|
|
138
|
+
Supported sync targets:
|
|
139
|
+
- `opencode`
|
|
140
|
+
- `codex`
|
|
141
|
+
- `pi`
|
|
142
|
+
- `droid`
|
|
143
|
+
- `copilot`
|
|
144
|
+
- `gemini`
|
|
145
|
+
- `windsurf`
|
|
146
|
+
- `kiro`
|
|
147
|
+
- `qwen`
|
|
148
|
+
- `openclaw`
|
|
149
|
+
|
|
150
|
+
Notes:
|
|
151
|
+
- Codex sync preserves non-managed `config.toml` content and now includes remote MCP servers.
|
|
152
|
+
- Command sync reuses each provider's existing Claude command conversion, so some targets receive prompts or workflows while others receive converted skills.
|
|
153
|
+
- Copilot sync writes personal skills to `~/.copilot/skills/` and MCP config to `~/.copilot/mcp-config.json`.
|
|
154
|
+
- Gemini sync writes MCP config to `~/.gemini/` and avoids mirroring skills that Gemini already discovers from `~/.agents/skills`, which prevents duplicate-skill warnings.
|
|
155
|
+
- Droid, Windsurf, Kiro, and Qwen sync merge MCP servers into the provider's documented user config.
|
|
156
|
+
- OpenClaw currently syncs skills only. Personal command sync is skipped because this repo does not yet have a documented user-level OpenClaw command surface, and MCP sync is skipped because the current official OpenClaw docs do not clearly document an MCP server config contract.
|
|
157
|
+
|
|
91
158
|
## Workflow
|
|
92
159
|
|
|
93
160
|
```
|
|
@@ -96,10 +163,10 @@ Plan → Work → Review → Compound → Repeat
|
|
|
96
163
|
|
|
97
164
|
| Command | Purpose |
|
|
98
165
|
|---------|---------|
|
|
99
|
-
| `/
|
|
100
|
-
| `/
|
|
101
|
-
| `/
|
|
102
|
-
| `/
|
|
166
|
+
| `/ce:plan` | Turn feature ideas into detailed implementation plans |
|
|
167
|
+
| `/ce:work` | Execute plans with worktrees and task tracking |
|
|
168
|
+
| `/ce:review` | Multi-agent code review before merging |
|
|
169
|
+
| `/ce:compound` | Document learnings to make future work easier |
|
|
103
170
|
|
|
104
171
|
Each cycle compounds: plans inform future plans, reviews catch more issues, patterns get documented.
|
|
105
172
|
|