Skip to content
Star

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 typeBehavior
FolderCreates directories per category (agents, skills, commands...)
Rules onlyMerges all content into a single entry point file

Some targets support both.

Supported targets

TargetEntry PointTypeMCP
claude.claude/CLAUDE.mdFolder + RulesYes
kiro.kiro/steering/grekt.mdFolderYes
cursor.cursorrulesFolder + RulesYes
copilot.github/copilot-instructions.mdFolder + RulesYes
opencode.opencode/FolderYes
openclawskills/ + AGENTS.mdFolderNo
windsurf.windsurfrulesFolder + RulesNo
cline.clinerules/FolderNo
aiderCONVENTIONS.mdRules onlyNo
continue.continue/FolderNo
amazonq.amazonq/FolderYes
codex.agents/FolderYes
gemini.agents/FolderYes
jules.agents/FolderNo
zed.agents/FolderYes
goose.agents/FolderNo
devin.agents/FolderNo
roocode.agents/FolderYes
kilocode.agents/FolderYes
amp.agents/FolderYes
warp.agents/FolderNo
global.agents/FolderNo

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.md or CLAUDE.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.md

Kiro

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.json

Cursor

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.md

OpenCode

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.md with skill routing and listings
  • Metadata serialized as single-line JSON per OpenClaw spec
skills/
├── agent-my-agent/
│   └── SKILL.md
├── my-skill/
│   └── SKILL.md
└── AGENTS.md

Windsurf

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.

TargetConfig fileServer key
Claude.mcp.jsonmcpServers
Kiro.kiro/settings/mcp.jsonmcpServers
Cursor.cursor/mcp.jsonmcpServers
Copilot.vscode/mcp.jsonservers
Amazon Q.amazonq/mcp.jsonmcpServers
OpenCodeopencode.jsonmcp
Codex.codex/config.tomlmcp_servers
Gemini.gemini/settings.jsonmcpServers
Zed.zed/settings.jsoncontext_servers
RooCode.roo/mcp.jsonmcpServers
Kilo Code.kilocode/mcp.jsonmcpServers
Amp.amp/settings.jsonamp.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

bash
grekt sync

Sync 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:

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:

xml
<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