{"id":48044768,"url":"https://github.com/msutara/cm-marketplace","last_synced_at":"2026-04-04T14:17:04.585Z","repository":{"id":345846891,"uuid":"1187604406","full_name":"msutara/cm-marketplace","owner":"msutara","description":"Plugin marketplace for Config Manager — workflow skills, bash helper scripts, and custom agents for Copilot CLI and Claude Code","archived":false,"fork":false,"pushed_at":"2026-03-21T15:41:45.000Z","size":118,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-21T15:48:27.597Z","etag":null,"topics":["bash","cli-agents","config-manager","developer-tools","markdown","marketplace","skills"],"latest_commit_sha":null,"homepage":"https://github.com/msutara/cm-marketplace#readme","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msutara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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}},"created_at":"2026-03-20T23:21:53.000Z","updated_at":"2026-03-21T13:43:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/msutara/cm-marketplace","commit_stats":null,"previous_names":["msutara/cm-marketplace"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/msutara/cm-marketplace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msutara%2Fcm-marketplace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msutara%2Fcm-marketplace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msutara%2Fcm-marketplace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msutara%2Fcm-marketplace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msutara","download_url":"https://codeload.github.com/msutara/cm-marketplace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msutara%2Fcm-marketplace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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":["bash","cli-agents","config-manager","developer-tools","markdown","marketplace","skills"],"created_at":"2026-04-04T14:17:03.756Z","updated_at":"2026-04-04T14:17:04.553Z","avatar_url":"https://github.com/msutara.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CM Marketplace\n\nPlugin marketplace for the **Config Manager** project — workflow skills,\nbash helper scripts, and custom agents for Copilot CLI and Claude Code.\n\nBuilt on standard **CLI agent platform** capabilities — skills, agents,\nand bash scripts. No AVD or enterprise dependencies.\n\n## Quick Start\n\n### GitHub Copilot CLI\n\n```bash\ncopilot plugin marketplace add msutara/cm-marketplace\ncopilot plugin install cm-dev-tools@cm-marketplace\n```\n\n### Claude Code\n\n```bash\nclaude plugin marketplace add msutara/cm-marketplace\nclaude plugin install cm-dev-tools@cm-marketplace\n```\n\n## Available Plugins\n\n| Plugin | Description | Skills | Scripts | Agents |\n| --- | --- | --- | --- | --- |\n| [`cm-dev-tools`](plugins/cm-dev-tools/) | Full development toolkit for Config Manager | 7 | 7 | 2 |\n\n## What You Get\n\n### Skills (7)\n\n| Skill | Trigger | What It Does |\n| --- | --- | --- |\n| **scaffold-plugin** | \"create plugin\", \"new plugin\" | Scaffolds a new CM plugin repo with all boilerplate |\n| **cm-fleet-review** | \"fleet review\", \"run fleet\" | 5–11 agent multi-model code review with mandatory checklists |\n| **cm-pr-lifecycle** | \"create pr\", \"pr workflow\" | Full PR cycle: build → fleet → fix → commit → push → PR → merge |\n| **cm-release** | \"release\", \"tag repos\" | Multi-wave cross-repo release with go.mod sync and rich notes |\n| **cm-parity-check** | \"parity check\", \"check parity\" | TUI ↔ Web feature and security parity verification |\n| **cm-pr-comments** | \"triage comments\", \"pr feedback\" | PR comment triage, risk assessment, and thread resolution |\n| **cm-docs-sync** | \"sync docs\", \"docs audit\" | Cross-repo documentation, config, and skill template consistency audit |\n\n### Bash Scripts (7)\n\nHelper scripts that skills invoke directly — no intermediary server needed.\nScripts read project context (repos, owner, board IDs) from\n`$CM_REPO_BASE/.cm/project.json` via a shared library.\nAll scripts (except init-project.sh) support `--json` for structured output.\n\n| Script | Usage |\n| --- | --- |\n| `init-project.sh` | Generate the project manifest interactively |\n| `validate-repo.sh` | Build + test + lint a single repo |\n| `validate-all.sh` | Validate all repos from manifest |\n| `repo-status.sh` | Git branch, clean state, last tag for all repos |\n| `tag-all.sh` | Tag all repos in dependency order from manifest |\n| `sync-deps.sh` | Bump go.mod dependency across downstream repos |\n| `project-board.sh` | Add items and update status on GitHub project board |\n\n### MCP Server (`cm-repos`)\n\nStdio MCP server that wraps the bash scripts above for structured AI agent\ndiscovery. Auto-registered via `.mcp.json` in the plugin root.\n\n| MCP Tool | Description |\n| --- | --- |\n| `cm_repo_status` | Git branch, clean state, and last tag |\n| `cm_validate_repo` | Build + test + lint a single repo |\n| `cm_validate_all` | Validate all manifest repos |\n| `cm_sync_deps` | Bump a go.mod dependency across repos |\n| `cm_tag_repo` | Tag a single repo (not yet implemented — fails fast) |\n| `cm_tag_all` | Tag all repos in dependency order |\n| `cm_project_add` | Add an item to the project board |\n| `cm_project_status` | Update item status on the project board |\n\n### Custom Agents (2)\n\nSource files are in `plugins/cm-dev-tools/agents/`. To install, copy to `~/.copilot/agents/`:\n\n```bash\ncp plugins/cm-dev-tools/agents/*.agent.md ~/.copilot/agents/\n```\n\n| Agent | Purpose |\n| --- | --- |\n| **CMDeveloper** | Full-stack CM development with embedded project knowledge |\n| **CMReviewer** | Code review specialist with fleet config and false positive suppression |\n\n## Project Manifest\n\nScripts and skills read project context from `$CM_REPO_BASE/.cm/project.json`.\nThis file defines repos, owner, dependency order, and project board IDs.\n\nGenerate it interactively:\n\n```bash\n./plugins/cm-dev-tools/scripts/init-project.sh\n```\n\nOr copy the template and edit:\n\n```bash\nmkdir -p \"${CM_REPO_BASE:-$HOME/repo}/.cm\"\ncp docs/project.example.json \"${CM_REPO_BASE:-$HOME/repo}/.cm/project.json\"\n# Edit with your values\n```\n\nSee [`docs/project.example.json`](docs/project.example.json) for the full schema.\n\n## Repos Managed\n\nSource of truth: `$CM_REPO_BASE/.cm/project.json`. Current repos:\n\n| Repo | Role |\n| --- | --- |\n| [`config-manager-core`](https://github.com/msutara/config-manager-core) | Central service, plugin registry, scheduler, API |\n| [`cm-plugin-network`](https://github.com/msutara/cm-plugin-network) | Network interface configuration |\n| [`cm-plugin-update`](https://github.com/msutara/cm-plugin-update) | OS/package update management |\n| [`config-manager-tui`](https://github.com/msutara/config-manager-tui) | Terminal UI (Bubble Tea) |\n| [`config-manager-web`](https://github.com/msutara/config-manager-web) | Web UI (htmx + Go templates) |\n\n## Repository Structure\n\n```text\ncm-marketplace/\n├── .claude-plugin/\n│   └── marketplace.json              # Marketplace manifest\n├── .github/\n│   ├── CODEOWNERS                    # Default reviewers\n│   ├── copilot-instructions.md       # AI agent context for this repo\n│   ├── dependabot.yml                # Automated dependency updates\n│   ├── ISSUE_TEMPLATE/\n│   │   ├── bug_report.md             # Bug report template\n│   │   ├── config.yml                # Issue template chooser config\n│   │   └── feature_request.md        # Feature request template\n│   ├── pull_request_template.md      # PR checklist\n│   └── workflows/\n│       └── ci.yml                    # CI: markdownlint + shellcheck + biome\n├── plugins/\n│   └── cm-dev-tools/                 # Plugin: CM development toolkit\n│       ├── .claude-plugin/\n│       │   └── plugin.json           # Plugin manifest\n│       ├── README.md                 # Plugin documentation\n│       ├── agents/\n│       │   ├── CMDeveloper.agent.md  # Full-stack CM dev agent\n│       │   └── CMReviewer.agent.md   # Code review fleet agent\n│       ├── skills/\n│       │   ├── README.md             # Skill index with decision table\n│       │   ├── scaffold-plugin/\n│       │   │   └── SKILL.md\n│       │   ├── cm-fleet-review/\n│       │   │   └── SKILL.md\n│       │   ├── cm-pr-lifecycle/\n│       │   │   └── SKILL.md\n│       │   ├── cm-release/\n│       │   │   └── SKILL.md\n│       │   ├── cm-parity-check/\n│       │   │   └── SKILL.md\n│       │   ├── cm-pr-comments/\n│       │   │   └── SKILL.md\n│       │   └── cm-docs-sync/\n│       │       └── SKILL.md\n│       ├── scripts/\n│       │   ├── lib/\n│       │   │   └── load-project.sh     # Shared: reads project.json manifest\n│       │   ├── init-project.sh         # Generate project.json interactively\n│       │   ├── validate-repo.sh        # Build + test + lint one repo\n│       │   ├── validate-all.sh         # Validate all repos from manifest\n│       │   ├── repo-status.sh          # Git status across repos\n│       │   ├── tag-all.sh              # Tag repos in dependency order\n│       │   ├── sync-deps.sh            # Bump go.mod dependencies\n│       │   └── project-board.sh        # GitHub project board automation\n│       ├── tools/\n│       │   ├── package.json            # MCP server runtime deps (auto-installed on first run)\n│       │   ├── ensure-prerequisites.mjs # Preflight CLI tool checker\n│       │   ├── cm-repos-server.mjs     # MCP server (8 tools)\n│       │   └── cm-repos-launcher.mjs   # MCP bootstrap + auto-install launcher\n│       └── .mcp.json                   # MCP server auto-registration\n├── docs/\n│   └── project.example.json           # Template for project manifest\n├── LICENSE                           # GPL-3.0\n├── README.md                         # This file\n├── RELEASES.md                       # Version history\n├── CONTRIBUTING.md                   # How to add plugins/skills\n├── package.json                      # Dev dependencies (markdownlint, Biome)\n├── package-lock.json                 # Locked dependency versions\n├── .editorconfig                     # Editor formatting rules\n├── .gitattributes                    # LF enforcement for *.sh\n├── .gitignore                        # Ignored files\n└── .markdownlint.json                # Markdownlint configuration\n```\n\n## Before Committing\n\n1. **Lint** — `npm run lint:all` (markdownlint + Biome JS must pass)\n2. **Fix** — `npm run lint:fix` / `npm run lint:js:fix` for auto-fixable issues\n3. **Verify JSON** — marketplace.json and plugin.json must be valid\n\n## Updating the Plugin\n\n### GitHub Copilot CLI\n\n```bash\nrm -rf ~/.copilot/marketplace-cache/msutara-cm-marketplace\ncopilot plugin marketplace add msutara/cm-marketplace\ncopilot plugin update cm-dev-tools@cm-marketplace\n```\n\n### Claude Code\n\n```bash\nrm -rf ~/.claude/marketplace-cache/msutara-cm-marketplace\nclaude plugin marketplace add msutara/cm-marketplace\nclaude plugin update cm-dev-tools@cm-marketplace\n```\n\nIf update doesn't detect new version, do a clean reinstall:\n\n```bash\n# Replace 'copilot' with 'claude' for Claude Code\ncopilot plugin uninstall cm-dev-tools@cm-marketplace\ncopilot plugin install cm-dev-tools@cm-marketplace\n```\n\n## Prerequisites\n\n### For this marketplace repo\n\n- **GitHub Copilot CLI** or **Claude Code** — either AI platform works (not checked by the prereq tool)\n- **git 2.30+** — for version control and PR workflows\n- **Node.js 20+** — for markdownlint-cli2 and Biome linting\n- **bash 4+** — for helper scripts (native on Linux, `brew install bash` on macOS, Git Bash on Windows)\n- **gh CLI** — for PR and project board scripts\n- **jq** — for reading project manifest and JSON processing\n- **shellcheck** — for CI shell linting (on Windows, install via [Scoop](https://scoop.sh))\n\nRun `node plugins/cm-dev-tools/tools/ensure-prerequisites.mjs` to verify the developer tools above.\nAdd `--install` to auto-install missing tools.\n\n### For target CM repos (used by skills at runtime)\n\n- **Go 1.24+** — build/test/lint operations\n- **golangci-lint v2** — Go linting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsutara%2Fcm-marketplace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsutara%2Fcm-marketplace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsutara%2Fcm-marketplace/lists"}