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 aiconfigsync

Or with pipx (recommended for CLI tools):

pipx install aiconfigsync

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.1.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.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiconfigsync-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 02bc99dc324a0e8d2f6b797f897d59513abc743f79fdc919554afdac5b53b7b8
MD5 5fc124626f6a04c17af1233ab02ff419
BLAKE2b-256 0b67e3da6fd96e4a8ad7054d7c2e52e26c42dfa43dea5f1c1d6721b0cf41ea20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiconfigsync-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac3eefd99aaf9949ea9079cbe3605c26f529bdf55929e062939734f4541ad36d
MD5 942ab7662e3ab82d098e1b0fc49ab0a6
BLAKE2b-256 4ce6374ca1c5c4dd4a7eac5eccba08c8f7efde81e5313795b3dda86932ffadad

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