Config Sync — 16 AI Tools, 1 Source

MCP Tools

Sync AI coding assistant config files from a single source. Generates CLAUDE.md, AGENTS.md, GEMINI.md, .cursor/rules/, .github/copilot-instructions.md, .windsurf/rules/, .clinerules/, CONVENTIONS.md, .kiro/steering/, .amazonq/rules/, .goosehints, .trae/rules/ from your canonical rules. ACTIVAR cuando el usuario dice 'sync configs', 'generate ai rules', 'configurar para otros tools', 'unificar instrucciones', 'config sync'.

Install

openclaw skills install config-sync

Config Sync — 16 AI Tools, 1 Source

Reads .claude/rules/ (or CLAUDE.md) as canonical source and generates native config files for every major AI coding assistant.

Problem

Each AI coding tool uses a different config file:

  • Claude Code → CLAUDE.md + .claude/rules/*.md
  • Codex CLI → AGENTS.md
  • Gemini CLI → GEMINI.md
  • Cursor → .cursor/rules/*.mdc
  • GitHub Copilot → .github/copilot-instructions.md
  • Windsurf → .windsurf/rules/*.md
  • Cline/Roo → .clinerules/*.md
  • Aider → CONVENTIONS.md
  • Kiro → .kiro/steering/*.md
  • Amazon Q → .amazonq/rules/*.md
  • Goose → .goosehints
  • Trae AI → .trae/rules/*.md
  • Zed → .rules
  • Amp/OpenCode/Warp → AGENTS.md (shared)

Maintaining 16 files for the same instructions is absurd. Config-sync fixes it.

How It Works

  1. Source of truth: .claude/rules/*.md (most expressive format — supports glob patterns, frontmatter conditions, always/attached/triggered modes)
  2. Fallback source: CLAUDE.md at repo root if .claude/rules/ doesn't exist
  3. Transform: Concatenates all rule files, strips Claude-specific frontmatter, generates each format
  4. Output: Only generates configs for tools you select (or all by default)

Usage

Generate all configs

python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo

Generate specific tools only

python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --tools codex,gemini,cursor

Preview without writing

python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --dry-run

Init from existing CLAUDE.md

python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --init

This creates .claude/rules/ from your existing CLAUDE.md as the canonical source.

Supported Tools

ToolOutput FileNotes
Claude Code.claude/rules/*.md (source, not generated)Already the canonical format
Codex CLIAGENTS.mdFlat markdown, no frontmatter
Gemini CLIGEMINI.mdFlat markdown
Cursor.cursor/rules/config-sync.mdcMDC format with description + globs
GitHub Copilot.github/copilot-instructions.mdFlat markdown
Windsurf.windsurf/rules/config-sync.mdFlat markdown
Cline/Roo.clinerules/config-sync.mdFlat markdown
AiderCONVENTIONS.mdFlat markdown, concise style
Kiro.kiro/steering/config-sync.mdFlat markdown
Amazon Q.amazonq/rules/config-sync.mdFlat markdown
Goose.goosehintsLine-per-rule, no markdown
Trae AI.trae/rules/config-sync.mdFlat markdown
Zed.rulesFlat markdown

Transformation Rules

Stripped from source

  • YAML frontmatter (--- blocks) — tool-specific, not portable
  • alwaysApply: true/false — Claude Code specific
  • Glob patterns in frontmatter — converted to natural language headers

Added to each output

  • Header comment: <!-- Generated by config-sync. Edit source at .claude/rules/ -->
  • Tool-specific header if needed (e.g., MDC frontmatter for Cursor)

Format adaptations

  • Goose (.goosehints): Each rule becomes one line, no markdown
  • Cursor (.mdc): Gets MDC frontmatter with description and globs: **
  • Aider (CONVENTIONS.md): Condensed to bullet points, no long explanations
  • AGENTS.md: Standard markdown, used by Codex/Amp/OpenCode/Warp (4 tools, 1 file)

Workflow

  1. Edit .claude/rules/*.md (your canonical source)
  2. Run config-sync to generate all other formats
  3. Commit all generated files together
  4. Repeat when rules change

Auto-detect installed tools

The script checks for:

  • .cursor/ directory → Cursor installed
  • .github/copilot-instructions.md exists → Copilot in use
  • .windsurf/ → Windsurf installed
  • .clinerules/ → Cline installed
  • .kiro/ → Kiro installed
  • .amazonq/ → Amazon Q installed
  • .trae/ → Trae installed
  • AGENTS.md exists → Codex/Amp/OpenCode in use
  • GEMINI.md exists → Gemini CLI in use

If --tools is not specified, generates all formats (belt-and-suspenders approach).

Philosophy

One source of truth. Many outputs. Like a compiler: write once in the richest language, emit to every target.