Skip to main content

Rust-first GitHub Copilot asset manager with a thin Python wrapper

Project description

Copilot Plugin Manager (cpm)

CI PyPI version

Copilot Plugin Manager or just cpm is a package manager for GitHub Copilot assets. It helps you define, install, update, inspect, and reset plugins, skills, agents, MCPs, hooks, workflows, and instructions with a reproducible manifest and lockfile workflow.

The package is published as copilot-plugin-manager, but the command you run is cpm.

Why use cpm?

  • keep your Copilot setup in cpm.toml
  • lock resolved revisions in cpm.lock
  • install assets into repository-local or global Copilot locations
  • manage assets from marketplace specs, GitHub sources, and local paths
  • inspect drift with overview, show, tree, doctor, and status

Install

For one-off usage:

uvx --from copilot-plugin-manager cpm --help

or:

uvx copilot-plugin-manager --help

For a persistent install:

uv tool install copilot-plugin-manager

Or with pip:

pip install copilot-plugin-manager

Quick start

If you installed cpm, use cpm .... If you prefer not to install it globally, replace cpm with uvx --from copilot-plugin-manager cpm in the examples below.

Initialize a new project:

cpm init

Add a plugin and a skill:

cpm add spark@copilot-plugins --plugin
cpm add https://github.com/anthropics/skills/tree/main/skills/pdf --skill

Apply the lockfile to disk:

cpm sync

Inspect what is installed:

cpm list
cpm status

Common examples

Install a plugin from a Copilot marketplace registry:

cpm add spark@copilot-plugins --plugin

Registry plugins delegated to copilot plugin install are effectively global installs. Native plugin bundles added from GitHub tree URLs or local paths still honor local vs global scope.

Install a plugin bundle from a GitHub tree URL:

cpm add https://github.com/github/awesome-copilot/tree/main/plugins/testing-automation --plugin

Install a skill from GitHub:

cpm add https://github.com/anthropics/skills/tree/main/skills/pdf --skill

Inspect one asset in detail:

cpm show testing-automation --plugin

See the consolidated view of manifest, lockfile, and installed state:

cpm overview

Core commands

Command What it does
cpm init Create a new cpm.toml and cpm.lock
cpm add Add an asset to the manifest and resolve it
cpm sync Install everything recorded in cpm.lock
cpm update Update one or all managed assets
cpm remove Remove a managed asset
cpm lock Resolve without installing
cpm reset Remove managed state and/or installed assets
cpm overview Show the combined manifest, lockfile, and disk view
cpm list List installed assets
cpm show Show full details for a single asset
cpm tree Show the dependency tree
cpm doctor Verify installed files match the lockfile
cpm status Show drift between manifest, lockfile, and disk

How cpm works

  • cpm.toml records the assets you want
  • cpm.lock records the resolved versions and hashes
  • cpm sync materializes those assets into .github/ for local scope or ~/.copilot/ for global scope
  • concrete GitHub file and tree sources are fetched directly by cpm
  • delegated Copilot plugin installs are used where the Copilot CLI is the installer of record

Documentation

License

See LICENSE-MIT and LICENSE-APACHE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

copilot_plugin_manager-0.2.1.tar.gz (200.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

copilot_plugin_manager-0.2.1-py3-none-win_amd64.whl (8.2 MB view details)

Uploaded Python 3Windows x86-64

copilot_plugin_manager-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

copilot_plugin_manager-0.2.1-py3-none-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file copilot_plugin_manager-0.2.1.tar.gz.

File metadata

  • Download URL: copilot_plugin_manager-0.2.1.tar.gz
  • Upload date:
  • Size: 200.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for copilot_plugin_manager-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fd6fca60aadbd190de5f85fee534eaa65766757a599a446472334d4f88193026
MD5 69b7a25bc04d5bd1e02b4c4522244ae3
BLAKE2b-256 a118e522612dbc907e33478301436316ca338cfb79e9f4135069df36d4c26a3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for copilot_plugin_manager-0.2.1.tar.gz:

Publisher: cicd.yml on Anselmoo/copilot-plugin-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file copilot_plugin_manager-0.2.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for copilot_plugin_manager-0.2.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dab1409d7ddf061551499235cd3bacaa14a5f07075f32263f791bf3c43db79c2
MD5 bc90e3e5517bf8c18df1a61f5c274c68
BLAKE2b-256 57c9910b1042b68070bf70b5a7c802aafd17d3d4822189bf704be88dd6d551e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for copilot_plugin_manager-0.2.1-py3-none-win_amd64.whl:

Publisher: cicd.yml on Anselmoo/copilot-plugin-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file copilot_plugin_manager-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for copilot_plugin_manager-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81f772b4620e3c5f380d88a59fa39cf071459f243259989288584b7e09c5e18b
MD5 a1e0d885ef361f784be1753b7c5778c9
BLAKE2b-256 0cf9c596e4028c18fc63d769ef9d8add807c3b35ad4325e67724532c58f682c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for copilot_plugin_manager-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: cicd.yml on Anselmoo/copilot-plugin-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file copilot_plugin_manager-0.2.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for copilot_plugin_manager-0.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dab0a20507f1f51ce6eab03fb505de4d348d5c5d7de9e468278abb7587bbdaa
MD5 22c988087986d95286ee95dc0ae7b7c7
BLAKE2b-256 cbae53c55ce5cebb7158e7eaf31f7472ca5a71d8802e3ba67ab194ae3de8c09c

See more details on using hashes here.

Provenance

The following attestation bundles were made for copilot_plugin_manager-0.2.1-py3-none-macosx_11_0_arm64.whl:

Publisher: cicd.yml on Anselmoo/copilot-plugin-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page