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'.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill config-sync --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Config Sync?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-config-sync)More formats (shields.io, HTML) on the badges page.
---
name: config-sync
description: "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'."
---
# 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
```bash
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo
```
### Generate specific tools only
```bash
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --tools codex,gemini,cursor
```
### Preview without writing
```bash
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --dry-run
```
### Init from existing CLAUDE.md
```bash
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
| 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 |
## 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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!