ccmd

module
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2025 License: MIT

README

ccmd - Claude Command Manager

Go Version License Go Report Card NPM Sponsor

Simple command-line tool for managing custom commands in Claude Code. Install and share commands from Git repositories with the ease of a package manager.

Why ccmd?

Managing custom Claude Code commands across multiple projects can be challenging. ccmd solves this by treating commands as versioned, reusable packages:

  • Keep commands out of your codebase: Store command definitions (.md files and AI context) in separate repositories, keeping your project repositories clean
  • Version control: Each command has its own version, allowing you to use different versions in different projects
  • Reusability: Install the same command in multiple projects without duplication
  • Easy sharing: Share commands with your team or the community through Git repositories
  • Simple management: Install, update, and remove commands with familiar package manager semantics

Think of ccmd as "npm for Claude Code commands" - centralize your AI tooling configurations and use them anywhere.

Installation

npm install -g @gifflet/ccmd
Via Go
go install github.com/gifflet/ccmd/cmd/ccmd@latest

Quick Start

1. Initialize your project
cd your-project
ccmd init
2. Install a demo command
ccmd install gifflet/hello-world
3. Use it in Claude Code
/hello-world

That's it! You've just installed and used your first ccmd command.

Commands

Command Description
ccmd init Initialize a new command project
ccmd install <repo> Install a command from a Git repository
ccmd install Install all commands from ccmd.yaml
ccmd list List installed commands
ccmd update <command> Update a specific command
ccmd remove <command> Remove an installed command
ccmd search <keyword> Search for commands in the registry
ccmd info <command> Show detailed command information

For detailed usage and options, see commands reference

Creating Your Own Commands

Creating a command for ccmd is simple. Your repository needs:

  1. ccmd.yaml - Command metadata (created by ccmd init)
  2. index.md - Command instructions for Claude
Quick Start
mkdir my-command && cd my-command
ccmd init  # Creates ccmd.yaml interactively
Example Structure
my-command/
├── ccmd.yaml          # Command metadata (required)
└── index.md           # Command for Claude (required)
Example ccmd.yaml
name: my-command
version: 1.0.0
description: Automates tasks in Claude Code
author: Your Name
repository: https://github.com/username/my-command
entry: index.md  # Optional, defaults to index.md

For complete guide with examples, see Creating Commands

Example Commands

Here are some commands you can install and try:

  • hello-world: Simple demo command
    ccmd install https://github.com/gifflet/hello-world
    

Documentation

Community

License

MIT License - see LICENSE for details

Directories

Path Synopsis
cmd
ccmd command
Package main demonstrates how to migrate from old error handling to the new system
Package main demonstrates how to migrate from old error handling to the new system
internal
fs
Package fs provides file system operations for ccmd
Package fs provides file system operations for ccmd
pkg
errors
Package errors provides simple error handling for CCMD.
Package errors provides simple error handling for CCMD.
logger
Package logger provides structured logging capabilities for CCMD.
Package logger provides structured logging capabilities for CCMD.
output
Package output provides colored output utilities for command-line interface.
Package output provides colored output utilities for command-line interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL