CCPM - Claude Code Package Manager
A Git-based package manager for Claude Code resources that enables reproducible installations using lockfile-based dependency management, similar to Cargo.
Features
- 📦 Lockfile-based dependency management - Reproducible installations like Cargo/npm
- 🌐 Git-based distribution - Install from any Git repository (GitHub, GitLab, Bitbucket)
- 🚀 No central registry - Fully decentralized approach
- 🔧 Six resource types - Agents, Snippets, Commands, Scripts, Hooks, MCP Servers
- 🎯 Pattern-based dependencies - Use glob patterns (
agents/*.md,**/*.md) for batch installation - 🔒 Secure credential handling - Separate config for sensitive data
- ⚡ Advanced parallel operations - Git worktrees enable safe concurrent access to different versions
- 🖥️ Cross-platform - Windows, macOS, and Linux support with enhanced path handling
- 🚀 Performance optimized - Global semaphore controls Git operations, worktrees eliminate blocking
- 📁 Local and remote sources - Support for both Git repositories and local filesystem paths
Quick Start
Install CCPM
# Via Cargo (all platforms)
# Or download pre-built binaries (once released)
# See installation guide for platform-specific instructions
Create a Project
# Initialize a new CCPM project
# Or manually create ccpm.toml:
[]
= "https://github.com/aig787/ccpm-community.git"
[]
= { = "community", = "agents/example.md", = "v1.0.0" }
[]
= { = "community", = "snippets/react/*.md", = "^1.0.0" }
Install Dependencies
# Install all dependencies and generate lockfile
# Use exact lockfile versions (for CI/CD)
Core Commands
| Command | Description |
|---|---|
ccpm init |
Initialize a new project |
ccpm install |
Install dependencies from ccpm.toml |
ccpm update |
Update dependencies within version constraints |
ccpm list |
List installed resources |
ccpm validate |
Validate manifest and dependencies |
ccpm add |
Add sources or dependencies |
ccpm remove |
Remove sources or dependencies |
ccpm config |
Manage global configuration |
ccpm cache |
Manage the Git cache |
Run ccpm --help for full command reference.
Resource Types
CCPM manages six types of resources:
- Agents - AI assistant configurations (
.claude/agents/) - Snippets - Reusable code templates (
.claude/ccpm/snippets/) - Commands - Claude Code slash commands (
.claude/commands/) - Scripts - Executable automation files (
.claude/ccpm/scripts/) - Hooks - Event-based automation (merged into
.claude/settings.local.json) - MCP Servers - Model Context Protocol servers (merged into
.mcp.json)
Documentation
- 📚 Installation Guide - All installation methods and requirements
- 🚀 User Guide - Getting started and basic workflows
- 📖 Command Reference - Complete command syntax and options
- 🔧 Resources Guide - Working with different resource types
- 🔢 Versioning Guide - Version constraints and Git references
- ⚙️ Configuration Guide - Global config and authentication
- 🏗️ Architecture - Technical details and design decisions
- ❓ FAQ - Frequently asked questions
- 🐛 Troubleshooting - Common issues and solutions
Example Project
# ccpm.toml
[]
= "https://github.com/aig787/ccpm-community.git"
= "./local-resources"
[]
# Single file
= { = "community", = "agents/rust-expert.md", = "v1.0.0" }
# Pattern matching - install multiple files
= { = "community", = "agents/ai/*.md", = "^1.0.0" }
[]
= { = "community", = "snippets/react-hooks.md", = "~1.2.0" }
[]
= { = "local", = "scripts/build.sh" }
[]
= { = "community", = "hooks/pre-commit.json", = "v1.0.0" }
[]
= { = "community", = "mcp/filesystem.json", = "latest" }
Versioning
CCPM uses Git-based versioning at the repository level:
- Git tags (recommended):
version = "v1.0.0"orversion = "^1.0.0" - Branches:
branch = "main"(mutable, updates on each install) - Commits:
rev = "abc123def"(immutable, exact commit) - Local paths: No versioning, uses current files
See the Versioning Guide for details.
Security
CCPM separates credentials from project configuration:
- ✅ Project manifest (
ccpm.toml) - Safe to commit - ❌ Global config (
~/.ccpm/config.toml) - Contains secrets, never commit
# Add private source with authentication (global config only)
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Project Status
CCPM is actively developed with comprehensive test coverage and automated releases:
- ✅ All core commands implemented
- ✅ Cross-platform support (Windows, macOS, Linux)
- ✅ Comprehensive test suite (70%+ coverage)
- ✅ Specialized Rust development agents (standard/advanced tiers)
- ✅ Automated semantic releases with conventional commits
- ✅ Cross-platform binary builds for all releases
- ✅ Publishing to crates.io (automated via semantic-release)
Automated Releases
CCPM uses semantic-release for automated versioning and publishing:
- Conventional Commits: Version bumps based on commit messages (
feat:→ minor,fix:→ patch) - Cross-Platform Binaries: Automatic builds for Linux, macOS, and Windows
- Automated Publishing: Releases to both GitHub and crates.io
- Changelog Generation: Automatic changelog from commit history
License
MIT License - see LICENSE.md for details.
Support
Built with Rust 🦀 for reliability and performance