Live Demo: https://claudecommands.dev
CCM is a package manager for Claude Code slash commands, like npm for JavaScript or pip for Python. Discover, install, and share command packages that enhance your Claude Code productivity.
# Install globally from GitHub
npm install -g https://github.com/drdator/ccm.git
# Or clone and install locally
git clone https://github.com/drdator/ccm.git
cd ccm/cli
npm install
npm run build
npm linkThe CLI comes pre-configured with the official registry at https://claudecommands.dev/api.
# Optional: Override registry for development
ccm config --registry http://localhost:3000/api# Search for available packages
ccm search
# Install a package
ccm install hello-world
# Install specific version
ccm install hello-world@1.0.0
# List installed packages
ccm listAfter installation, commands are available in Claude Code with the package namespace:
/hello-world:greet
- π― Namespaced Commands: No conflicts between packages
- π Package Discovery: Browse commands at claudecommands.dev
- π Version Management: Semantic versioning with package@version syntax
- π Secure Registry: JWT authentication and validated publishing
- β‘ Fast Performance: Built on Fastify for maximum speed
# Initialize a new command package
mkdir my-commands && cd my-commands
ccm init --name "my-productivity-tools"
# Create commands in the commands/ directory
echo "# My First Command" > commands/hello.md# Register an account (first time only)
ccm register
# Publish your package
ccm publish---
description: "A friendly greeting command"
author: "Your Name"
tags: ["greeting", "hello"]
---
# Hello Command
Hello! This is my first CCM command.
You can use arguments like this: $ARGUMENTSThis is a monorepo containing:
cli/- Command-line interface for managing packages (TypeScript + Commander.js)api/- Registry API server (Fastify + SQLite + TypeScript)web/- Web interface for package discovery (Vite + Vanilla JS)example-commands/- Example command package for testing
- Node.js 18+
- npm 9+
# Install dependencies
npm install
# Start all services
npm run dev:api # API server on :3000
npm run dev:web # Web interface on :8080
npm run dev:cli # CLI development mode# CLI only
cd cli && npm run build && npm link
# API only
cd api && npm run dev
# Web only
cd web && npm run dev# Run all tests
npm test
# Component-specific tests
npm run test:api
npm run test:cli
npm run test:e2e# Clone the repository
git clone https://github.com/drdator/ccm.git
cd ccm
# Copy and configure environment
cp .env.example .env
# Edit .env with your configuration
# Start services
docker-compose up -d
# Verify deployment
curl http://localhost:3000/api/health- Architecture Guide - Detailed system architecture and development workflow
GET /api/commands- List all packages (latest versions)GET /api/commands/:name- Get package detailsGET /api/commands/:name/versions- Get all versions of a packageGET /api/commands/:name/download- Download package filesGET /api/commands/search?q=query- Search packagesGET /health- API health check
POST /api/auth/register- Register new userPOST /api/auth/login- Login userPOST /api/commands- Publish packageGET /api/auth/me- Get current user infoPOST /api/auth/regenerate-api-key- Generate new API key
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
MIT License - see LICENSE file for details.
- Built with Fastify for high-performance APIs
- Powered by Vite for modern web development
- Inspired by npm, pip, and other great package managers
Happy coding with Claude! π€