Skip to main content

Generate AI coding assistant config files from a single source. 12 tools, 1 command.

Project description

config-sync

Write once. AI everywhere.

Generate config files for 12 AI coding assistants from a single source of truth.

The Problem

Every AI coding tool uses a different config file:

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

Change a rule? Update 13 files. Or let config-sync do it.

Install

pip install git+https://github.com/nadalpiantini/config-sync.git

Or with pipx (recommended for CLI tools):

pipx install git+https://github.com/nadalpiantini/config-sync.git

Or clone and install locally:

git clone https://github.com/nadalpiantini/config-sync.git
cd config-sync
pip install -e .

Usage

Generate all configs

config-sync /path/to/your/repo

Generate specific tools

config-sync /path/to/your/repo --tools codex,gemini,cursor

Preview without writing

config-sync /path/to/your/repo --dry-run

Migrate from CLAUDE.md

Already have a CLAUDE.md? Split it into .claude/rules/ (the canonical source):

config-sync /path/to/your/repo --init

List supported tools

config-sync --list-tools

How It Works

┌─────────────────────┐
│  .claude/rules/     │  ← your single source of truth
└─────────┬───────────┘
          │ config-sync
    ┌─────┼─────────────────────────┐
    ▼     ▼     ▼     ▼     ▼       ▼
 AGENTS  GEMINI CURSOR COPILOT WINDSURF CLINE
   .md    .md   /rules   .md    /rules   /rules
                                         ▼
                              AIDER KIRO AMAZON-Q GOOSE TRAE ZED
                               .md /steer /rules  hints /rules .rules
  1. Source: .claude/rules/*.md — the most expressive format (frontmatter, glob patterns, conditional loading)
  2. Transform: Concatenate rules, strip tool-specific frontmatter, adapt format per tool
  3. Output: Native configs for each tool with <!-- Generated by config-sync --> headers

Smart Detection

Auto-detects which tools are already configured in your repo and reports them:

$ config-sync ./my-project
Source: 2,847 chars
Detected: cursor, copilot, codex
Generating: codex, gemini, cursor, copilot, windsurf, cline, aider, kiro, amazonq, goose, trae, zed

  + AGENTS.md (2,937 chars)
  + GEMINI.md (2,937 chars)
  + .cursor/rules/config-sync.mdc (2,933 chars)
  ...

Format Adaptations

Each tool gets properly formatted output:

  • Cursor: MDC frontmatter with globs: ** and alwaysApply: true
  • Aider: Condensed to bullet points
  • Goose: Plain text, one rule per line (no markdown)
  • All others: Flat markdown with generated header

Supported Tools

Tool Output File Format
Codex / Amp / OpenCode / Warp AGENTS.md Markdown
Gemini CLI GEMINI.md Markdown
Cursor .cursor/rules/config-sync.mdc MDC
GitHub Copilot .github/copilot-instructions.md Markdown
Windsurf .windsurf/rules/config-sync.md Markdown
Cline / Roo Code .clinerules/config-sync.md Markdown
Aider CONVENTIONS.md Condensed bullets
Kiro (AWS) .kiro/steering/config-sync.md Markdown
Amazon Q .amazonq/rules/config-sync.md Markdown
Goose (Block) .goosehints Plain text
Trae AI .trae/rules/config-sync.md Markdown
Zed .rules Markdown

Philosophy

Write once in the richest format. Compile to every target.

.claude/rules/ is your source code. The generated configs are compiled output. Edit the source, re-run config-sync, commit all files together.

Requirements

  • Python 3.10+
  • Zero external dependencies

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiconfigsync-1.0.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiconfigsync-1.0.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file aiconfigsync-1.0.0.tar.gz.

File metadata

  • Download URL: aiconfigsync-1.0.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for aiconfigsync-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fda3c474df72228ed17b6f97108352c9693757a07f3ca9fad9eef3d50931c2b6
MD5 670ac26ea7e1d988093ac22c60c8cccc
BLAKE2b-256 9c5a7c7dad3681c7fbd9671240631a471d14988e8ca6ebf6d911dcd1a61920bd

See more details on using hashes here.

File details

Details for the file aiconfigsync-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: aiconfigsync-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for aiconfigsync-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e1115b971c431aa080f376a36c7e25fb186649181355b2477a9abbbdc17c53e
MD5 a754b2066dff1c85d0f740dc6b2fa0d5
BLAKE2b-256 ee8e78559a13c9d593eda7ae2605af864a302f0f58f7d21f1e2c1cc8d9e3a69d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page