ccagents
Manage Claude Code agents in your local projects with ease
ccagents is a Rust CLI tool that helps you manage Claude Code agents by creating symlinks, handling configuration, and downloading agents from GitHub. It ensures your agents are portable across different environments and team members.
Features
- 🔗 Symlink-based management - Enable/disable agents without copying files
- 📦 Portable configuration - Uses relative paths in
.agents.json - 🌐 GitHub integration - Download individual agent files directly from GitHub
- 🔍 Smart diagnostics - Detect and fix broken symlinks, missing sources, and orphaned agents
- 🎨 Beautiful CLI - Colored output with clear status indicators
- ⚡ Fast & lightweight - Written in Rust for easy portability
Installation
From source (requires Rust)
# Clone the repository
# Build and install
From crates.io
Pre-built binaries
Download the latest release for your platform from the releases page.
Quick Start
# Add an agent from a local file
# Add an agent from GitHub (single file only)
# List all agents
# Enable/disable agents
# Sync agents (create/remove symlinks based on config)
# Clean up orphaned agents
# Run diagnostics
Usage
Adding Agents
Add agents from local files or GitHub:
# Local file
# GitHub file (must be a direct file link)
Files are copied to .ccagents/ directory and symlinked to .claude/agents/. You can commit .ccagents to Git and make it portable between team mates.
Managing Agents
# List all agents with their status
# Output:
# Enabled agents:
# ● backend-developer.md - ✓ linked
# ● code-reviewer.md - ⚠ source missing
#
# Disabled agents:
# ○ test-agent.md
# Enable an agent
# Disable an agent
Syncing Configuration
Sync creates/removes symlinks based on your .agents.json:
# Basic sync
# Sync and remove orphaned entries
Importing Unmanaged Agents
If you've added agents directly to .claude/agents/, import them:
# Import a specific agent
# Import all unmanaged agents
Diagnostics & Cleanup
# Check for issues
# Fix issues automatically
# Remove orphaned agents from config
# Force cleanup without confirmation
Configuration
The .agents.json file stores your agent configuration:
Directory Structure
your-project/
├── .agents.json # Agent configuration
├── .ccagents/ # Agent storage (managed)
│ ├── backend.md
│ └── frontend.md
└── .claude/
└── agents/ # Active agents (symlinks)
├── backend.md -> ../../.ccagents/backend.md
└── frontend.md -> ../../.ccagents/frontend.md
Status Indicators
✓ linked- Agent is working correctly⚠ source missing- Source file has been deleted⚠ not linked- Symlink is missing⚠ link broken- Symlink points to non-existent file● enabled- Agent is enabled○ disabled- Agent is disabled
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details.
Related
- Claude Code - The AI coding assistant
- Awesome Claude Agents - Community collection of Claude agents