Skip to main content

Adapter Capability Matrix

Living reference for framework capabilities vs. adapter implementations. Tracks what each adapter emits, what each platform supports natively, and where gaps remain.

Legend

SymbolMeaning
YAdapter emits files for this capability
~Platform reads canonical .agents/ paths natively; no adapter output needed
BBridge: content folded into an instruction file the platform reads
--Platform has no known support for this capability
skipPlatform supports this but only globally; intentionally omitted

Implementation Matrix

Adapterrulesagentsskillspromptscommandsmcpguardrailshooksmodel
cursorYYY--YY--YY
copilotYYYYYY----Y
claudeYYY--YY--YY
clineYYY--YY--YY
codexBBY----Y----Y
geminiYBY--YY--YY
windsurfYBY--YY----Y
ampBBY--~Y----Y
opencodeYYY--YY----Y
aiderBBY----------Y
kiroYBY----Y----Y
gooseBBB----------Y
zedBB------------Y

Agent Model Customization

All adapters emit model preferences when configured. See Model Selection for configuration and aliases.

AdapterEmissionNotes
cursorNativemodel: in agent YAML frontmatter
copilotNative (VS Code)model: in agent YAML; ignored on github.com
opencodeNativemodel: provider/id in agent config
codexNativemodel = "id" in TOML agent section
claudeGuidanceText in agent content
clineGuidanceText in roleDefinition
geminiGuidanceText in GEMINI.md
windsurfGuidanceText in .windsurfrules
ampGuidanceText in .amp/AGENTS.md
aiderGuidanceText in CONVENTIONS.md
kiroGuidanceText in .kiro/steering/hatch3r-agents.md
gooseGuidanceText in .goosehints
zedGuidanceText in .rules

Secret Management

All MCP secrets are centralized in .env.mcp at the project root.

AdapterSecret loading methodAuto-loads .env.mcp?
copilotenvFile field per STDIO serverYes
cursor${env:VAR} from process envNo
claude${env:VAR} from process envNo
cline${env:VAR} from process envNo
opencode${env:VAR} from process envNo
amp${env:VAR} from process envNo
gemini${env:VAR} from process envNo
codex${env:VAR} from process envNo
windsurf${env:VAR} from process envNo
aiderN/ANo
kiro${env:VAR} from process envNo
gooseN/A (global MCP only)No
zedN/A (global MCP only)No

For editors that don't auto-load, source before launching:

set -a && source .env.mcp && set +a && <editor-command> .

Intentional Omissions

AdapterCapabilityReason
windsurfhooksNo documented hook/event system
opencodehooksNo documented hook/event system
amphooksNo documented hook/event system
codexhooksNo documented hook/event system
aidermcpNo project-level MCP config format
aiderhooksNo documented hook/event system
goosemcpGlobal-only MCP config
goosehooksNo documented hook/event system
kirohooksNo documented hook/event system
zedmcpGlobal-only MCP config
zedhooksNo documented hook/event system
zedskillsNo skills concept; rules cover all guidance
allguardrailsCanonical location exists for future use
allprompts (except copilot)Only Copilot has dedicated prompts format