Targets
Targets are AI tools that grekt syncs artifacts to.
Sync types
Each target syncs differently depending on how the AI tool reads configuration:
| Sync type | Behavior |
|---|---|
| Folder | Creates directories per category (agents, skills, commands...) |
| Rules only | Merges all content into a single entry point file |
Some targets support both.
Supported targets
| Target | Entry Point | Type | MCP |
|---|---|---|---|
claude | .claude/CLAUDE.md | Folder + Rules | Yes |
kiro | .kiro/steering/grekt.md | Folder | Yes |
cursor | .cursorrules | Folder + Rules | Yes |
copilot | .github/copilot-instructions.md | Folder + Rules | Yes |
opencode | .opencode/ | Folder | Yes |
openclaw | skills/ + AGENTS.md | Folder | No |
windsurf | .windsurfrules | Folder + Rules | No |
cline | .clinerules/ | Folder | No |
aider | CONVENTIONS.md | Rules only | No |
continue | .continue/ | Folder | No |
amazonq | .amazonq/ | Folder | Yes |
codex | .agents/ | Folder | Yes |
gemini | .agents/ | Folder | Yes |
jules | .agents/ | Folder | No |
zed | .agents/ | Folder | Yes |
goose | .agents/ | Folder | No |
devin | .agents/ | Folder | No |
roocode | .agents/ | Folder | Yes |
kilocode | .agents/ | Folder | Yes |
amp | .agents/ | Folder | Yes |
warp | .agents/ | Folder | No |
global | .agents/ | Folder | No |
Target details
Claude
Syncs to Claude Code's .claude/ directory. Creates folder structure for agents, skills, and commands. Injects bootstrap content in CLAUDE.md.
- Entry point:
.claude/CLAUDE.mdorCLAUDE.md - Directory:
.claude/ - Categories: All (agents, skills, commands, rules)
- MCP support:
.mcp.json - Creates a skill router at
.claude/skills/grekt/SKILL.md
.claude/
├── agents/
├── skills/
│ └── grekt/
│ └── SKILL.md
├── commands/
└── CLAUDE.mdKiro
Syncs to Kiro's .kiro/ directory. Skills are placed in .kiro/skills/ and instructions go in .kiro/steering/.
- Entry point:
.kiro/steering/grekt.md - Directory:
.kiro/ - Categories: Skills only
- MCP support:
.kiro/settings/mcp.json - Strips Claude-specific frontmatter fields (
argument-hint,disable-model-invocation,user-invocable,model,context,agent,hooks,allowed-tools) - Converts grekt format to Kiro-native format
.kiro/
├── steering/
│ └── grekt.md
├── skills/
│ └── {artifact}-{skill-name}/
│ └── SKILL.md
└── settings/
└── mcp.jsonCursor
Syncs to Cursor's .cursor/ directory. Creates folder structure for agents, skills, and rules. Injects bootstrap content in .cursorrules.
- Entry point:
.cursorrules - Directory:
.cursor/ - Categories: All (agents, skills, commands, rules)
- MCP support:
.cursor/mcp.json - Creates a skill router at
.cursor/skills/grekt/SKILL.md
.cursor/
├── agents/
├── skills/
│ └── grekt/
│ └── SKILL.md
├── rules/
└── commands/Copilot
Syncs to GitHub Copilot's .github/ directory. Creates folder structure for agents, skills, and rules. Injects bootstrap content in copilot-instructions.md.
- Entry point:
.github/copilot-instructions.md - Directory:
.github/ - Categories: All (agents, skills, commands, rules)
- MCP support:
.vscode/mcp.json - Creates a skill router at
.github/skills/grekt/SKILL.md
.github/
├── agents/
├── skills/
│ └── grekt/
│ └── SKILL.md
├── rules/
├── commands/
└── copilot-instructions.mdOpenCode
Syncs to OpenCode's .opencode/ directory.
- Directory:
.opencode/ - Categories: All (agents, skills, commands, rules)
- MCP support:
opencode.json
.opencode/
├── agents/
├── skills/
└── commands/OpenClaw
EXPERIMENTAL
OpenClaw support is experimental and may have issues.
Syncs to OpenClaw's skills/ directory following OpenClaw conventions. Transforms grekt frontmatter to OpenClaw format. Agents get the agent- prefix.
- Entry point:
AGENTS.md - Directory:
skills/ - Categories: Skills, agents, commands
- Generates
AGENTS.mdwith skill routing and listings - Metadata serialized as single-line JSON per OpenClaw spec
skills/
├── agent-my-agent/
│ └── SKILL.md
├── my-skill/
│ └── SKILL.md
└── AGENTS.mdWindsurf
Syncs to Windsurf's .windsurf/ directory. Also injects rules in .windsurfrules.
- Entry point:
.windsurfrules - Directory:
.windsurf/ - Categories: All (agents, skills, commands, rules)
.windsurf/
├── agents/
├── skills/
└── commands/Cline
Syncs to Cline's .clinerules/ directory. Creates folder structure for agents, skills, and rules.
- Directory:
.clinerules/ - Categories: All (agents, skills, commands, rules)
- Creates a skill router at
.clinerules/skills/grekt/SKILL.md
.clinerules/
├── agents/
├── skills/
│ └── grekt/
│ └── SKILL.md
├── rules/
└── commands/Aider
Syncs all artifact content into Aider's conventions file.
- Entry point:
CONVENTIONS.md - Type: Rules only (no folder structure)
- Categories: All (merged into managed block)
Continue
Syncs to Continue's .continue/ directory.
- Directory:
.continue/ - Categories: All (agents, skills, commands, rules)
.continue/
├── agents/
├── skills/
└── commands/Amazon Q
Syncs to Amazon Q's .amazonq/ directory.
- Directory:
.amazonq/ - Categories: All (agents, skills, commands, rules)
- MCP support:
.amazonq/mcp.json
.amazonq/
├── agents/
├── skills/
└── commands/Codex
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.codex/config.toml(TOML format, key:mcp_servers)
Gemini
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.gemini/settings.json(key:mcpServers)
Jules
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
Zed
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.zed/settings.json(key:context_servers)
Goose
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
Devin
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
RooCode
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.roo/mcp.json(key:mcpServers)
Kilo Code
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.kilocode/mcp.json(key:mcpServers)
Amp
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
- MCP support:
.amp/settings.json(key:amp.mcpServers)
Warp
Syncs to .agents/ following the agentskills.io standard.
- Directory:
.agents/ - Categories: Skills
Global
Syncs to .agents/ following the agentskills.io standard. Fallback for tools not listed individually.
- Directory:
.agents/ - Categories: Skills
MCP distribution Beta
When an artifact includes MCP server components, grekt automatically installs the MCP configuration into the target tool's config file during grekt add and removes it during grekt remove.
| Target | Config file | Server key |
|---|---|---|
| Claude | .mcp.json | mcpServers |
| Kiro | .kiro/settings/mcp.json | mcpServers |
| Cursor | .cursor/mcp.json | mcpServers |
| Copilot | .vscode/mcp.json | servers |
| Amazon Q | .amazonq/mcp.json | mcpServers |
| OpenCode | opencode.json | mcp |
| Codex | .codex/config.toml | mcp_servers |
| Gemini | .gemini/settings.json | mcpServers |
| Zed | .zed/settings.json | context_servers |
| RooCode | .roo/mcp.json | mcpServers |
| Kilo Code | .kilocode/mcp.json | mcpServers |
| Amp | .amp/settings.json | amp.mcpServers |
MCP distribution is automatic. If a target is enabled and the artifact contains MCP components, the config is installed.
See Artifacts MCPs for the MCP component format.
How sync works
grekt syncSync copies CORE artifacts to target directories. LAZY artifacts remain indexed but not copied. See Sync modes.
Custom targets
For AI tools without a built-in plugin, define a custom target via grekt init, grekt add-target, or grekt.yaml:
# grekt.yaml
customTargets:
my-tool:
name: "My Tool"
contextEntryPoint: ".my-tool/rules.md"
paths: # Optional
agents: ".my-tool/agents"
skills: ".my-tool/skills"
commands: ".my-tool/commands"If paths is omitted, grekt uses default paths based on the target ID:
my-tool/
├── agents/
├── skills/
└── commands/The entry point will include an explanation of these folders for AI tools that don't know grekt's structure.
Bootstrap block
grekt injects a <grekt-untrusted-context> block in .grekt/index and entry points:
<grekt-untrusted-context>This project uses grekt for AI artifact management. Index location: .grekt/index</grekt-untrusted-context>The untrusted tag tells AI tools to treat this content with caution. Not because it's malicious, but because it comes from third-party artifacts. AI tools should ask for user confirmation before executing commands or actions from grekt-managed content.
Non-destructive sync
grekt preserves manual changes:
- Only updates content within
<grekt-untrusted-context>blocks - Never deletes manually created files
- Preview with
grekt sync --dry-run