Plugin marketplace for the Config Manager project — workflow skills, bash helper scripts, and custom agents for Copilot CLI and Claude Code.
Built on standard CLI agent platform capabilities — skills, agents, and bash scripts. No AVD or enterprise dependencies.
copilot plugin marketplace add msutara/cm-marketplace
copilot plugin install cm-dev-tools@cm-marketplaceclaude plugin marketplace add msutara/cm-marketplace
claude plugin install cm-dev-tools@cm-marketplace| Plugin | Description | Skills | Scripts | Agents |
|---|---|---|---|---|
cm-dev-tools |
Full development toolkit for Config Manager | 7 | 7 | 2 |
| Skill | Trigger | What It Does |
|---|---|---|
| scaffold-plugin | "create plugin", "new plugin" | Scaffolds a new CM plugin repo with all boilerplate |
| cm-fleet-review | "fleet review", "run fleet" | 5–11 agent multi-model code review with mandatory checklists |
| cm-pr-lifecycle | "create pr", "pr workflow" | Full PR cycle: build → fleet → fix → commit → push → PR → merge |
| cm-release | "release", "tag repos" | Multi-wave cross-repo release with go.mod sync and rich notes |
| cm-parity-check | "parity check", "check parity" | TUI ↔ Web feature and security parity verification |
| cm-pr-comments | "triage comments", "pr feedback" | PR comment triage, risk assessment, and thread resolution |
| cm-docs-sync | "sync docs", "docs audit" | Cross-repo documentation, config, and skill template consistency audit |
Helper scripts that skills invoke directly — no intermediary server needed.
Scripts read project context (repos, owner, board IDs) from
$CM_REPO_BASE/.cm/project.json via a shared library.
All scripts (except init-project.sh) support --json for structured output.
| Script | Usage |
|---|---|
init-project.sh |
Generate the project manifest interactively |
validate-repo.sh |
Build + test + lint a single repo |
validate-all.sh |
Validate all repos from manifest |
repo-status.sh |
Git branch, clean state, last tag for all repos |
tag-all.sh |
Tag all repos in dependency order from manifest |
sync-deps.sh |
Bump go.mod dependency across downstream repos |
project-board.sh |
Add items and update status on GitHub project board |
Stdio MCP server that wraps the bash scripts above for structured AI agent
discovery. Auto-registered via .mcp.json in the plugin root.
| MCP Tool | Description |
|---|---|
cm_repo_status |
Git branch, clean state, and last tag |
cm_validate_repo |
Build + test + lint a single repo |
cm_validate_all |
Validate all manifest repos |
cm_sync_deps |
Bump a go.mod dependency across repos |
cm_tag_repo |
Tag a single repo (not yet implemented — fails fast) |
cm_tag_all |
Tag all repos in dependency order |
cm_project_add |
Add an item to the project board |
cm_project_status |
Update item status on the project board |
Source files are in plugins/cm-dev-tools/agents/. To install, copy to ~/.copilot/agents/:
cp plugins/cm-dev-tools/agents/*.agent.md ~/.copilot/agents/| Agent | Purpose |
|---|---|
| CMDeveloper | Full-stack CM development with embedded project knowledge |
| CMReviewer | Code review specialist with fleet config and false positive suppression |
Scripts and skills read project context from $CM_REPO_BASE/.cm/project.json.
This file defines repos, owner, dependency order, and project board IDs.
Generate it interactively:
./plugins/cm-dev-tools/scripts/init-project.shOr copy the template and edit:
mkdir -p "${CM_REPO_BASE:-$HOME/repo}/.cm"
cp docs/project.example.json "${CM_REPO_BASE:-$HOME/repo}/.cm/project.json"
# Edit with your valuesSee docs/project.example.json for the full schema.
Source of truth: $CM_REPO_BASE/.cm/project.json. Current repos:
| Repo | Role |
|---|---|
config-manager-core |
Central service, plugin registry, scheduler, API |
cm-plugin-network |
Network interface configuration |
cm-plugin-update |
OS/package update management |
config-manager-tui |
Terminal UI (Bubble Tea) |
config-manager-web |
Web UI (htmx + Go templates) |
cm-marketplace/
├── .claude-plugin/
│ └── marketplace.json # Marketplace manifest
├── .github/
│ ├── CODEOWNERS # Default reviewers
│ ├── copilot-instructions.md # AI agent context for this repo
│ ├── dependabot.yml # Automated dependency updates
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md # Bug report template
│ │ ├── config.yml # Issue template chooser config
│ │ └── feature_request.md # Feature request template
│ ├── pull_request_template.md # PR checklist
│ └── workflows/
│ └── ci.yml # CI: markdownlint + shellcheck + biome
├── plugins/
│ └── cm-dev-tools/ # Plugin: CM development toolkit
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── README.md # Plugin documentation
│ ├── agents/
│ │ ├── CMDeveloper.agent.md # Full-stack CM dev agent
│ │ └── CMReviewer.agent.md # Code review fleet agent
│ ├── skills/
│ │ ├── README.md # Skill index with decision table
│ │ ├── scaffold-plugin/
│ │ │ └── SKILL.md
│ │ ├── cm-fleet-review/
│ │ │ └── SKILL.md
│ │ ├── cm-pr-lifecycle/
│ │ │ └── SKILL.md
│ │ ├── cm-release/
│ │ │ └── SKILL.md
│ │ ├── cm-parity-check/
│ │ │ └── SKILL.md
│ │ ├── cm-pr-comments/
│ │ │ └── SKILL.md
│ │ └── cm-docs-sync/
│ │ └── SKILL.md
│ ├── scripts/
│ │ ├── lib/
│ │ │ └── load-project.sh # Shared: reads project.json manifest
│ │ ├── init-project.sh # Generate project.json interactively
│ │ ├── validate-repo.sh # Build + test + lint one repo
│ │ ├── validate-all.sh # Validate all repos from manifest
│ │ ├── repo-status.sh # Git status across repos
│ │ ├── tag-all.sh # Tag repos in dependency order
│ │ ├── sync-deps.sh # Bump go.mod dependencies
│ │ └── project-board.sh # GitHub project board automation
│ ├── tools/
│ │ ├── package.json # MCP server runtime deps (auto-installed on first run)
│ │ ├── ensure-prerequisites.mjs # Preflight CLI tool checker
│ │ ├── cm-repos-server.mjs # MCP server (8 tools)
│ │ └── cm-repos-launcher.mjs # MCP bootstrap + auto-install launcher
│ └── .mcp.json # MCP server auto-registration
├── docs/
│ └── project.example.json # Template for project manifest
├── LICENSE # GPL-3.0
├── README.md # This file
├── RELEASES.md # Version history
├── CONTRIBUTING.md # How to add plugins/skills
├── package.json # Dev dependencies (markdownlint, Biome)
├── package-lock.json # Locked dependency versions
├── .editorconfig # Editor formatting rules
├── .gitattributes # LF enforcement for *.sh
├── .gitignore # Ignored files
└── .markdownlint.json # Markdownlint configuration
- Lint —
npm run lint:all(markdownlint + Biome JS must pass) - Fix —
npm run lint:fix/npm run lint:js:fixfor auto-fixable issues - Verify JSON — marketplace.json and plugin.json must be valid
rm -rf ~/.copilot/marketplace-cache/msutara-cm-marketplace
copilot plugin marketplace add msutara/cm-marketplace
copilot plugin update cm-dev-tools@cm-marketplacerm -rf ~/.claude/marketplace-cache/msutara-cm-marketplace
claude plugin marketplace add msutara/cm-marketplace
claude plugin update cm-dev-tools@cm-marketplaceIf update doesn't detect new version, do a clean reinstall:
# Replace 'copilot' with 'claude' for Claude Code
copilot plugin uninstall cm-dev-tools@cm-marketplace
copilot plugin install cm-dev-tools@cm-marketplace- GitHub Copilot CLI or Claude Code — either AI platform works (not checked by the prereq tool)
- git 2.30+ — for version control and PR workflows
- Node.js 20+ — for markdownlint-cli2 and Biome linting
- bash 4+ — for helper scripts (native on Linux,
brew install bashon macOS, Git Bash on Windows) - gh CLI — for PR and project board scripts
- jq — for reading project manifest and JSON processing
- shellcheck — for CI shell linting (on Windows, install via Scoop)
Run node plugins/cm-dev-tools/tools/ensure-prerequisites.mjs to verify the developer tools above.
Add --install to auto-install missing tools.
- Go 1.24+ — build/test/lint operations
- golangci-lint v2 — Go linting