Skip to main content

aicfg

Python Version PyPI Version License: MIT pre-commit

Unified AI assistant configuration management.

Currently, aicfg has only one command: link.

Link Command

One source of truth per assistant. Pick any as your source.

What It Does

AI coding assistants each have their own config files — instructions, skills, rules, agents. Managing them across multiple tools means editing the same content in multiple places. aicfg link solves this by creating symlinks so all assistants point to a single source.

aicfg screencast

Note: you can pick any of the supported assistants as a source or a target.

Supported Assistants

Name Instructions Skills Rules Agents
claude-code CLAUDE.md .claude/skills/ .claude/rules/ .claude/agents/
cursor .cursorrules .cursor/skills/ .cursor/rules/ .cursor/agents/
github-copilot .github/copilot-instructions.md .github/skills/ .github/instructions/ .github/agents/
agents AGENTS.md .agents/skills/ .agents/rules/ .agents/agents/
opencode AGENTS.md .opencode/skills/ .opencode/rules/ .opencode/agents/

Usage

# Dry run — see what would happen without creating symlinks
uvx aicfg link github-copilot --to claude-code,cursor --dry-run

# Link github-copilot → claude-code and cursor
uvx aicfg link github-copilot --to claude-code,cursor

# Link to all assistants at once
uvx aicfg link agents --to claude-code,cursor,github-copilot,opencode

# Verbose output
uvx aicfg link cursor --to claude-code --verbose
Install with pip
# Install with pip
pip install aicfg

# Run installed
aicfg link agents --to claude-code

Pre-commit Hook

Add this to your .pre-commit-config.yaml:

- repo: https://github.com/TomerFi/aicfg
  rev: "0.0.6"
  hooks:
    - id: link
      args: ["cursor", "--to", "claude-code", "opencode"]

Choose a source from the table above as the first arg and your targets via --to.

CI

Add this to a GitHub Action to fail if symlinks drift:

- uses: actions/checkout@v7

- uses: astral-sh/setup-uv@v9

- name: Ensure assistants links are up to date
  run: uvx aicfg link cursor --to claude-code,opencode --ci

The --ci flag will fail the CI if any links need to be created or replaced.

How It Works

aicfg link creates relative symlinks between assistants. For instructions, a file symlink is created at the target path pointing back to the source. For directory categories (skills, rules, agents), the target directory is created and each direct entry inside it is symlinked.

For directories, each entry (file or subdirectory) is symlinked as-is into the target directory. Files become file symlinks, directories become directory symlinks — the entries themselves are symlinked, not their individual contents. The source file acts as the single source of truth — edit it once and all targets receive your changes immediately.

Download files

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

Source Distribution

aicfg-0.0.6.tar.gz (209.4 kB view details)

Uploaded Source

Built Distribution

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

aicfg-0.0.6-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file aicfg-0.0.6.tar.gz.

File metadata

  • Download URL: aicfg-0.0.6.tar.gz
  • Upload date:
  • Size: 209.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aicfg-0.0.6.tar.gz
Algorithm Hash digest
SHA256 06393cc5949ddd52f0a0dc4d682425d7c4e1360a3e990dbd16f588b677f14113
MD5 e6b458a6fe8a0c22ab235530a0560c75
BLAKE2b-256 ed2259462a3f5d6bfd5e24dab469c613cdc4742b2e253b669fb6f947a7d973b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aicfg-0.0.6.tar.gz:

Publisher: release.yml on TomerFi/aicfg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aicfg-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: aicfg-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aicfg-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 18a1e3c2e9be8a068821deb2f02334c7ae4231af11a6a58aa2d729d032b1c3b7
MD5 da97e320a27f7259dbbb492304399beb
BLAKE2b-256 7d97b78febbe7ab298f9907888d11b46cf6b4058726664bc44283087259eb6c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aicfg-0.0.6-py3-none-any.whl:

Publisher: release.yml on TomerFi/aicfg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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