Migrate Claude Code configuration to new machines and convert it to other IDEs.
Alpha — v0.2.0 shipped, v0.3.0 in design.
Transfer Kit v0.2.0 is functional and has 132 passing tests. It can scan, export, import, convert, compare, and sync Claude Code configurations across machines and to GitHub Copilot, Gemini CLI, and Windsurf.
See CHANGELOG.md for the roadmap.
Interfaces may change before v1.0.
- Scan your Claude Code environment and display a summary of skills, plugins, MCP servers, projects, env vars, plans, teams, and keybindings.
- Export selected config items to a portable
.tar.gzbundle with optional secret redaction. - Import a bundle into a Claude Code installation with conflict resolution and optional post-import diff.
- Convert Claude Code config to GitHub Copilot, Gemini CLI, or Windsurf format, including tool-name rewriting.
- Compare two config directories side-by-side and interactively resolve differences.
- Sync config between machines via a git repository or direct file copy.
- Manage environment variables across shell profiles with a managed block approach.
- Check prerequisites and display install hints for your OS and package manager.
- Interactive mode with menu-driven workflows when no subcommand is given.
- Cross-platform support for Linux, macOS, and Windows.
Requires Python 3.10 or later.
git clone https://github.com/joogy06/Agent-Foundry-Converter.git
cd Agent-Foundry-Converter
pip install .The transfer-kit command will be available on your PATH.
# See what Claude Code config you have
transfer-kit scan
# Export everything to a bundle
transfer-kit export -o backup.tar.gz
# Import a bundle on another machine
transfer-kit import --from backup.tar.gz
# Convert your config for Gemini CLI
transfer-kit convert --target gemini -o ~/project/Discover and display a summary of the current Claude Code environment.
transfer-kit scanNo additional flags. Outputs a table of categories, counts, and details.
Bundle the Claude Code environment into a portable archive.
| Flag | Default | Description |
|---|---|---|
-o, --output |
transfer_kit_bundle.tar.gz |
Output file path |
--items |
all |
Comma-separated categories: skills, plugins, settings, projects, mcp, env, plans, teams, keybindings |
--include-secrets |
off | Include secret values without redaction |
# Export only skills and MCP servers
transfer-kit export --items skills,mcp -o my_config.tar.gz
# Export everything including secrets
transfer-kit export --include-secrets -o full_backup.tar.gzRestore a transfer-kit bundle into the Claude Code environment.
| Flag | Default | Description |
|---|---|---|
--from |
(required) | Path to the bundle file |
--merge |
-- | Merge: skip existing files |
--overwrite |
-- | Overwrite existing files |
--skip |
default | Skip existing files |
--compare |
off | After import, compare and interactively resolve differences |
# Import with default skip-on-conflict behavior
transfer-kit import --from backup.tar.gz
# Import and overwrite conflicts, then compare
transfer-kit import --from backup.tar.gz --overwrite --compareConvert Claude Code config to another IDE's format.
| Flag | Default | Description |
|---|---|---|
--target |
(required) | Target IDE: copilot, gemini, or windsurf |
-o, --output |
transfer_kit_<target>_output |
Output directory |
--items |
all |
Comma-separated categories to convert |
# Convert everything for GitHub Copilot
transfer-kit convert --target copilot -o ./copilot_config
# Convert only skills and env vars for Windsurf
transfer-kit convert --target windsurf --items skills,envCompare two config directories and interactively resolve differences.
| Flag | Default | Description |
|---|---|---|
-s, --source |
(required) | Source (incoming) directory |
-t, --target |
(required) | Target (existing) directory |
transfer-kit compare --source ./incoming_config --target ~/.claudeSynchronize Claude Code config with a git repository or copy between locations.
Initialize a sync repository.
transfer-kit sync init /path/to/repo
transfer-kit sync init /path/to/repo --remote git@github.com:user/dotfiles.gitExport local config and push it to the sync repository.
transfer-kit sync push /path/to/repoPull config from the sync repository.
transfer-kit sync pull /path/to/repoCopy config between locations via file copy or rsync.
| Flag | Default | Description |
|---|---|---|
--to |
-- | Destination path |
--from |
-- | Source path |
--execute |
off | Execute the copy immediately (dry-run by default) |
--on-conflict |
skip |
Conflict strategy: skip, overwrite, or fail |
# Preview what would be copied
transfer-kit sync copy --to user@host:/path/to/config
# Execute the copy
transfer-kit sync copy --to /mnt/backup/claude --execute --on-conflict overwriteManage environment variables in shell profiles using a managed block.
List all managed environment variables across detected shell profiles.
transfer-kit env showAdd or update a managed environment variable.
transfer-kit env set GEMINI_API_KEY=sk-abc123Remove a managed environment variable.
transfer-kit env remove GEMINI_API_KEYWrite all managed variables to the current shell profile.
transfer-kit env applyCheck for required external tools and display install hints for your OS.
transfer-kit prereqsRun transfer-kit with no subcommand to launch a menu-driven interface:
transfer-kitThe interactive mode presents a questionary-based menu for scanning, exporting, importing, converting, syncing, managing env vars, and checking prerequisites.
| Flag | Short | Description |
|---|---|---|
--verbose |
-v |
Enable verbose (debug-level) output |
--quiet |
-q |
Suppress non-essential output |
--yes |
-y |
Auto-confirm all prompts (non-interactive) |
--dry-run |
-- | Show what would happen without making changes |
--no-color |
-- | Disable colored output |
--version |
-- | Show version and exit |
Conversion mappings from Claude Code tool references to target IDE equivalents:
| Claude Code | Gemini CLI | GitHub Copilot | Windsurf |
|---|---|---|---|
Read |
read_file |
native | native |
Edit |
edit_file |
native | native |
Write |
write_file |
native | native |
Bash |
run_shell_command |
#terminal |
terminal |
Grep |
search_files |
#codebase |
native |
Glob |
search_files |
#codebase |
native |
Agent |
rewritten as instruction paragraph | rewritten as instruction paragraph | rewritten as instruction paragraph |
Output locations by target:
| Item | Copilot | Gemini CLI | Windsurf |
|---|---|---|---|
| Skills | .github/instructions/<name>.instructions.md |
GEMINI.md sections + skill files |
.windsurf/rules/<name>.md |
| Project config | .github/copilot-instructions.md |
GEMINI.md |
.windsurf/rules/project.md |
| MCP servers | .vscode/mcp.json |
~/.gemini/settings.json |
~/.codeium/windsurf/mcp_config.json |
| Env vars | .env file |
mapped equivalents | .env + documentation |
transfer_kit/
__init__.py Package metadata and version
__main__.py Entry point for python -m transfer_kit
cli.py Click CLI group and all subcommands
interactive.py Questionary-based interactive menus
models.py Dataclasses for config items (Skill, Plugin, McpServer, etc.)
prereqs.py Prerequisite checker with install hints
env.py Shell profile environment variable management
platform_utils.py Cross-platform path resolution and OS detection
core/
scanner.py Discovers Claude Code config from ~/.claude/
exporter.py Bundles selected items into a .tar.gz archive
importer.py Restores a bundle to a Claude Code installation
comparator.py Side-by-side config directory comparison
crypto.py Fernet/GPG encryption for synced secrets
sync.py Git repo and file copy sync logic
converters/
base.py Abstract converter interface and tool mapping table
copilot.py GitHub Copilot converter
gemini.py Gemini CLI converter
windsurf.py Windsurf converter
pip install -e ".[dev]"
pytestTests run on Linux, macOS, and Windows via GitHub Actions (see
.github/workflows/ci.yml) across Python 3.10–3.13.
Bug reports, feature requests, and pull requests welcome. Please check existing issues first and keep changes focused. Tests must stay green.
MIT — see LICENSE.