Install
openclaw skills install config-syncSync 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'.
openclaw skills install config-syncReads .claude/rules/ (or CLAUDE.md) as canonical source and generates native config files for every major AI coding assistant.
Each AI coding tool uses a different config file:
CLAUDE.md + .claude/rules/*.mdAGENTS.mdGEMINI.md.cursor/rules/*.mdc.github/copilot-instructions.md.windsurf/rules/*.md.clinerules/*.mdCONVENTIONS.md.kiro/steering/*.md.amazonq/rules/*.md.goosehints.trae/rules/*.md.rulesAGENTS.md (shared)Maintaining 16 files for the same instructions is absurd. Config-sync fixes it.
.claude/rules/*.md (most expressive format — supports glob patterns, frontmatter conditions, always/attached/triggered modes)CLAUDE.md at repo root if .claude/rules/ doesn't existpython3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --tools codex,gemini,cursor
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --dry-run
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.
| Tool | Output File | Notes |
|---|---|---|
| Claude Code | .claude/rules/*.md (source, not generated) | Already the canonical format |
| Codex CLI | AGENTS.md | Flat markdown, no frontmatter |
| Gemini CLI | GEMINI.md | Flat markdown |
| Cursor | .cursor/rules/config-sync.mdc | MDC format with description + globs |
| GitHub Copilot | .github/copilot-instructions.md | Flat markdown |
| Windsurf | .windsurf/rules/config-sync.md | Flat markdown |
| Cline/Roo | .clinerules/config-sync.md | Flat markdown |
| Aider | CONVENTIONS.md | Flat markdown, concise style |
| Kiro | .kiro/steering/config-sync.md | Flat markdown |
| Amazon Q | .amazonq/rules/config-sync.md | Flat markdown |
| Goose | .goosehints | Line-per-rule, no markdown |
| Trae AI | .trae/rules/config-sync.md | Flat markdown |
| Zed | .rules | Flat markdown |
alwaysApply: true/false — Claude Code specific<!-- Generated by config-sync. Edit source at .claude/rules/ -->.goosehints): Each rule becomes one line, no markdown.mdc): Gets MDC frontmatter with description and globs: **CONVENTIONS.md): Condensed to bullet points, no long explanations.claude/rules/*.md (your canonical source)config-sync to generate all other formatsThe 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 installedAGENTS.md exists → Codex/Amp/OpenCode in useGEMINI.md exists → Gemini CLI in useIf --tools is not specified, generates all formats (belt-and-suspenders approach).
One source of truth. Many outputs. Like a compiler: write once in the richest language, emit to every target.