compound-engineering-plugin
@every-env/compound-plugin — Claude Code プラグイン × マルチツール変換 CLI
二つの役割
このリポジトリは二つの顔を持つ。一つは Claude Code 向けの「複利エンジニアリング」プラグイン(エージェント・スラッシュコマンド・スキル・MCP の束)。もう一つは、そのプラグインを OpenCode / Codex / Cursor / Gemini など 11 以上のツールへ変換・インストールする CLI(compound-plugin)。
11+変換先ツール
4CLI コマンド
20+エージェント
MCPContext7 連携
複利エンジニアリングとは
「同じ作業を次は楽にする」思想。計画・実装・レビュー・知識蓄積のサイクルを自動化し、エージェントの働きを複利で積み上げる。プラグインはこのワークフローを /ce:ideate 〜 /ce:compound のコマンドとして提供する。
データフロー(install / convert / sync)
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#f3f4f6', 'primaryTextColor': '#111827', 'primaryBorderColor': '#d1d5db', 'lineColor': '#6b7280', 'secondaryColor': '#fef9ee', 'tertiaryColor': '#f0f9ff', 'clusterBkg': '#f9fafb', 'clusterBorder': '#e5e7eb', 'titleColor': '#111827', 'edgeLabelBackground': '#ffffff', 'fontSize': '13px'}}}%%
flowchart TD
subgraph repo["プラグインリポジトリ"]
CE["plugins/compound-engineering/\n.claude-plugin/plugin.json\nagents/ commands/ skills/"]
MP[".claude-plugin/marketplace.json"]
end
subgraph cli["CLI — compound-plugin"]
CMD_I["install"]
CMD_C["convert"]
CMD_S["sync"]
CMD_L["list"]
end
subgraph pipeline["変換パイプライン"]
LP["loadClaudePlugin\nsrc/parsers/claude.ts"]
CV["コンバータ\nsrc/converters/claude-to-*.ts"]
WR["Writer\nsrc/targets/*.ts"]
end
subgraph sync_blk["sync フロー"]
CH["~/.claude/\nskills / commands / settings"]
SR["sync/registry.ts"]
end
subgraph out["インストール先"]
T1["opencode"]
T2["codex / droid"]
T3["cursor / copilot\ngemini / kiro / ..."]
end
CE --> LP
CMD_I --> LP
CMD_C --> LP
LP --> CV
CV --> WR
WR --> T1
WR --> T2
WR --> T3
CMD_S --> CH
CH --> SR
SR --> T1
SR --> T2
SR --> T3
MP -.->|"参照"| CE
CMD_L -.->|"一覧"| MP
install / convert は loadClaudePlugin でプラグインを解析しコンバータ → Writer を経由して各ツールへ書き出す。sync は ~/.claude/ の個人設定を直接同期する。
ディレクトリ構成
| パス | 役割 |
|---|---|
src/ | CLI エントリ・パーサ・コンバータ・Writer・sync 実装 |
plugins/compound-engineering/ | プラグイン本体(agents / commands / skills / plugin.json) |
plugins/coding-tutor/ | 同梱の別プラグイン |
.claude-plugin/ | マーケットプレイス用カタログ(marketplace.json) |
tests/ | コンバータ・Writer・CLI のテストとフィクスチャ |
docs/ | 要件・仕様・ターゲット別ドキュメント |
compound-engineering の構成要素
| 種別 | 内容・例 | 説明 |
|---|---|---|
agents/ |
review-agent, research-agent 等 20+ | コードレビュー・リサーチ・計画立案などに特化。参照は compound-engineering:<category>:<name> 形式で名前衝突を防ぐ |
commands/ |
/ce:ideate, /ce:plan, /ce:compound… | 複利エンジニアリングのフェーズに対応するスラッシュコマンド群 |
skills/ |
SKILL.md ファイル群 | コマンド・エージェントが利用する再利用可能なスキル |
mcpServers |
Context7(HTTP) | https://mcp.context7.com/mcp 経由のライブラリドキュメント参照。CONTEXT7_API_KEY でレート制限を回避可能 |
plugin.json の主なフィールド
name/version— パッケージ名と NPM バージョン(ルートpackage.jsonと同期)agents/commands/skills— 各ディレクトリへのパス指定mcpServers— 使用 MCP の定義(type: "http"+url)
バージョン同期: ルートの
package.json と .claude-plugin/plugin.json の version は常に揃える運用(例: 2.50.0)。リリース前は bun run release:validate で整合性を確認する。
サブコマンド一覧
| コマンド | 用途 | 主な引数・フラグ |
|---|---|---|
install |
プラグイン名またはパスを読み込みターゲット形式へ変換してインストール | plugin(必須), --to, -o/--output, --scope, --also, --permissions |
convert |
ローカルプラグインディレクトリを変換(--permissions デフォルトが broad) |
source(必須), install と同系フラグ |
sync |
~/.claude/ のスキル・コマンド・MCP を各ツールへ同期 |
--target(default: all), --claude-home |
list |
リポジトリ内 plugins/ のプラグイン名を一覧表示 |
引数なし |
--to で指定できるターゲット
以下のいずれかを指定(all は全ターゲットへ同時インストール):
opencode codex droid cursor pi
copilot gemini kiro windsurf openclaw qwen all
主なフラグ詳細
| フラグ | 値 | 説明 |
|---|---|---|
--permissions | none / broad / from-commands | OpenCode 向け権限マッピング(install デフォルト: none、convert デフォルト: broad) |
--agent-mode | primary / subagent | エージェントの動作モード(デフォルト: subagent) |
--infer-temperature | boolean | タスク種別からモデル温度を自動推定(デフォルト: true) |
--scope | global / workspace | Windsurf 等スコープ対応ターゲット向け |
--also | カンマ区切り | 追加ターゲットを指定(例: --also codex,pi) |
Claude Code — マーケットプレイス
# マーケットプレイスから追加
/plugin marketplace add EveryInc/compound-engineering-plugin
# インストール
/plugin install compound-engineering
CLI で他ツールへ変換
# OpenCode へインストール
bunx @every-env/compound-plugin install compound-engineering --to opencode
# 全ターゲットへ一括インストール
bunx @every-env/compound-plugin install compound-engineering --to all
# ~/.claude/ の個人設定を同期
bunx @every-env/compound-plugin sync
ローカル開発
bun install
bun test
bun run release:validate
Claude Code でローカルプラグインを使う場合: claude --plugin-dir <path>/plugins/compound-engineering のエイリアスを設定する。
symlink 動作:
sync コマンドは個人スキルをコピーではなく シンボリックリンク で配置するため、~/.claude/ 側の変更が即反映される。
公式・関連
- GitHub: EveryInc/compound-engineering-plugin — 本体リポジトリ(TypeScript / Bun)
- npm: @every-env/compound-plugin — 公開パッケージ
- Context7 MCP — ライブラリドキュメントのリアルタイム参照