{"id":28976149,"url":"https://github.com/gifflet/ccmd","last_synced_at":"2026-04-15T13:33:52.579Z","repository":{"id":300777957,"uuid":"1003839309","full_name":"gifflet/ccmd","owner":"gifflet","description":"The package manager for Claude Code commands","archived":false,"fork":false,"pushed_at":"2026-03-18T21:57:28.000Z","size":12687,"stargazers_count":29,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-19T09:49:28.417Z","etag":null,"topics":["claude-code","cli","command-line","developer-tools","git","go","golang","package-manager"],"latest_commit_sha":null,"homepage":"http://gifflet.is-a.dev/ccmd/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gifflet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["gifflet"]}},"created_at":"2025-06-17T18:41:08.000Z","updated_at":"2026-03-18T21:57:12.000Z","dependencies_parsed_at":"2026-03-01T03:13:20.494Z","dependency_job_id":null,"html_url":"https://github.com/gifflet/ccmd","commit_stats":null,"previous_names":["gifflet/ccmd"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/gifflet/ccmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gifflet%2Fccmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gifflet%2Fccmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gifflet%2Fccmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gifflet%2Fccmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gifflet","download_url":"https://codeload.github.com/gifflet/ccmd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gifflet%2Fccmd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","cli","command-line","developer-tools","git","go","golang","package-manager"],"created_at":"2025-06-24T13:17:39.425Z","updated_at":"2026-04-15T13:33:52.568Z","avatar_url":"https://github.com/gifflet.png","language":"Go","funding_links":["https://github.com/sponsors/gifflet"],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# ccmd - Claude Command Manager\n\n[![Go Version](https://img.shields.io/badge/Go-1.23+-00ADD8.svg)](https://go.dev)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/gifflet/ccmd)](https://goreportcard.com/report/github.com/gifflet/ccmd)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=gifflet_ccmd\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=gifflet_ccmd)\n[![NPM](https://nodei.co/npm/@gifflet/ccmd.svg?style=mini)](https://www.npmjs.com/package/@gifflet/ccmd)\n[![Sponsor](https://img.shields.io/badge/sponsor-30363D?logo=GitHub-Sponsors\u0026color=5c5c5c)](https://github.com/sponsors/gifflet)\n\nSimple command-line tool for managing custom commands in Claude Code. Install and share commands from Git repositories with the ease of a package manager.\n\n\u003cimg src=\"./docs/demo.gif\" /\u003e\n\n## Why ccmd?\n\nManaging custom Claude Code commands across multiple projects can be challenging. ccmd solves this by treating commands as versioned, reusable packages:\n\n- **Keep commands out of your codebase**: Store command definitions (.md files and AI context) in separate repositories, keeping your project repositories clean\n- **Version control**: Each command has its own version, allowing you to use different versions in different projects\n- **Reusability**: Install the same command in multiple projects without duplication\n- **Easy sharing**: Share commands with your team or the community through Git repositories\n- **Simple management**: Install, update, and remove commands with familiar package manager semantics\n\nThink of ccmd as \"npm for Claude Code commands and plugins\" - centralize your AI tooling configurations and use them anywhere.\n\n## Installation\n\n### Via NPM (Recommended)\n\n```bash\nnpm install -g @gifflet/ccmd\n```\n\n### Via Go\n\n```bash\ngo install github.com/gifflet/ccmd/cmd/ccmd@latest\n```\n\n## Quick Start\n\n### 1. Initialize your project\n```bash\ncd your-project\nccmd init\n```\n\n### 2. Install a demo command\n```bash\nccmd install gifflet/hello-world\n```\n\n### 3. Use it in Claude Code\n```\n/hello-world\n```\n\nThat's it! You've just installed and used your first ccmd command.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `ccmd init` | Initialize a new command project |\n| `ccmd init --plugin` | Initialize a new plugin project |\n| `ccmd install \u003crepo\u003e` | Install a command or plugin from a Git repository (auto-detected) |\n| `ccmd install` | Install all commands and plugins from ccmd.yaml |\n| `ccmd list` | List installed commands and plugins |\n| `ccmd update \u003ccommand\u003e` | Update a specific command |\n| `ccmd remove \u003ccommand\u003e` | Remove an installed command or plugin |\n| `ccmd search \u003ckeyword\u003e` | Search for commands in the registry |\n| `ccmd info \u003ccommand\u003e` | Show detailed command information |\n\n\u003e For detailed usage and options, see [commands reference](docs/commands.md)\n\n## Creating Your Own Commands\n\nCreating a command for ccmd is simple. Your repository needs:\n\n1. **ccmd.yaml** - Command metadata (created by `ccmd init`)\n2. **index.md** - Command instructions for Claude\n\n### Quick Start\n\n```bash\nmkdir my-command \u0026\u0026 cd my-command\nccmd init  # Creates ccmd.yaml interactively\n```\n\n### Example Structure\n\n```\nmy-command/\n├── ccmd.yaml          # Command metadata (required)\n└── index.md           # Command for Claude (required)\n```\n\n### Example ccmd.yaml\n\n```yaml\nname: my-command\nversion: 1.0.0\ndescription: Automates tasks in Claude Code\nauthor: Your Name\nrepository: https://github.com/username/my-command\nentry: index.md  # Optional, defaults to index.md\n```\n\n\u003e For complete guide with examples, see [Creating Commands](docs/creating-commands.md)\n\n## Plugin Support\n\nccmd also manages Claude Code plugins — packages that extend Claude Code itself rather than defining slash commands.\n\n### Installing a Plugin\n\n```bash\nccmd install gifflet/review-plugin\n```\n\nccmd automatically detects whether a repository is a plugin or a command by reading the `type` field in its `ccmd.yaml`. No special flags are needed.\n\n### Creating a Plugin\n\n```bash\nmkdir my-plugin \u0026\u0026 cd my-plugin\nccmd init --plugin\n```\n\n### Example ccmd.yaml for a Plugin\n\n```yaml\ntype: plugin\nname: my-plugin\nversion: 1.0.0\ndescription: Extends Claude Code with custom capabilities\nauthor: Your Name\nrepository: https://github.com/username/my-plugin\n```\n\n\u003e For complete guide, see [Creating Plugins](docs/creating-commands.md)\n\n## Example Commands\n\nHere are some commands you can install and try:\n\n- **hello-world**: Simple demo command\n  ```bash\n  ccmd install https://github.com/gifflet/hello-world\n  ```\n\n## Example Plugins\n\nHere are some plugins you can install and try:\n\n- **review-plugin**: AI-powered code review plugin for Claude Code\n  ```bash\n  ccmd install gifflet/review-plugin\n  ```\n\n## Documentation\n\n- **[Full Documentation](docs/)** - Complete guides and references\n- **[Command Creation Guide](docs/creating-commands.md)** - Create your own commands\n- **[Plugin Creation Guide](examples/creating_plugins.md)** - Create your own plugins\n\n## Community\n\n- **Issues**: [GitHub Issues](https://github.com/gifflet/ccmd/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/gifflet/ccmd/discussions)\n- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgifflet%2Fccmd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgifflet%2Fccmd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgifflet%2Fccmd/lists"}