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.1.0.tar.gz (7.8 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.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aiconfigsync-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0dffb3e36134660b5f306583778109d478c9450a41bcc91c688413a6e69526cb
MD5 9e6f34e45c09c4691336e9a0b285743c
BLAKE2b-256 8759a69c45ec0619cd06869861c6469c5d101d20fe85650d77764297219ad879

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiconfigsync-1.1.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.14.3

File hashes

Hashes for aiconfigsync-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8e9486f43296eb588ac9b3669bb0e66b1f01ca472bd41d0c09df86e5da18aef
MD5 82502a61dbff49dea3eb8a61ea5df8ca
BLAKE2b-256 b6947e8c33aee31f4d4592ba67c4a07e060375e4c04cb76f7503c965ab955525

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