| claude |
packaged_runtime |
hook_runtime |
optional |
plugin |
marketplace or local plugin install |
reload plugins |
reload or restart |
~/.claude/plugins/... |
production-ready package+runtime lane |
package-only config lane plus public-stable stable-subset runtime |
yes |
yes |
yes |
skills, mcp_servers |
package_metadata, hooks, commands, agents, settings, lsp, user_config, manifest_extra |
package_metadata=plugin/targets/claude/package.yaml, hooks=plugin/targets/claude/hooks/hooks.json, settings=plugin/targets/claude/settings.json, lsp=plugin/targets/claude/lsp.json, user_config=plugin/targets/claude/user-config.json, manifest_extra=plugin/targets/claude/manifest.extra.json |
hooks=stable, commands=stable, agents=beta, contexts=unsupported, settings=stable, lsp=beta, user_config=beta, manifest_extra=stable |
.claude-plugin/plugin.json, settings.json, .lsp.json, skills/** (when portable skills are authored), hooks/** (when hooks are authored), commands/** (when commands are authored), agents/** (when agents are authored), .mcp.json (when portable MCP is authored) |
Claude plugin packages compile portable skills and MCP plus target-native commands, agents, settings, LSP, and user config without launcher.yaml, and optionally add launcher-backed hooks runtime surfaces. |
| codex-package |
packaged_runtime |
plugin_package |
ignored |
plugin |
plugin directory or marketplace cache |
package authoring workspace |
plugin reload or restart |
~/.codex/plugins/... |
production-ready package lane |
official Codex plugin package only |
yes |
yes |
yes |
skills, mcp_servers |
package_metadata, interface, manifest_extra, app_manifest |
package_metadata=plugin/targets/codex-package/package.yaml, interface=plugin/targets/codex-package/interface.json, manifest_extra=plugin/targets/codex-package/manifest.extra.json, app_manifest=plugin/targets/codex-package/app.json |
interface=stable, manifest_extra=stable, app_manifest=beta, agents=unsupported, contexts=unsupported, commands=unsupported |
.codex-plugin/plugin.json, .app.json (when app_manifest is enabled), skills/** (when portable skills are authored), .mcp.json (when portable MCP is authored) |
Codex package lane compiles the official plugin bundle from canonical plugin-authored inputs: plugin.json plus shared package metadata, optional interface/app assets, and optional MCP wiring. |
| codex-runtime |
packaged_runtime |
local_runtime_integration |
required |
plugin |
repo-local config wiring |
local plugin workspace |
config reload or restart |
.codex/config.toml |
production-ready runtime lane |
public-stable notify runtime |
yes |
yes |
yes |
- |
package_metadata, commands, contexts, config_extra |
package_metadata=plugin/targets/codex-runtime/package.yaml, config_extra=plugin/targets/codex-runtime/config.extra.toml |
config_extra=stable, commands=beta, contexts=beta |
.codex/config.toml, commands/** (when commands are authored), contexts/** (when contexts are authored) |
Codex runtime lane owns repo-local notify integration and managed config.toml, separate from the official package bundle. |
| cursor |
ide_plugin |
plugin_package |
ignored |
plugin |
marketplace or /add-plugin install |
package authoring workspace |
plugin reload or restart |
.cursor-plugin/plugin.json |
packaging-only target |
Cursor marketplace plugin bundle with portable skills and optional portable MCP |
yes |
yes |
yes |
skills, mcp_servers |
- |
- |
rules=unsupported, agents_markdown=unsupported, hooks=unsupported, commands=unsupported, subagents=unsupported |
.cursor-plugin/plugin.json, skills/** (when portable skills are authored), .mcp.json (when portable MCP is authored) |
Cursor plugin packages compile portable skills and optional shared MCP into the current observed .cursor-plugin bundle shape without inventing unsupported target-native authoring surfaces. |
| cursor-workspace |
code_plugin |
workspace_config_lane |
ignored |
workspace |
workspace config files |
config authoring workspace |
config reload or restart |
.cursor/mcp.json |
packaging-only target |
workspace-config lane with first-class MCP config and project rules |
yes |
yes |
yes |
mcp_servers |
rules, agents_markdown |
agents_markdown=plugin/targets/cursor-workspace/AGENTS.md |
mcp=stable, rules=stable, agents_markdown=stable |
.cursor/mcp.json (when portable MCP is authored), .cursor/rules/** (when rules are authored) |
Cursor workspace compiles as a repo-local config lane with generated .cursor MCP config, project rules, and authored Cursor AGENTS content merged into the generated root AGENTS.md boundary file. |
| gemini |
extension_package |
mcp_extension |
optional |
extension |
copy install |
link |
restart required |
~/.gemini/extensions/ |
production-ready extension packaging lane |
production-ready extension packaging plus optional production-ready 9-hook Go runtime |
yes |
yes |
yes |
skills, mcp_servers |
package_metadata, hooks, commands, policies, themes, settings, contexts, manifest_extra |
package_metadata=plugin/targets/gemini/package.yaml, manifest_extra=plugin/targets/gemini/manifest.extra.json |
commands=stable, hooks=stable, policies=stable, settings=stable, themes=stable, contexts=stable, manifest_extra=stable, agents=preview |
gemini-extension.json, skills/** (when portable skills are authored), hooks/** (when hooks are authored), commands/** (when commands are authored), policies/** (when policies are authored), contexts/** (when contexts are authored), GEMINI.md or selected root context (when contexts are authored) |
Gemini compiles as an official-style extension package with MCP, a primary root context, target-native extension assets, and an optional production-ready Go hook runtime lane. |
| opencode |
code_plugin |
workspace_config_lane |
ignored |
workspace |
workspace config file |
config authoring workspace |
config reload or restart |
opencode.json |
packaging-only target |
workspace-config lane with first-class npm plugin refs including tuple-form options, MCP, skills, commands, agents, default_agent, instructions, permission, themes, beta standalone tools with dedicated live evidence, stable official-style local JS/TS plugins plus shared dependency metadata, JSON/JSONC native import, explicit user-scope import, and sanctioned config.extra passthrough for broader product config |
yes |
yes |
yes |
skills, mcp_servers |
package_metadata, config_extra, default_agent, instructions_config, permission_config, commands, agents, themes, tools, local_plugin_code, local_plugin_dependencies |
package_metadata=plugin/targets/opencode/package.yaml, config_extra=plugin/targets/opencode/config.extra.json, default_agent=plugin/targets/opencode/default_agent.txt, instructions_config=plugin/targets/opencode/instructions.yaml, permission_config=plugin/targets/opencode/permission.json, local_plugin_dependencies=plugin/targets/opencode/package.json |
plugins=stable, mcp=stable, skills=stable, commands=stable, agents=stable, themes=stable, tools=beta, config_extra=stable, agent_config=stable, default_agent=stable, permission_config=stable, instructions_config=stable, modes=unsupported, local_plugin_code=stable, custom_tools=beta, local_plugin_dependencies=stable |
opencode.json, .opencode/package.json, .opencode/skills/** (when portable skills are authored), .opencode/commands/** (when commands are authored), .opencode/agents/** (when agents are authored), .opencode/themes/** (when themes are authored), .opencode/tools/** (when tools are authored), .opencode/plugins/** (when local_plugin_code is authored) |
OpenCode compiles as a workspace-config lane with canonical plugin-authored inputs for npm plugin refs including tuple-form options, shared MCP, skills, commands, agents, default_agent, instructions, permission, themes, beta standalone tools with their own live-evidence path, stable official-style local JS/TS plugins plus shared package metadata for tools and plugins, JSON/JSONC native import plus explicit user-scope import, and sanctioned config.extra passthrough for broader product config. |